[erlang-bugs] Mnesia/R15B: TYPE ASSERTION FAILED, erl_term.c line 109 (when stopping mnesia)

Gustav Simonsson <>
Tue Apr 3 10:25:05 CEST 2012


Hi Winston,

A few ideas which might be of some use:

Try starting your node with the mnesia "debug" or "trace" level debugging
(http://www.erlang.org/doc/apps/mnesia/Mnesia_chap5.html#id76624). That might show
at which part of the shutdown the crash occurs.

When you create a table, you can give the compressed option in the storage_properties
tuple, though I don't know of any low-memory options for mnesia itself.

If you want to look at what the Erlang allocators have allocated you can use
erlang:system_info({allocator, ets_alloc}). and then look at the blocks_size tuple
which is on the format {blocks_size, CurrentSize, MaxSizeSinceLastAllocation, MaxSizeSinceEmulatorStarted}.
The values are in bytes.

// Gustav Simonsson

Sent from my PC

----- Original Message -----
> From: "Winston Smith" <>
> To: "erlang-bugs" <>
> Sent: Tuesday, 3 April, 2012 5:04:00 AM
> Subject: [erlang-bugs] Mnesia/R15B: TYPE ASSERTION FAILED, erl_term.c line 109 (when stopping mnesia)
> 
> I have run into the following issue with R15B cross compiled to an
> AVR32 (similar to ARM) system (no HiPE).
> 
> 
> ()6> mnesia:stop().
> TYPE ASSERTION FAILED, file beam/erl_term.c, line 109: tag_val_def:
> 0x8e422b5c
> Aborted
> 
> 
> Interestingly, if I bring up a standalone erl, I don't get the
> assert,
> it segfaults instead:
> 
> 
> # erts-5.9/bin/erl
> Eshell V5.9  (abort with ^G)
> 1> mnesia:create_schema([node()]).
> ok
> 2> mnesia:start().
> ok
> 3> mnesia:stop().
> Segmentation fault
> 
> 
> 
> I wasn't able to get much from the core file (I'm using a cross
> compiled version of gdb), I supposed I'd need to build a debug
> version
> of OTP:
> 
> 
> Program terminated with signal 11, Segmentation fault.
> #0  0x00000000 in ?? ()
> (gdb) bt
> #0  0x00000000 in ?? ()
> #1  0xff7f0000 in ?? ()
> Backtrace stopped: previous frame identical to this frame (corrupt
> stack?)
> 
> 
> Any thoughts on tracking this down?
> 
> It's possible it's a low memory problem, I am already restricting the
> footprint to just stdlib, kernel, inets and mnesia (and my app which
> is small).
>     - is there any way to enable any kind of allocation tracing so I
> can pinpoint this?
>     - Does mnesia have a low-memory footprint mode that I can try to
> see if that ameliorates the problem?
> 
> Thanks!
> 
> 
> W.
> _______________________________________________
> erlang-bugs mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-bugs
> 


More information about the erlang-bugs mailing list