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
These MWEs simply call an external function a million times and seem to consistently trigger a segmentation fault inside Nidhugg. I suspect this might be the/a reason some of my longer tests (> 100000 traces) occasionally crash Nidhugg. mwes.zip
The text was updated successfully, but these errors were encountered:
While I can't reproduce the problem with "extfunctest.c", the other two seem to cause nidhugg to stack overflow in the recursive destructor for the wakeup tree. I believe this is due to the trace of the program being very long. Of course, we should not do recursion over the length of the trace, but unfortunately we'll have to eschew some of the conveniences of C++ to address this.
In the meantime, if you're on Linux, you can adjust the maximum stack size with ulimit -Ss SIZE_IN_KB. This should workaround the issue. Note that beyond the recursion issue, nidhugg will also misbehave if the trace is longer than 2³¹ LLVM IR instructions.
margnus1
changed the title
Calling external functions as black boxes occasionally crashes Nidhugg
Wakeup Tree destructor is recursive, causing issues with large programs
Oct 27, 2022
These MWEs simply call an external function a million times and seem to consistently trigger a segmentation fault inside Nidhugg. I suspect this might be the/a reason some of my longer tests (> 100000 traces) occasionally crash Nidhugg.
mwes.zip
The text was updated successfully, but these errors were encountered: