Hi Leonid, Waldemar,
2016-01-17 18:41 GMT+02:00 Leonid Lisovskiy lly.dev@gmail.com:
You are "running on a razor's edge". 5.2 is not so stable, as most people want to have.
Yes, I'm more or less aware of that, however up till now I haven't encountered any gcc-specific bugs. If I do have serious issues, I can safely roll back to 4.9.x, since I used '--with-default-libstdcxx-abi=gcc4-compatible' gcc configure option, so there is no need to recomiple entire feeds if I do this.
Anyway, please try to disable gcc optimizations.
I enabled debug symbols, switched to 'fastdebug' debug level, and now I have 'debuginfo' files. I also upgraded to 8u76-b02 and used Waldemar's combined patch. For some reason, gdb backtrace now hangs at certain stage (see gdb2.log), but at least we have the culprit line (openjdk/jdk/src/solaris/native/java/net/net_util_md.c:717):
672:static void initLocalIfs () { 673: FILE *f; 674: unsigned char staddr [16]; 675: char ifname [33]; 676: struct localinterface *lif=0; 677: int index, x1, x2, x3; 678: unsigned int u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,ua,ub,uc,ud,ue,uf; 679: 680: if ((f = fopen("/proc/net/if_inet6", "r")) == NULL) { 681: return ; 682: } 683: while (fscanf (f, "%2x%2x%2x%2x%2x%2x%2x%2x%2x%2x%2x%2x%2x%2x%2x%2x " 684: "%d %x %x %x %32s",&u0,&u1,&u2,&u3,&u4,&u5,&u6,&u7, 685: &u8,&u9,&ua,&ub,&uc,&ud,&ue,&uf, 686: &index, &x1, &x2, &x3, ifname) == 21) { 687: staddr[0] = (unsigned char)u0; 688: staddr[1] = (unsigned char)u1; 689: staddr[2] = (unsigned char)u2; 690: staddr[3] = (unsigned char)u3; 691: staddr[4] = (unsigned char)u4; 692: staddr[5] = (unsigned char)u5; 693: staddr[6] = (unsigned char)u6; 694: staddr[7] = (unsigned char)u7; 695: staddr[8] = (unsigned char)u8; 696: staddr[9] = (unsigned char)u9; 697: staddr[10] = (unsigned char)ua; 698: staddr[11] = (unsigned char)ub; 699: staddr[12] = (unsigned char)uc; 700: staddr[13] = (unsigned char)ud; 701: staddr[14] = (unsigned char)ue; 702: staddr[15] = (unsigned char)uf; 703: nifs ++; 704: if (nifs > localifsSize) { 705: localifs = (struct localinterface *) realloc ( 706: localifs, sizeof (struct localinterface)* (localifsSize+5)); 707: if (localifs == 0) { 708: nifs = 0; 709: fclose (f); 710: return; 711: } 712: lif = localifs + localifsSize; 713: localifsSize += 5; 714: } else { 715: lif ++; 716: } 717: memcpy (lif->localaddr, staddr, 16); 718: lif->index = index; 719: } 720: fclose (f); 721:}
2016-01-17 15:55 GMT+02:00 Waldemar Brodkorb wbx@uclibc-ng.org:
I am still missing your info, when does the failure occurs. On startup? Can you also put up a complete strace log from the ARM soft-float system. So I can compare.
And may be you try with just my OpenJDK8 patch and verify, that it is not another change in your used patches....
The failure occurs some while after startup. I tried your patch, it looks to make no difference compared to 'my' patches. See complete strace log attached.
Best regards, Alex