You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have an H2 database in Server mode and with no apparent reason performing a flush results in an H2 error having java.lang.StackOverflowError as root exception. We already reported this issue last year and an upgrade was suggested, but it doesn't seem to have fixed the bug, hence the new issue we are just creating. For more details on last year's issue, see #3732 . Another issue was also created in-between; #3740 . For this issue, we removed the CLOB data type from all our tables and replaced it by another suitable one (JSON).
Current H2 version: 2.2.224
Current .db file size when the error occurs: around 300 MB
In the attached file you can find an example of the error logs we are currently observing. error_sample.log
The text was updated successfully, but these errors were encountered:
From the stack trace provided, it seems like a normal operation, but on extremely dis-balanced (very deep) B-tree. It is possible to get such tree with some specific pattern of updates and deletes, since H2 does not make any efforts to keep tree balanced. On the other hand, it is highly unlike scenario.
It is also possible (and more likely), that due to some bug, tree becomes invalid (loop is introduced), but it's impossible to find out what it is, without knowing exact sequence of event. Keyword here is "randomly". Until case will be found to reliably reproduce such corruption, I am afraid, not much can be done.
What is the stack size of your JVM? Do you specify -Xss parameter, or it's default 256K? Have you tried to increase it?
Thanks for the reply. Indeed we have considered increasing JVM stack size to 2MB instead of the default 256KB. Would you recommend a different value for the increase?
Just try 512KB to see if it helps, quite likely that it will not. I am really having a hard time imagining scenario where b-tree gets distorted that much, but who knows…
We have an H2 database in Server mode and with no apparent reason performing a flush results in an H2 error having java.lang.StackOverflowError as root exception. We already reported this issue last year and an upgrade was suggested, but it doesn't seem to have fixed the bug, hence the new issue we are just creating. For more details on last year's issue, see #3732 . Another issue was also created in-between; #3740 . For this issue, we removed the CLOB data type from all our tables and replaced it by another suitable one (JSON).
Current H2 version: 2.2.224
Current .db file size when the error occurs: around 300 MB
In the attached file you can find an example of the error logs we are currently observing.
error_sample.log
The text was updated successfully, but these errors were encountered: