What steps will reproduce the problem?
1. Get the source file (attached)
2. 6g lala.go && 6l lala.6 && ./lala
3. With high probability, you'll get a hang.
If I connect to the program from gdb, I see the following stacktrace:
(gdb) bt
#0 runtime.futex () at /home/krasin/go/src/pkg/runtime/linux/amd64/sys.s:164
#1 0x0000000000412dd9 in futexsleep (addr=void, val=void) at
/home/krasin/go/src/pkg/runtime/linux/thread.c:52
#2 0x0000000000412f1d in futexlock (l=void) at
/home/krasin/go/src/pkg/runtime/linux/thread.c:120
#3 0x0000000000413045 in runtime.lock (l=void) at
/home/krasin/go/src/pkg/runtime/linux/thread.c:159
#4 0x0000000000412a23 in runtime.findfunc (addr=void) at
/home/krasin/go/src/pkg/runtime/symtab.c:423
#5 0x0000000000413689 in runtime.gentraceback (pc0=void, sp=void, g=void, skip=void,
pcbuf=void, max=void) at /home/krasin/go/src/pkg/runtime/amd64/traceback.c:79
#6 0x000000000040f120 in runtime.sigprof (pc=void, sp=void, lr=void, gp=void) at
/home/krasin/go/src/pkg/runtime/proc.c:1313
#7 0x0000000000410a0b in runtime.sighandler (sig=void, info=void, context=void,
gp=void) at /home/krasin/go/src/pkg/runtime/linux/amd64/signal.c:65
#8 0x0000000000412c32 in runtime.sigtramp () at
/home/krasin/go/src/pkg/runtime/linux/amd64/sys.s:105
#9 0x0000000000412c46 in runtime.sigignore () at
/home/krasin/go/src/pkg/runtime/linux/amd64/sys.s:114
#10 0x0000000000000001 in ?? ()
#11 0x0000000000000000 in ?? ()
It seems like a deadlock between append slice and profiler.
If you removed profiler or will do some I/O during the calculations, you'll unlikely get
a problem.
Which compiler are you using (5g, 6g, 8g, gccgo)?
6g
Which operating system are you using?
Ubuntu 11.04 64 bit
Which revision are you using? (hg identify)
krasin@krasin7:~/go/src$ hg identify
989b9018b05c tip
Please provide any additional information below.
The processor is
Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
I will also test this bug on other hardware.
Attachments:
The text was updated successfully, but these errors were encountered: