www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - vibe-core sporadic internal errors

reply Steven Schveighoffer <schveiguy gmail.com> writes:
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

Error occurred while accessing /management/sales/translate_option: code 
500, (Internal Server Error)
Stack Trace: Internal Server Error

Error occurred while accessing /management/sales/translate_option: code 
500, (Internal Server Error)
Stack Trace: Internal Server Error

Error occurred while accessing /management/sales/translate_option: code 
500, (Internal Server Error)
Stack Trace: Internal Server Error
```

I also get occasional segfaults. In the distant past, I had problems so 
frequent that the site required frequent refreshes to get to the next 
page, and some of my REST-based apps failed. But upgrading to the newest 
vibe made that much less frequent.

But still, it concerns me with the frequency that this happens. I don't 
know where to begin to debug this. I'll turn tracing on to see if it 
garners any more information.

-Steve
Apr 27
next sibling parent Imperatorn <johan_forsberg_86 hotmail.com> writes:
On Tuesday, 27 April 2021 at 15:48:01 UTC, 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.

 [...]
Need a full trace to be able to get anywhere I think.
Apr 27
prev sibling parent Steven Schveighoffer <schveiguy gmail.com> writes:
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
Apr 28