-
Notifications
You must be signed in to change notification settings - Fork 40
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
(lldb) stop reason = EXC_BAD_ACCESS #40
Comments
I'm using the library in lot of projects and never faced the problem you are getting. Sending name as NULL is totally correct as it's not required. enif_mutex_create it's calling erl_drv_mutex_create and if you look into source code name being NULL is valid. Please come up with more details on : what OS, what VM and some config /code you are using to replicate the problem Silviu |
I see the problem. You are running the VM compiled in DEBUG mode. In debug mode seems the VM is using ERTS_ENABLE_LOCK_CHECK which cause this call to be executed (which is not in release mode): #ifdef ERTS_DYN_LOCK_CHECK And here seems a VM bug because they are using variable name instead Yes simple fix will be to put a valid name there. But probably will be nice and fair will be to open also a bug to OTP team |
Please test last master I provided a name for when creating a mutex to bypass this. Let me know if it's ok with this change |
Please reopen if you still can replicate on master. |
I confirm, it works now, thank you! |
Upon starting
erlkaf
in the lldb I sometimes get random Segmentation faluts.When I run the beam machine with
lldb
this is where I get stopped over and over again.When I do a backtrace:
I do not understand how this can be correct, passing
NULL
to theenif_mutex_create
function:Name becomes a NULL pointer (name=0x0000000000000000) and obviously accessing
name[i]
failsThe text was updated successfully, but these errors were encountered: