[Bug other/56076] New: [4.8 regression] Several 64-bit libgo tests FAIL in read_line_header

ro at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jan 22 12:38:00 GMT 2013


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

             Bug #: 56076
           Summary: [4.8 regression] Several 64-bit libgo tests FAIL in
                    read_line_header
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: ro@gcc.gnu.org
                CC: iant@google.com
              Host: sparc-sun-solaris2*
            Target: sparc-sun-solaris2*
             Build: sparc-sun-solaris2*


For some time (probably since 20121023), several 64-bit libgo tests FAIL on
Solaris/SPARC:

FAIL: go.go-torture/execute/array-2.go execution,  -O0 
FAIL: go.go-torture/execute/array-2.go execution,  -O1 
FAIL: go.go-torture/execute/array-2.go execution,  -O2 
FAIL: go.go-torture/execute/array-2.go execution,  -O2 -fomit-frame-pointer
-finline-functions 
FAIL: go.go-torture/execute/array-2.go execution,  -O2 -fomit-frame-pointer
-finline-functions -funroll-loops 
FAIL: go.go-torture/execute/array-2.go execution,  -O2 -fbounds-check 
FAIL: go.go-torture/execute/array-2.go execution,  -O3 -g 
FAIL: go.go-torture/execute/array-2.go execution,  -Os 

and many more, cf. testsuite results for the full list.

They seem to have a common cause:

p=0xffffffff7d400000
throw: runtime_lfstackpush: invalid pointer

goroutine 1 [running]:
panic: invalid memory address or nil pointer dereference
panic during panic
FAIL: go.go-torture/execute/array-2.go execution,  -O0

[Thread debugging using libthread_db enabled]
[New Thread 1 (LWP 1)]
[New LWP    2        ]
p=0xffffffff7dd00000
throw: runtime_lfstackpush: invalid pointer

goroutine 1 [running]:
[New Thread 2 (LWP 2)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 2 (LWP 2)]
0xffffffff7ee5cb90 in strlen () from /lib/64/libc.so.1
(gdb) where
#0  0xffffffff7ee5cb90 in strlen () from /lib/64/libc.so.1
#1  0xfffffffb9fff9690 in read_line_header (u=<optimized out>, 
    hdr=0xc200202da0, line_buf=0xc200202de0, is_dwarf64=<optimized out>, 
    state=0xffffffff7e400000)
    at /vol/gcc/src/hg/trunk/local/libbacktrace/dwarf.c:1666
#2  read_line_info (lines_count=<synthetic pointer>, 
    lines=<synthetic pointer>, hdr=0xc200202da0, u=0xffffffff7a900858, 
    data=0xc200203098, error_callback=0xfffffffb9fd99d34 <error_callback>, 
    ddata=0xffffffff74101ea8, state=0xffffffff7e400000)
    at /vol/gcc/src/hg/trunk/local/libbacktrace/dwarf.c:1947
#3  dwarf_lookup_pc (state=state@entry=0xffffffff7e400000, 
    ddata=ddata@entry=0xffffffff74101ea8, pc=pc@entry=18446744054916594527, 
    callback=callback@entry=0xfffffffb9fd99cbc <callback>, 
    error_callback=error_callback@entry=0xfffffffb9fd99d34 <error_callback>, 
    data=data@entry=0xc200203098, found=0xc200202f2c)
    at /vol/gcc/src/hg/trunk/local/libbacktrace/dwarf.c:2650
#4  0xfffffffb9fff9f4c in dwarf_fileline (state=0xffffffff7e400000, 
    pc=18446744054916594527, callback=0xfffffffb9fd99cbc <callback>, 
    error_callback=0xfffffffb9fd99d34 <error_callback>, data=0xc200203098)
    at /vol/gcc/src/hg/trunk/local/libbacktrace/dwarf.c:2783
#5  0xfffffffb9fffae08 in backtrace_pcinfo (state=0xffffffff7e400000, 
    pc=pc@entry=18446744054916594527, callback=0xfffffffb9fd99cbc <callback>, 
    error_callback=0xfffffffb9fd99d34 <error_callback>, 
    data=data@entry=0xc200203098)
    at /vol/gcc/src/hg/trunk/local/libbacktrace/fileline.c:190
#6  0xfffffffb9fd99e50 in __go_file_line (pc=18446744054916594527, 
    fn=fn@entry=0xc200203180, file=file@entry=0xc200203190, 
    line=line@entry=0xc200203178)
    at /vol/gcc/src/hg/trunk/local/libgo/runtime/go-caller.c:118
#7  0xfffffffb9fd9d688 in runtime_printtrace (pcbuf=pcbuf@entry=0xc200203250, 
    c=<optimized out>)
    at /vol/gcc/src/hg/trunk/local/libgo/runtime/go-traceback.c:34
#8  0xfffffffb9fd9d70c in runtime_traceback ()
    at /vol/gcc/src/hg/trunk/local/libgo/runtime/go-traceback.c:20
#9  0xfffffffb9fda6b60 in runtime_dopanic (unused=unused@entry=0)
    at /vol/gcc/src/hg/trunk/local/libgo/runtime/panic.c:64
#10 0xfffffffb9fda6bd0 in runtime_throw (
    s=0xfffffffba0002ec0 "runtime_lfstackpush: invalid pointer")
    at /vol/gcc/src/hg/trunk/local/libgo/runtime/panic.c:91
#11 0xfffffffb9fda1a14 in runtime.lfstackpush (
    head=0xfffffffba05a7ff8 <work+8>, node=0xffffffff7dd00000)
    at /vol/gcc/src/hg/trunk/local/libgo/runtime/lfstack.c:26
#12 0xfffffffb9fda3b60 in putempty (b=<optimized out>)
    at /vol/gcc/src/hg/trunk/local/libgo/runtime/mgc0.c:689
#13 scanblock (wbuf=0xffffffff7dd00000, wp=0xffffffff7dd00018, nobj=0, 
    keepworking=<optimized out>)
    at /vol/gcc/src/hg/trunk/local/libgo/runtime/mgc0.c:488
#14 0xfffffffb9fda71e4 in runtime.parfordo (desc=0xc20041d000)
    at /vol/gcc/src/hg/trunk/local/libgo/runtime/parfor.c:108
#15 0xfffffffb9fda42c8 in gc (args=args@entry=0xc200203c1c)
    at /vol/gcc/src/hg/trunk/local/libgo/runtime/mgc0.c:1382
#16 0xfffffffb9fda4b78 in runtime_gc (force=force@entry=0)
    at /vol/gcc/src/hg/trunk/local/libgo/runtime/mgc0.c:1321
#17 0xfffffffb9fdaaf34 in runtime_mallocgc (size=<optimized out>, 
    flag=<optimized out>, dogc=1, zeroed=<optimized out>)
    at /vol/gcc/src/hg/trunk/local/libgo/runtime/malloc.goc:124
#18 0x00000001000014c4 in main.main ()
    at
/vol/gcc/src/hg/trunk/local/gcc/testsuite/go.go-torture/execute/array-2.go:12

I suspect this is a strlen(NULL) call.  This is a regression from 4.7.

  Rainer



More information about the Gcc-bugs mailing list