Segfault in B_plus_minus beam/big.c:517 in R14B04
Andrew Thompson
andrew@REDACTED
Tue Mar 23 19:04:32 CET 2010
I'm not sure what I need to provide to help figure this out, but I had
my erlang VM coredump yesterday. Luckily I had enabled corefile
generation, so I obtained a core file. Attached is the output of running
a bt full on the thread I think caused the seg.
If any more information would be helpful, let me know. This is a
ubuntu-server install running amd64 and I built erlang from source
myself.
Andrew
-------------- next part --------------
Script started on Tue Mar 23 13:58:00 2010
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu"...
warning: Can't read pathname for load map: Input/output error.
Reading symbols from /lib/libutil.so.1...done.
Loaded symbols for /lib/libutil.so.1
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libm.so.6...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libncurses.so.5...done.
Loaded symbols for /lib/libncurses.so.5
Reading symbols from /lib/libpthread.so.0...done.
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /lib/librt.so.1...done.
Loaded symbols for /lib/librt.so.1
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux-x86-64.so.2...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /usr/local/lib/erlang/lib/crypto-1.6.4/priv/lib/crypto_drv.so...done.
Loaded symbols for /usr/local/lib/erlang/lib/crypto-1.6.4/priv/lib/crypto_drv.so
Reading symbols from /usr/lib/libcrypto.so.0.9.8...done.
Loaded symbols for /usr/lib64/libcrypto.so.0.9.8
Reading symbols from /lib/libz.so.1...done.
Loaded symbols for /lib/libz.so.1
Reading symbols from /usr/local/lib/erlang/lib/iconv-1.0/priv/iconv_drv.so...done.
Loaded symbols for /usr/local/lib/erlang/lib/iconv-1.0/priv/iconv_drv.so
Reading symbols from /usr/lib/gconv/ISO8859-1.so...done.
Loaded symbols for /usr/lib/gconv/ISO8859-1.so
Core was generated by `/usr/local/lib/erlang/erts-5.7.5/bin/beam.smp -K true -- -root /usr/local/lib/e'.
Program terminated with signal 11, Segmentation fault.
[New process 2914]
[New process 2910]
[New process 2892]
[New process 2912]
[New process 2913]
[New process 2911]
#0 B_plus_minus (x=0x7fe7227dddc8, xl=1, xsgn=0, y=0x7fe715137448, yl=0, ysgn=<value optimized out>, r=0x7fe715137448) at beam/big.c:517
517 xr = *x++;
(gdb) bt full
#0 B_plus_minus (x=0x7fe7227dddc8, xl=1, xsgn=0, y=0x7fe715137448, yl=0, ysgn=<value optimized out>, r=0x7fe715137448) at beam/big.c:517
No locals.
#1 0x00000000004ece7f in big_plus (x=<value optimized out>, y=1873727406551102227, r=<value optimized out>) at beam/big.c:1922
No locals.
#2 0x00000000004b14b4 in erts_gc_mixed_plus (p=0x7fe71760b378, reg=0x7fe7241e1978, live=1) at beam/erl_arith.c:1249
arg1 = 140630692847042
arg2 = 140630467769410
tmp_big1 = {72, 287}
tmp_big2 = {140630692846864, 140630692847008}
res = <value optimized out>
hdr = <value optimized out>
f1 = {fd = 6.948070196272688e-310, fb = "x?`\027?\177\000", fs = {45944, 5984, 32743, 0}, fw = {392213368, 32743}, fdw = 140630506386296}
f2 = {fd = 6.9480794086511548e-310, fb = "@?}\"?\177\000", fs = {56640, 8829, 32743, 0}, fw = {578673984, 32743}, fdw = 140630692846912}
need_heap = -583
ires = <value optimized out>
#3 0x000000000051cfe4 in process_main () at beam/beam_emu.c:2260
live = 1
c_p = (Process *) 0x7fe71760b378
reds_used = 605952376
x0 = 140630467769410
reg = (Eterm *) 0x7fe7241e1978
HTOP = (Eterm *) 0x7fe715137448
E = (Eterm *) 0x7fe71513f228
I = (Eterm *) 0x7fe71833d148
FCALLS = 1585
tmp_arg1 = 4607
tmp_arg2 = 140630467769410
tmp_big = {8, 8535072}
freg = (FloatDef *) 0x7fe7241e3988
neg_o_reds = 0
arith_func = (Eterm (*)(Process *, Eterm *, Uint)) 0x1a00d12619647313
temp_bits = 140630720125304
EBS = (struct erl_bits_state *) 0x7fe7241e5990
init_done = 1
opcodes = {0x51f48f, 0x51f6ac, 0x51f5e4, 0x51f52e, 0x51f3d1, 0x51cc7e, 0x51da55, 0x51cc13, 0x522860, 0x51dbec, 0x51fdb1, 0x51fd36, 0x51b65f, 0x51b5fb,
0x51b64d, 0x51d468, 0x51d56b, 0x51bc2b, 0x51bbfc, 0x51bbd0, 0x51bb9c, 0x51bb7a, 0x51bb4d, 0x51bc77, 0x51bc4f, 0x51ff19, 0x51d393, 0x51d2a0, 0x51d0b1, 0x51e4d9,
0x51dae6, 0x51bfb3, 0x51eb7e, 0x51edf1, 0x51ed38, 0x51e464, 0x51bfef, 0x51f3c1, 0x51aaf3, 0x51f2a3, 0x51f27a, 0x51f388, 0x51f351, 0x51f310, 0x51f2d1, 0x51c590,
0x51c5b2, 0x51c6ba, 0x51c674, 0x51c625, 0x51f245, 0x51f215, 0x51f1e9, 0x51f1b1, 0x51ac7d, 0x521d9e, 0x521d66, 0x521d33, 0x521cfc, 0x521cc5, 0x521c8d, 0x521c3f,
0x521bf1, 0x521bb9, 0x521b6b, 0x521b22, 0x521aeb, 0x521ab9, 0x521a81, 0x521a38, 0x5219ef, 0x5219bc, 0x521973, 0x52192f, 0x51de79, 0x51dfd8, 0x51dfb8, 0x51e60b,
0x51dfae, 0x51dee0, 0x51cdb4, 0x51cbac, 0x51e2f0, 0x51e294, 0x51cd43, 0x51cce8, 0x51d056, 0x51feb6, 0x51fe65, 0x51d1bd, 0x51d590, 0x51d4e2, 0x51d71e, 0x51d660,
0x51d705, 0x51b2ff, 0x51b215, 0x51b088, 0x51b14d, 0x51b5e6, 0x51b53a, 0x51afd4, 0x51af18, 0x51ae28, 0x51ad46, 0x51b754, 0x51ba9d, 0x51b9e6, 0x51b945, 0x51ba7c,
0x51bb3b, 0x51bab2, 0x51b936, 0x51b8c9, 0x51b8a7, 0x51b838, 0x51b6d3, 0x51b672, 0x51b742, 0x51b6e5, 0x51d81f, 0x51ece2, 0x51ecc1, 0x51e698, 0x51e7ce, 0x51eccd,
0x51eced, 0x51e65a, 0x51d984, 0x51da20, 0x51e67b, 0x51d9f3, 0x51d730, 0x51d7f4, 0x51b528, 0x51b47d, 0x51d494, 0x51be5a, 0x51befc, 0x51b40c, 0x51b3e1, 0x51b45a,
0x51b42f, 0x51acb5, 0x522059, 0x521fc6, 0x521f32, 0x521e9e, 0x521e67, 0x521e28, 0x521df9, 0x521dc5, 0x51bda2, 0x51bd84, 0x51bc9a, 0x51bea1, 0x51bf3f, 0x51bdf6,
0x51bdb4, 0x5221a6, 0x51ce94, 0x51cf88, 0x51a950, 0x51a8e1, 0x51a915, 0x51a8b4, 0x51e228, 0x51e1be, 0x51a980, 0x51aa66, 0x51cb37, 0x51dcd5, 0x51ee90, 0x51c532,
0x51ee0f, 0x51c562, 0x51dc75, 0x52184a, 0x521823, 0x5217cc, 0x521794, 0x52175c, 0x52170f, 0x5216d7, 0x5216a4, 0x521876, 0x5217f8, 0x521736, 0x5218ea, 0x5218bf,
0x521899, 0x52190d, 0x52210f, 0x51dca5, 0x51dc42, 0x51c502, 0x51eb4e, 0x51fc89, 0x51ec23, 0x5220e5...}
#4 0x0000000000499aab in sched_thread_func (vesdp=<value optimized out>) at beam/erl_process.c:3060
No locals.
#5 0x0000000000594a6b in thr_wrapper (vtwd=<value optimized out>) at common/ethread.c:475
res = <value optimized out>
twd = (thr_wrap_data_ *) 0x7fff7205eec0
thr_func = (void *(*)(void *)) 0x499a20 <sched_thread_func>
---Type <return> to continue, or q <return> to quit---
arg = (void *) 0x7fe7241e1978
#6 0x00007fe7248653ba in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#7 0x00007fe7243c9fcd in clone () from /lib/libc.so.6
No symbol table info available.
#8 0x0000000000000000 in ?? ()
No symbol table info available.
(gdb) info threads
6 process 2911 0x00007fe7248692e9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
5 process 2913 0x00007fe7248692e9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
4 process 2912 0x00007fe7248692e9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
3 process 2892 0x00007fe7243c2742 in select () from /lib/libc.so.6
2 process 2910 0x00007fe72486bedb in read () from /lib/libpthread.so.0
* 1 process 2914 B_plus_minus (x=0x7fe7227dddc8, xl=1, xsgn=0, y=0x7fe715137448, yl=0, ysgn=<value optimized out>, r=0x7fe715137448) at beam/big.c:517
(gdb) q
Script done on Tue Mar 23 13:58:19 2010
More information about the erlang-bugs
mailing list