vibe-core sporadic internal errors
Steven Schveighoffer
schveiguy at gmail.com
Wed Apr 28 21:50:13 UTC 2021
On 4/27/21 11:48 AM, Steven Schveighoffer wrote:
> I suspect vibe-core or event core may have some subtle bugs in them that
> are not easily repeatable, but often result in half-rendered web pages.
>
> Has anyone else seen this? I recently updated to the latest vibe-core
> and vibe to see if the problem goes away and it doesn't. A log of the
> exceptions isn't super helpful:
>
> ```
> Error occurred while accessing /management/sales/translate_option: code
> 500, (Internal Server Error)
> Stack Trace: Internal Server Error
>
> ```
So I have figured out a couple things here.
1. I started building with `-b plain`, which removes the -debug flag
from the compiler (for a long time, I didn't know this was the default
for dub). Inadvertently, this made my exception printing result in the
above instead of a full stack trace (which I was used to). I now print
the stack trace even with -b plain, but my executable is down from 83MB
to 35MB!
2. With the full stack trace, I determined that it's not vibe-d, but
mysql-native which is throwing the exception. This was a "Server out of
order" exception. Long story short, I found the bug in mysql-native and
fixed it [1].
Anyone using mysql-native and vibe-d should update (once code.dlang.org
gets around to refreshing it) to 3.0.1. Otherwise, you might get
spurious out of order packet exceptions.
-Steve
[1] https://github.com/mysql-d/mysql-native/pull/226
More information about the Digitalmars-d-learn
mailing list