[erlang-questions] dirty NIFs - Lock check assertion "!erts_smp_lc_runq_is_locked(rq)" failed

John Doe <>
Sat Jan 16 19:11:44 CET 2016

I'm using 18.2

About the code, i'll try to make a smallish demo to demonstrate it, and
send you the link. I just though maybe there's some obvious thing which I
should have not doing with rwlocks in dirty nifs.

2016-01-16 20:25 GMT+03:00 Steve Vinoski <>:

> On Sat, Jan 16, 2016 at 11:18 AM, John Doe <>
> wrote:
>> Hello,
>> I'm getting the following error in a dirty NIF library which keeps
>> segfaulting:
>> beam/erl_process.c:3313: Lock check assertion
>> "!erts_smp_lc_runq_is_locked(rq)" failed!
>> Currently these locks are locked by the dirty io scheduler 2 thread:
>>   'run_queue:-1[mutex](beam/erl_process.h:2134)'
>> The library is using enif_rwlock_ functions for synchronization.
>> What could be the possible reason for this error?
> You'll need to supply more details. Most importantly, what version of
> Erlang are you using? And second, if you can supply a pointer to your code
> or you can post it in a pastebin, that would be helpful (or feel free to
> point me to it in a private reply if you don't want to share it publicly),
> but if not, the more detail you can share about what your code is doing,
> the better.
> --steve
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160116/c2ced04b/attachment.html>

More information about the erlang-questions mailing list