[Bug go/59433] [4.9 regression] Many 64-bit Go tests SEGV on Solaris

ro at CeBiTec dot Uni-Bielefeld.DE gcc-bugzilla@gcc.gnu.org
Thu Jan 9 14:30:00 GMT 2014


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59433

--- Comment #5 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
It seems this is a 32-bit issue: the failure is very fragile to
reproduce: I easily get it if running manually or under gdb, but it
vanishes if run under truss.  Adding assertions in runtime_netpoll to
check how prfds turns NULL, I find that runtime_SysAlloc indeed returns
NULL, but similar assertions there don't show that.

Investigating the SEGV with pmap, I find this:

14198:  /var/gcc/regression/trunk/11-gcc/build/i386-pc-solaris2.11/libgo/log-s
08050000      48K r-x-- 
/var/gcc/regression/trunk/11-gcc/build/i386-pc-solaris2.11/libgo/log-syslog-check/test/a.out
0806B000      12K rwx-- 
/var/gcc/regression/trunk/11-gcc/build/i386-pc-solaris2.11/libgo/log-syslog-check/test/a.out
0806E000       8K rwx--    [ heap ]
08080000       4K rw---    [ anon ]
08090000       4K rw---    [ anon ]

and many many more anon mappings, too many for the 32-bit address space,
it seems.  Perhaps a missing munmap somewhere?

    Rainer



More information about the Gcc-bugs mailing list