This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Recent Go patch broke Alpha bootstrap


On Mon, Nov 11, 2013 at 8:52 PM, Ian Lance Taylor <iant@google.com> wrote:
> On Fri, Nov 8, 2013 at 1:10 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
>>
>> panic: runtime error: invalid memory address or nil pointer dereference
>> [signal 0xb code=0x1 addr=0x1c]

>> FAIL: runtime/pprof
>> gmake[2]: *** [runtime/pprof/check] Error 1
>>
>> This one is new, I have to look into it a bit deeper.
>
>
> I don't know what is happening here.  I can't recreate it.  There was
> a different problem that could arise in runtime/pprof, that was fixed
> by a patch I submitted on Saturday
> (http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01016.html).  So it's
> possible that this is fixed now.

The failure is specific to !USING_SPLIT_STACK targets:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x200009e9280 (LWP 21478)]
0x000000012001e854 in syscall.Exitsyscall () at
../../../gcc-svn/trunk/libgo/runtime/proc.c:1986
1986            m->p->syscalltick++;
(gdb) list
1981    #ifdef USING_SPLIT_STACK
1982            gp->gcstack = nil;
1983    #endif
1984            gp->gcnext_sp = nil;
1985            runtime_memclr(&gp->gcregs, sizeof gp->gcregs);
1986            m->p->syscalltick++;
1987    }
1988
1989    static bool
1990    exitsyscallfast(void)
(gdb) p m
$2 = <optimized out>

The crash is at line 1986, but it is unclear if m or p are null.

> If you are able to recreate it, try setting GOTRACEBACK=2 in the
> environment.  That will provide more information in the backtrace.

Following is full traceback:

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x1c]

goroutine 10 [running]:
runtime_dopanic
        ../../../gcc-svn/trunk/libgo/runtime/panic.c:77
__go_panic
        ../../../gcc-svn/trunk/libgo/runtime/go-panic.c:113
runtime_panicstring
        ../../../gcc-svn/trunk/libgo/runtime/panic.c:134
sig_panic_info_handler
        ../../../gcc-svn/trunk/libgo/runtime/go-signal.c:291

        :0
syscall.Exitsyscall
        ../../../gcc-svn/trunk/libgo/runtime/proc.c:1986
runtime_notetsleepg
        ../../../gcc-svn/trunk/libgo/runtime/lock_futex.c:190
getprofile
        ../../../gcc-svn/trunk/libgo/runtime/cpuprof.c:370
runtime.CPUProfile
        ../../../gcc-svn/trunk/libgo/runtime/cpuprof.c:446
pprof.profileWriter
        /home/uros/gcc-build/alphaev68-unknown-linux-gnu/libgo/gotest21332/test/pprof.go:600
kickoff
        ../../../gcc-svn/trunk/libgo/runtime/proc.c:229

        :0

        :0
created by runtime_pprof.StartCPUProfile
        /home/uros/gcc-build/alphaev68-unknown-linux-gnu/libgo/gotest21332/test/pprof.go:594

goroutine 1 [chan receive]:
runtime_mcall
        ../../../gcc-svn/trunk/libgo/runtime/proc.c:292
runtime_chanrecv
        ../../../gcc-svn/trunk/libgo/runtime/chan.c:378
testing.RunTests
        ../../../gcc-svn/trunk/libgo/go/testing/testing.go:470
testing.Main
        ../../../gcc-svn/trunk/libgo/go/testing/testing.go:401
main.main
        /home/uros/gcc-build/alphaev68-unknown-linux-gnu/libgo/gotest21332/test/_testmain.go:34
runtime_main
        ../../../gcc-svn/trunk/libgo/runtime/proc.c:560
kickoff
        ../../../gcc-svn/trunk/libgo/runtime/proc.c:229

        :0

        :0

goroutine 2 [syscall]:
        goroutine in C code; stack unavailable
created by runtime_main
        ../../../gcc-svn/trunk/libgo/runtime/proc.c:547

goroutine 8 [chan receive]:
runtime_mcall
        ../../../gcc-svn/trunk/libgo/runtime/proc.c:292
runtime_chanrecv
        ../../../gcc-svn/trunk/libgo/runtime/chan.c:378
__go_receive_small
        ../../../gcc-svn/trunk/libgo/runtime/chan.c:503
runtime_pprof.StopCPUProfile
        /home/uros/gcc-build/alphaev68-unknown-linux-gnu/libgo/gotest21332/test/pprof.go:621
__go_undefer
        ../../../gcc-svn/trunk/libgo/runtime/go-defer.c:52
runtime_pprof_test.TestCPUProfileWithFork
        /home/uros/gcc-build/alphaev68-unknown-linux-gnu/libgo/gotest21332/test/pprof_test.go:181
testing.tRunner
        ../../../gcc-svn/trunk/libgo/go/testing/testing.go:389
kickoff
        ../../../gcc-svn/trunk/libgo/runtime/proc.c:229

        :0

        :0
created by testing.RunTests
        ../../../gcc-svn/trunk/libgo/go/testing/testing.go:469

Uros.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]