otp_src_R14B "Lock check assertion" problem

Rickard Green rickard@REDACTED
Thu Sep 16 00:13:09 CEST 2010

zabrane Mikael wrote:
> Answering my own question. That was due to:
> --enable-lock-checking
> Could someone please tell me what this option is for?
> -- 
> Regards
> Zabrane
> 2010/9/15 zabrane Mikael < zabrane3 ? gmail · com >:
>> Hi,
>> I've updated my dev server to "otp_src_R14B".
>> After compiling my application, trying to running it throws this error:
>> ...
>> beam/global.h:1323: Lock check assertion
>> "erts_lc_is_port_locked(&erts_port[ix])" failed!
>> Currently no locks are locked by the async 42 thread.
>> aborted
>> Please, advices?
>> N.B: I'm under Fedora13, 64bits. The same error was thrown under "Snow Leopard"
>> --
>> Regards
>> Zabrane

Yes this was due to the --enable-lock-checking switch which is for 
debugging. However, the assertion should not have been triggered.

It would be good to have a look at a core-dump or at least a stackdump.

Enable core dumps either like this (bash, sh):
  $ ulimit -c unlimited
or like this (csh, tcsh):
  > limit coredumpsize unlimited

Run your app until the assertion is triggered.

Print a stackdump (where <emulator> is beam.smp or beam in non-smp case:
   $ gdb $ERL_TOP/bin/<target directory>/bin/<emulator> <core file>
   (gdb) bt

(typing 'quit' at the gdb prompt will get you out of gdb)

Mail us all that gdb printed. If you can provide us with the emulator 
and the coredump, do that too (preferably put them somewhere where we 
can download them).

Rickard Green
Rickard Green, Erlang/OTP, Ericsson AB.

More information about the erlang-questions mailing list