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

          Issue ID: 14692
           Summary: SIGSEGV during SHA.put
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: blocker
          Priority: P1
         Component: dmd
          Assignee: nob...@puremagic.com
          Reporter: rjmcgu...@gmail.com

I get a SEGFAULT every time I try log in to my MySQL server using mysql-native
and vibe.d.
If I compile with GDC I do not have this problem, and I never used to have this
problem with previous versions of dmd, not sure which version etc yet.

Just logging this issue in the meantime so that I don't forget.

Backtrace:
Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) by
Undefined command: "by".  Try "help".
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x0000000000712eea in std.digest.sha.SHA!(512, 160).SHA.put(scope
const(ubyte)[]...) (this=0x7fffffffd160, input=...) at
/usr/include/dmd/phobos/std/digest/sha.d:723
#2  0x0000000000713072 in std.digest.sha.SHA!(512, 160).SHA.finish()
(this=0x7fffffffd160, __HID34=0x7fffffffd1d0) at
/usr/include/dmd/phobos/std/digest/sha.d:768
#3  0x000000000076f54a in std.digest.digest.digest!(std.digest.sha.SHA!(512,
160).SHA, const(ubyte)[]).digest(scope const(ubyte[])) (__HID42=0x7fffffffd228,
_param_0=...)
    at /usr/include/dmd/phobos/std/digest/digest.d:433
#4  0x000000000076f4c1 in
std.digest.sha.sha1Of!(const(ubyte)[]).sha1Of(const(ubyte)[])
(__HID41=0x7fffffffd298, _param_0=...) at
/usr/include/dmd/phobos/std/digest/sha.d:1102
#5  0x000000000076c13f in mysql.connection.Connection.makeToken(ubyte[])
(this=0x7ffff7ec0c00, authBuf=...)
    at
../../../../../../.dub/packages/mysql-native-0.0.15/source/mysql/connection.d:2615
#6  0x000000000076c3c8 in mysql.connection.Connection.authenticate(ubyte[])
(this=0x7ffff7ec0c00, greeting=...)
    at
../../../../../../.dub/packages/mysql-native-0.0.15/source/mysql/connection.d:2664
#7  0x000000000076c5f6 in
mysql.connection.Connection.connect(mysql.connection.SvrCapFlags)
(this=0x7ffff7ec0c00, clientCapabilities=33293)
    at
../../../../../../.dub/packages/mysql-native-0.0.15/source/mysql/connection.d:2693
#8  0x000000000076c9ad in
mysql.connection.Connection.this(mysql.connection.MySQLSocketType,
std.socket.TcpSocket(immutable(char)[], ushort) function*,
vibe.core.net.TCPConnection(immutable(char)[], ushort) function*,
immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[],
ushort, mysql.connection.SvrCapFlags) (this=0x7ffff7ec0c00, capFlags=33293, 
    port=3306, db=..., pwd=..., user=..., host=..., openSocketVibeD=0x76bfb8
<mysql.connection.Connection.defaultOpenSocketVibeD(immutable(char)[],
ushort)>, 
    openSocketPhobos=0x76bf40
<mysql.connection.Connection.defaultOpenSocketPhobos(immutable(char)[],
ushort)>, socketType=<incomplete type>)
    at
../../../../../../.dub/packages/mysql-native-0.0.15/source/mysql/connection.d:2788
#9  0x000000000076c786 in
mysql.connection.Connection.this(mysql.connection.MySQLSocketType,
immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[],
ushort, mysql.connection.SvrCapFlags) (this=0x7ffff7ec0c00, capFlags=33293,
port=3306, db=..., pwd=..., user=..., host=..., socketType=<incomplete type>)
    at
../../../../../../.dub/packages/mysql-native-0.0.15/source/mysql/connection.d:2741
#10 0x000000000076c710 in mysql.connection.Connection.this(immutable(char)[],
immutable(char)[], immutable(char)[], immutable(char)[], ushort,
mysql.connection.SvrCapFlags) (
    this=0x7ffff7ec0c00, capFlags=33293, port=3306, db=..., pwd=..., user=...,
host=...) at
../../../../../../.dub/packages/mysql-native-0.0.15/source/mysql/connection.d:2732
#11 0x0000000000772430 in mysql.db.MysqlDB.createConnection()
(this=0x7ffff7eca100) at
../../../../../../.dub/packages/mysql-native-0.0.15/source/mysql/db.d:48
#12 0x000000000072d3db in
vibe.core.connectionpool.ConnectionPool!(mysql.connection.Connection).ConnectionPool.lockConnection()
(this=0x7ffff7ec7ac0, __HID44=0x7fffffffd838)
    at
../../../../../../.dub/packages/vibe-d-0.7.23/source/vibe/core/connectionpool.d:54
#13 0x00000000007723bf in mysql.db.MysqlDB.lockConnection()
(this=0x7ffff7eca100, __HID149=0x7fffffffd8c0) at
../../../../../../.dub/packages/mysql-native-0.0.15/source/mysql/db.d:44
#14 0x00000000007687f5 in db.mysql_test() () at source/db.d:17
#15 0x00000000006f525e in app._sharedStaticCtor1() () at source/app.d:16
#16 0x0000000000768799 in app.__modsharedctor() ()
#17 0x000000000090cd51 in
_D2rt5minfo67__T14runModuleFuncsS442rt5minfo11ModuleGroup8runCtorsMFZ9__lambda2Z14runModuleFuncsMFAxPyS6object10ModuleInfoZv
()
#18 0x000000000090ca7d in rt.minfo.ModuleGroup.runCtors() ()
#19 0x00000000008cebe9 in rt.minfo.rt_moduleCtor().__foreachbody1(ref
rt.sections_elf_shared.DSO) ()
#20 0x00000000008cef7e in rt.sections_elf_shared.DSO.opApply(scope int(ref
rt.sections_elf_shared.DSO) delegate) ()
#21 0x00000000008cebb5 in rt_moduleCtor ()
#22 0x00000000008ca993 in rt_init ()
#23 0x00000000008cad5a in rt.dmain2._d_run_main(int, char**, extern(C)
int(char[][]) function*).runAll() ()
#24 0x00000000008cad16 in rt.dmain2._d_run_main(int, char**, extern(C)
int(char[][]) function*).tryExec(scope void() delegate) ()
#25 0x00000000008cac90 in _d_run_main ()
#26 0x0000000000768a0d in main ()
#27 0x00007ffff6873a40 in __libc_start_main (main=0x7689e8 <main>, argc=1,
argv=0x7fffffffdd98, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>, 
    stack_end=0x7fffffffdd88) at libc-start.c:289
#28 0x00000000006f4279 in _start ()
(gdb) q

--

Reply via email to