[Issue 11492] Executable with thread termination crashes (worked in 2.63, works on Windows)

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Nov 13 05:35:53 PST 2013


https://d.puremagic.com/issues/show_bug.cgi?id=11492



--- Comment #10 from Atila Neves <atila.neves at gmail.com> 2013-11-13 05:35:51 PST ---
(In reply to comment #7)
> Can you find out the function where the segfault happens?

In the original example:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff7308700 (LWP 5006)]
0x0000000000471b83 in
std.variant.__T8VariantNVm32Z.VariantN.__T7handlerTC3std11concurrency15OwnerTerminatedZ.handler()
(
    parm=<error reading variable: Could not find the frame base for
"std.variant.__T8VariantNVm32Z.VariantN.__T7handlerTC3std11concurrency15OwnerTerminatedZ.handler()".>, 
    pStore=<error reading variable: Could not find the frame base for
"std.variant.__T8VariantNVm32Z.VariantN.__T7handlerTC3std11concurrency15OwnerTerminatedZ.handler()".>, 
    selector=<error reading variable: Could not find the frame base for
"std.variant.__T8VariantNVm32Z.VariantN.__T7handlerTC3std11concurrency15OwnerTerminatedZ.handler()".>)
    at /usr/include/dlang/dmd/std/variant.d:294
294           switch (selector)
(gdb) bt
#0  0x0000000000471b83 in
std.variant.__T8VariantNVm32Z.VariantN.__T7handlerTC3std11concurrency15OwnerTerminatedZ.handler()
(
    parm=<error reading variable: Could not find the frame base for
"std.variant.__T8VariantNVm32Z.VariantN.__T7handlerTC3std11concurrency15OwnerTerminatedZ.handler()".>, 
    pStore=<error reading variable: Could not find the frame base for
"std.variant.__T8VariantNVm32Z.VariantN.__T7handlerTC3std11concurrency15OwnerTerminatedZ.handler()".>, 
    selector=<error reading variable: Could not find the frame base for
"std.variant.__T8VariantNVm32Z.VariantN.__T7handlerTC3std11concurrency15OwnerTerminatedZ.handler()".>)
    at /usr/include/dlang/dmd/std/variant.d:294
#1  0x000000000046f5eb in
std.variant.__T8VariantNVm32Z.VariantN.__T10convertsToTS3std11concurrency3TidZ.convertsTo()
(
    this=<error reading variable: Could not find the frame base for
"std.variant.__T8VariantNVm32Z.VariantN.__T10convertsToTS3std11concurrency3TidZ.convertsTo()".>)
at /usr/include/dlang/dmd/std/variant.d:633
#2  0x000000000046f57e in
std.concurrency.Message.__T10convertsToTS3std11concurrency3TidZ.convertsTo() (
    this=<error reading variable: Could not find the frame base for
"std.concurrency.Message.__T10convertsToTS3std11concurrency3TidZ.convertsTo()".>)
at /usr/include/dlang/dmd/std/concurrency.d:123
#3  0x000000000046f005 in
std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()
(
    this=<error reading variable: Could not find the frame base for
"std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()".>, 
    msg=<error reading variable: Could not find the frame base for
"std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()".>)
    at /usr/include/dlang/dmd/std/concurrency.d:1150
#4  0x000000000046f277 in
std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()
(
    this=<error reading variable: Could not find the frame base for
"std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()".>, 
    msg=<error reading variable: Could not find the frame base for
"std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()".>)
    at /usr/include/dlang/dmd/std/concurrency.d:1189
#5  0x000000000046f2ba in
std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()
(
    this=<error reading variable: Could not find the frame base for
"std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()".>, 
    msg=<error reading variable: Could not find the frame base for
"std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()".>)
    at /usr/include/dlang/dmd/std/concurrency.d:1201
#6  0x000000000046f32c in
std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()
(
    this=<error reading variable: Could not find the frame base for
"std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()".>, 
    list=<error reading variable: Could not find the frame base for
"std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()".>)
    at /usr/include/dlang/dmd/std/concurrency.d:1217
#7  0x000000000046ef51 in
std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()
(
    this=<error reading variable: Could not find the frame base for
"std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()".>, 
    _param_1=<error reading variable: Could not find the frame base for
"std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()".>, 
    _param_0=<error reading variable: Could not find the frame base for
"std.concurrency.MessageBox.__T3getTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.get()".>)
    at /usr/include/dlang/dmd/std/concurrency.d:1314
#8  0x000000000046ed9a in
std.concurrency.__T7receiveTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.receive()
(
    _param_1=<error reading variable: Could not find the frame base for
"std.concurrency.__T7receiveTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.receive()".>, 
    _param_0=<error reading variable: Could not find the frame base for
"std.concurrency.__T7receiveTPFNaNbNfS3std11concurrency3TidZvTDFNbNfC3std11concurrency15OwnerTerminatedZvZ.receive()".>)
    at /usr/include/dlang/dmd/std/concurrency.d:635
#9  0x000000000046ba78 in thread_local_singleton.threadWriter() () at
thread_local_singleton.d:8
#10 0x0000000000472863 in std.concurrency.__T6_spawnTPFZvZ._spawn()
(this=<error reading variable: Could not find the frame base for
"std.concurrency.__T6_spawnTPFZvZ._spawn()".>)
    at /usr/include/dlang/dmd/std/concurrency.d:487
#11 0x0000000000495466 in core.thread.Thread.run() ()
#12 0x00000000004951ed in thread_entryPoint ()
#13 0x00007ffff7bc70a2 in start_thread () from /usr/lib/libpthread.so.0
#14 0x00007ffff73ee49d in clone () from /usr/lib/libc.so.6

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list