RejectedSoftware Forums

Sign up

vibe.d + mysqln: no info on crash

I'm currently using Vibe.d 0.7.7 and this version of mysqln:

https://github.com/simendsjo/mysqln/tree/misc-cleanups
Commit: 7713e68945efcf02e1980f5734966a1ec0d059e4

...and I'm running locally on my Win7 dev machine.

The issue: Anytime I have an SQL error, my vibe.d app crashes with no
message sent to stdout, stderr or the client. I don't see any sort of
log file either (but maybe I overlooked something?) So I have no
information as to what happened (or even the fact that it was an SQL
error - I only discovered that after investigating). Naturally this
makes it difficult to debug.

Is this a vibe.d matter or mysqln or some combination? What can I do
about it?

Re: vibe.d + mysqln: no info on crash

Am 31.08.2012 22:59, schrieb Nick Sabalausky:

I'm currently using Vibe.d 0.7.7 and this version of mysqln:

https://github.com/simendsjo/mysqln/tree/misc-cleanups
Commit: 7713e68945efcf02e1980f5734966a1ec0d059e4

..and I'm running locally on my Win7 dev machine.

The issue: Anytime I have an SQL error, my vibe.d app crashes with no
message sent to stdout, stderr or the client. I don't see any sort of
log file either (but maybe I overlooked something?) So I have no
information as to what happened (or even the fact that it was an SQL
error - I only discovered that after investigating). Naturally this
makes it difficult to debug.

Is this a vibe.d matter or mysqln or some combination? What can I do
about it?

I've seen this kind of problem since DMD 2.060. It seems that some
exceptions are not caught by the appropriate catch() clause but rather
result in an app termination. This happens only on Windows and I didn't
really have the time to make a reproduction case/file a bug report.

It doesn't matter if the MySQL driver is used, if this is the same
problem. The best workaround I guess is to switch to Linux or DMD 2.059.
Or, load the app in a debugger and set a breakpoint at d_throwc and
dassert(m/msg).