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

Reply via email to