www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 15201] New: Segfault __memcpy_sse2_unaligned on

https://issues.dlang.org/show_bug.cgi?id=15201

          Issue ID: 15201
           Summary: Segfault __memcpy_sse2_unaligned on
                    Throwable.toString()
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: major
          Priority: P1
         Component: druntime
          Assignee: nobody puremagic.com
          Reporter: llucenic gmail.com

I receive a segfault in my program when I am trying to print out information on
Throwable instance in a catch block.

The GDB backtrace:

Program received signal SIGSEGV, Segmentation fault.
__memcpy_sse2_unaligned () at
../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:35
35    ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S: Adresár alebo súbor
neexistuje.
(gdb) bt full
#0  __memcpy_sse2_unaligned () at
../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:35
No locals.
#1  0x0000000000c2880f in _d_arraysetlengthiT ()
No symbol table info available.
#2  0x0000000000c70cf9 in
core.demangle.Demangle.__T10doDemangleS48_D4core8demangle8Demangle16parseMangledNameMFmZvZ.doDemangle()
()
No symbol table info available.
#3  0x0000000000c1fbb0 in core.runtime.defaultTraceHandler() ()
No symbol table info available.
#4  0x0000000000c1f94b in core.runtime.defaultTraceHandler() ()
No symbol table info available.
#5  0x0000000000c1f85c in core.runtime.defaultTraceHandler() ()
No symbol table info available.
#6  0x0000000000c1e403 in object.Throwable.toString() ()
No symbol table info available.
#7  0x0000000000c1e298 in object.Throwable.toString() ()
No symbol table info available.
#8  0x0000000000a5d483 in les.ast.CommandCall.eval() (this=0x7ffff3734330) at
src/les/ast.d:988
No locals.
...

The code 'src/les/ast.d' where the exception is caught and printed is (line
988, code 't.toString()') here:

981    try {
982        return runBuiltInCommand(execEnv, dCode, parameterTree);
983    }
984    catch (Throwable t) {
985        execEnv.context.callLocation.srcCode = STRING_EMPTY;
986        debug (echoToConsole) logError("EXCEPTION %s THROWN in BIC %s in
method: %s\n%s",
987          t.classinfo.name, bicName[getBicNamePrefix().length+1..$],
988 >>>          execEnv.context, t.toString().indent().chomp());
989            execEnv.requestLog.logError("EXCEPTION %s THROWN in BIC %s in
method: %s\n%s",
990          t.classinfo.name, bicName[getBicNamePrefix().length+1..$],
991          execEnv.context.toString!true(), t.toString().indent().chomp());
992    }

-----
The system is Debian Wheezy, 64bit.
ldd (Debian GLIBC 2.19-18) 2.19
DMD64 v2.068.2
----
What more information is needed?

--
Oct 13 2015