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

../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:35
No locals.

No symbol table info available.

core.demangle.Demangle.__T10doDemangleS48_D4core8demangle8Demangle16parseMangledNameMFmZvZ.doDemangle()
()
No symbol table info available.

No symbol table info available.

No symbol table info available.

No symbol table info available.

No symbol table info available.

No symbol table info available.

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