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



--- Comment #3 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot 
Uni-Bielefeld.DE> 2013-02-21 16:23:52 UTC ---

> --- Comment #2 from Ian Lance Taylor <ian at airs dot com> 2013-02-20 
> 19:46:42 UTC ---

> Should be fixed now, I hope.



Unfortunately, this is not enough.  I had the equivalent of your patch

in my tree when I noticed that I got different results for running the

tests via gotest and manually.  This got rid of the runtime_lfstackpush

error, but the failures remain.



panic: runtime error: invalid memory address or nil pointer dereference

[recovered]

        panic: runtime error: invalid memory address or nil pointer dereference

[signal 0xb code=0x1 addr=0x105]



[...]



Running the os test under mdb reveals (in the child process):



mdb: fork1 detected: follow (p)arent or (c)hild? c

mdb: target forked child process 24260 (debugger following child)

mdb: stop on SIGSEGV

mdb: target stopped at:

libc.so.1`close+0x44:   addl   $0x1,(%rdx)

> $c

libc.so.1`close+0x44()

libgo.so.3.0.1`syscall.raw_fcntl.constprop.124+0x13()

libgo.so.3.0.1`syscall.forkExec+0x940()

libgo.so.3.0.1`syscall.StartProcess+0x2f()

os.StartProcess+0x20d()

os_test.exec+0x179()

os_test.TestStartProcess+0x101()

libgo.so.3.0.1`testing.$thunk10+0xd9()

libgo.so.3.0.1`kickoff+0x2e()

libc.so.1`resumecontext()

libgo.so.3.0.1`testing.RunTests+0x41e()

libgo.so.3.0.1`testing.Main+0x3ee()

main.main+0x7d()

libgo.so.3.0.1`runtime_main+0x6a()

libgo.so.3.0.1`kickoff+0x2e()

libc.so.1`resumecontext()

main+0x40()

_start+0x6c()



Under truss, I see this:



24271:  fcntl(4, F_DUP2FD, 0x00000001)                  = 1

24271:      Incurred fault #6, FLTBOUNDS  %pc = 0xFFFFFD7FEE350718

24271:        siginfo: SIGSEGV SEGV_MAPERR addr=0xC20F9CFEA9

24271:      Received signal #11, SIGSEGV [caught]

24271:        siginfo: SIGSEGV SEGV_MAPERR addr=0xC20F9CFEA9



I couldn't yet associate this SEGV with the exact source code location.

At least the net/http failure seems related: the test dies with SIGILL

in fcntl:



Program received signal SIGILL, Illegal instruction.

[Switching to Thread 15 (LWP 15)]

0xfffffd7fee350415 in fcntl () from /lib/64/libc.so.1

(gdb) where

#0  0xfffffd7fee350415 in fcntl () from /lib/64/libc.so.1

#1  0xfffffd7feeab085a in syscall.fcntl (fd=fd@entry=38, cmd=cmd@entry=2, 

    arg=arg@entry=1) at libcalls.go:416



  fcntl (38, F_SETFD, FD_CLOEXEC);



#2  0xfffffd7feeabeb4e in syscall.CloseOnExec (fd=fd@entry=38)

    at /vol/gcc/src/hg/trunk/local/libgo/go/syscall/exec_unix.go:130

#3  0xfffffd7feea7c984 in net.sysSocket (p=<optimized out>, t=2, f=2)

    at /vol/gcc/src/hg/trunk/local/libgo/go/net/sys_cloexec.go:21

#4  net.socket (net=..., f=f@entry=2, t=t@entry=2, p=p@entry=0, 

    ipv6only=ipv6only@entry=false, ulsa=ulsa@entry=..., ursa=ursa@entry=..., 

    deadline=..., toAddr=toAddr@entry=0xfffffd7feea7a920 <net.sockaddrToTCP>)

    at /vol/gcc/src/hg/trunk/local/libgo/go/net/sock_posix.go:20

#5  0xfffffd7feea7d0ca in net.internetSocket (net=..., laddr=..., raddr=..., 

    deadline=..., sotype=sotype@entry=2, proto=proto@entry=0, mode=..., 

    toAddr=toAddr@entry=0xfffffd7feea7a920 <net.sockaddrToTCP>)

    at /vol/gcc/src/hg/trunk/local/libgo/go/net/ipsock_posix.go:146

#6  0xfffffd7feea7d28a in net.dialTCP (net=..., laddr=laddr@entry=0x0, 

    raddr=raddr@entry=0xc2061630f0, deadline=...)

    at /vol/gcc/src/hg/trunk/local/libgo/go/net/tcpsock_posix.go:153

#7  0xfffffd7feea7e051 in net.dialAddr (net=..., addr=..., addri=..., 

    deadline=...) at /vol/gcc/src/hg/trunk/local/libgo/go/net/dial.go:99

#8  0xfffffd7feea82d52 in net.Dial (net=..., addr=...)

    at /vol/gcc/src/hg/trunk/local/libgo/go/net/dial.go:93

#9  0x000000000044e3f1 in net_http.dial.pN18_net_http.Transport (

    t=t@entry=0xc204c78540, network=..., addr=...) at transport.go:314

#10 0x000000000044e49c in net_http.getConn.pN18_net_http.Transport (

    t=t@entry=0xc204c78540, cm=0xc206163090) at transport.go:326

#11 0x000000000044d944 in net_http.RoundTrip.pN18_net_http.Transport (

    t=0xc204c78540, req=0xc206165000) at transport.go:160

#12 0x000000000043dd7c in http.send (t=..., req=0xc206165000) at client.go:162

#13 net_http.send.pN15_net_http.Client (c=c@entry=0xc2052a1f60, 

    req=req@entry=0xc206165000) at client.go:96

#14 0x000000000043e262 in net_http.doFollowingRedirects.pN15_net_http.Client (

    c=c@entry=0xc2052a1f60, ireq=0xc206165000, 

    shouldRedirect=shouldRedirect@entry=0x43e080 <http.shouldRedirectGet>)

    at client.go:278

#15 0x000000000043e181 in net_http.Get.pN15_net_http.Client (c=0xc2052a1f60, 

    url=...) at client.go:232

#16 0x000000000047fead in http_test.$nested112 () at transport_test.go:940

#17 0xfffffd7feea3fd2e in kickoff ()

    at /vol/gcc/src/hg/trunk/local/libgo/runtime/proc.c:369

#18 0xfffffd7fee2d1460 in ?? () from /lib/64/libc.so.1

#19 0x0000000000000001 in ?? ()

#20 0x0000000000000000 in ?? ()



    Rainer

Reply via email to