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