Problems with threaded Erlang on Linux at UltraSparc III
Sergei Golovan
sgolovan@REDACTED
Wed Jul 15 14:36:51 CEST 2009
Hi!
I need help in debugging Erlang on Linux (specifically Debian Linux)
on UltraSparc III hardware). So far only non-threaded build works
fine, though it means no SMP and no wxErlang.
In threads enabled build beam binary crashes often with segmentation
faults or bus errors. When I build Erlang with debug info enabled
(make TYPE=debug) I get very different debug messages just before
crash (or before internal compiler errors):
erlc -W +debug_info +warn_obsolete_guard
-I/home/sgolovan/debian/otp_src_R13B01/lib/stdlib/include -o../ebin
yecc.erl
Function: '-read_grammar/2-lc$^0/1-0-'/3
Assertion failed: is_header(hdr) in beam/copy.c, line 95
make[3]: *** [../ebin/yecc.beam] Aborted
erlc -W +debug_info +warn_obsolete_guard
-I/home/sgolovan/debian/otp_src_R13B01/lib/stdlib/include -o../ebin
yecc.erl
Function: file/1
size_object: bad tag for 0x0
make[3]: *** [../ebin/yecc.beam] Aborted
erlc -W +debug_info +warn_obsolete_guard
-I/home/sgolovan/debian/otp_src_R13B01/lib/stdlib/include -o../ebin
yecc.erl
Function: '-check_rules/1-fun-0-'/2
./yecc.erl:none: internal error in v3_codegen;
crash reason: {{case_clause,
{'EXIT',
{function_clause,
[{gb_trees,lookup_1,
[{'-check_rules/1-fun-0-',2},{}]},
{v3_codegen,local_func_label,2},
{v3_codegen,cg_fun,6},
{v3_codegen,function,3},
{lists,mapfoldl,3},
{lists,mapfoldl,3},
{v3_codegen,module,2},
{compile,'-select_passes/2-anonymous-2-',2}]}}},
[{compile,'-select_passes/2-anonymous-2-',2},
{compile,'-internal_comp/4-anonymous-1-',2},
{compile,fold_comp,3},
{compile,internal_comp,4},
{compile,internal,3}]}
make[3]: *** [../ebin/yecc.beam] Error 1
erlc -W +debug_info +warn_obsolete_guard
-I/home/sgolovan/debian/otp_src_R13B01/lib/stdlib/include -o../ebin
yecc.erl
make[3]: *** [../ebin/yecc.beam] Bus error
erlc -W +debug_info +warn_obsolete_guard
-I/home/sgolovan/debian/otp_src_R13B01/lib/stdlib/include -o../ebin
yecc.erl
Assertion failed: !is_CP(tmp_arg1) in beam/beam_emu.c, line 2678
make[3]: *** [../ebin/yecc.beam] Aborted
erlc -W +debug_info +warn_obsolete_guard
-I/home/sgolovan/debian/otp_src_R13B01/lib/stdlib/include -o../ebin
yecc.erl
ERROR: Fence at end of memory block (p=0x1891409952, sz=2056916) clobbered.
make[3]: *** [../ebin/yecc.beam] Aborted
and many others. I've collected several core dumps but can't find
anything useful in them (though I don't have much experience
in debugging threaded programs). The experiment was performed on clean
Erlang sources without any patches.
Core dumps can be found at http://sgolovan.nes.ru/erlang/
I will give you any additional info which I can get if it is needed.
Cheers!
--
Sergei Golovan
More information about the erlang-questions
mailing list