-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
suspect sigsegv in scm_call_n #1
Comments
I'm using go 1.20 and guile 3.0 (2.2 has the same symptoms). |
have a reproducable case now, doing the query is necessary, going through the rows as well. The code: package main running it gives: goroutine 1 [syscall]: goroutine 2 [force gc (idle)]: goroutine 3 [GC sweep wait]: goroutine 4 [GC scavenge wait]: goroutine 5 [finalizer wait]: goroutine 6 [select]: rax 0x0 |
Thank you for reporting this. I apologize for the late reply. Most definitely this is probably a clash between guile threads and Go's green threads. I'll see if I can improve on this problem. Since it is possible to join guile threads. |
I see a crash in scm_call_n once in a while (called from scm_public_ref, which is called from Eval) and was wondering if the thread-model of guile maybe collides with the goroutines of go? I can't reproduce the crash in a test-program, but the production-program runs 12 to 14 scheme-expressions and then crashes.
Before -g compiling guile to step through the code, I was wondering whether it is actually safe to mix the two coroutines/threads without taking special precautions.
The code in scm_call_n is (amd64 code):
the code crashes in mov 0x230(%rax),%rax, because rax contains 0. It looks like this is the stack-checking code whith uses the current_thread.
if you experienced this before, or can straight tell me: don't do goroutines, as it cannot work, please do.
I'll go further with debugging as the alternative (littlescheme) is too small-featured.
regards
The text was updated successfully, but these errors were encountered: