Opened 8 years ago
Closed 8 years ago
#1337 closed defect (fixed)
Runtime crashes on C callbacks
Reported by: | Jaume Delclòs Coll | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 4.12.0 |
Component: | core libraries | Version: | 4.11.0 |
Keywords: | stack corruption | Cc: | |
Estimated difficulty: | hard |
Description (last modified by )
Running scheme code from a foreign-lambda
called using a glib callback can make the runtime crash. The bug is not easy to reproduce, since every small change to the code can make it easier or harder to trigger.
I have been able to trigger it only when doing a significant amount of work on the callback, but taking more time to return doesn't necessarily make it easier to trigger, and sometimes multiple calls are needed.
The output when crashing is this:
test: runtime.c:2797: C_save_and_reclaim: Assertion `av > C_temporary_stack_bottom || av < C_temporary_stack_limit' failed.
I'm running this on the following release (installed from the Arch Linux repos):
Version 4.11.0 (rev ce980c4) linux-unix-gnu-x86-64 [ 64bit manyargs dload ptables ] compiled 2016-05-28 on yves.more-magic.net (Linux)
I'll attach my test code, which depends on bind (egg) and glib.
Attachments (4)
Change History (7)
Changed 8 years ago by
Changed 8 years ago by
Attachment: | valgind.log added |
---|
Ran it on valgrind to see if anything weird popped up
comment:1 Changed 8 years ago by
Component: | unknown → core libraries |
---|---|
Description: | modified (diff) |
Estimated difficulty: | → hard |
Keywords: | stack corruption added |
Milestone: | someday → 4.12.0 |
comment:2 Changed 8 years ago by
Summary: | Runtime crashes inside glib main loop → Runtime crashes on C callbacks |
---|
comment:3 Changed 8 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
This should be fixed with dc5bd1e / 73c083a. Please reopen if it still doesn't work.
Test code