[erlang-bugs] beam segfault

Max Bourinov <>
Wed Oct 9 12:14:54 CEST 2013


Hi Jesper,

That is very reasonable. I also wanted to suggest an update.
Best regards,
Max

skype: max.bourinov


On Wed, Oct 9, 2013 at 12:04 PM, Jesper Louis Andersen
<> wrote:
> Have you tried running a git blame on the allocator code to see if there is
> a change recently to it? R14B04 is pretty old, so the code base might have
> changed quite a lot since then.
>
>
> On Wed, Oct 9, 2013 at 6:14 AM, Ruan Jonker <> wrote:
>>
>> Hi All,
>>
>> Just some more info :
>>
>>
>> addr2line -e  /home/mtrouter/mira_mt_router/erts-5.8.5/bin/beam 0808f818
>> /home/erlang/src/otp_src_R14B04/erts/emulator/beam/erl_bestfit_alloc.c:228
>>
>> BR
>>
>> Ruan
>>
>>
>>
>>
>> On Tue, Oct 8, 2013 at 10:14 AM, Ruan Jonker <>
>> wrote:
>>>
>>> Hi All,
>>>
>>> I've recently encountered the following in dmesg output after one of my
>>> VM's crashed:
>>>
>>> >>> dmesg output start
>>> [2827116.693283] beam[28297]: segfault at 0000000c eip 0808f818 esp
>>> bff7a294 error 4
>>> >>> dmesg output end
>>>
>>> Here is a disassembly of beam with some context around 808f818 :
>>>
>>> >>> disassembly start
>>>  808f7fa: 5f                    pop    %edi
>>>  808f7fb: c3                    ret
>>>  808f7fc: 8b 51 0c              mov    0xc(%ecx),%edx
>>>  808f7ff: 39 da                 cmp    %ebx,%edx
>>>  808f801: 0f 84 96 00 00 00     je     808f89d <tree_insert_fixup+0x11d>
>>>  808f807: 8b 43 08              mov    0x8(%ebx),%eax
>>>  808f80a: 8b 50 08              mov    0x8(%eax),%edx
>>>  808f80d: 83 60 04 fd           andl   $0xfffffffd,0x4(%eax)
>>>  808f811: 8b 4a 10              mov    0x10(%edx),%ecx
>>>  808f814: 83 4a 04 02           orl    $0x2,0x4(%edx)
>>>  808f818: 8b 41 0c              mov    0xc(%ecx),%eax
>>>  808f81b: 85 c0                 test   %eax,%eax
>>>  808f81d: 89 42 10              mov    %eax,0x10(%edx)
>>>  808f820: 74 03                 je     808f825 <tree_insert_fixup+0xa5>
>>>  808f822: 89 50 08              mov    %edx,0x8(%eax)
>>>  808f825: 8b 42 08              mov    0x8(%edx),%eax
>>>  808f828: 85 c0                 test   %eax,%eax
>>>  808f82a: 89 41 08              mov    %eax,0x8(%ecx)
>>>  808f82d: 74 6a                 je     808f899 <tree_insert_fixup+0x119>
>>>  808f82f: 8b 42 08              mov    0x8(%edx),%eax
>>>  808f832: 3b 50 0c              cmp    0xc(%eax),%edx
>>> >>> disassembly start
>>>
>>> ldd erts-5.8.5/bin/beam
>>> linux-gate.so.1 =>  (0xb76fe000)
>>> libutil.so.1 => /lib/tls/i686/cmov/libutil.so.1 (0xb76f2000)
>>> libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb76ee000)
>>> libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb76c8000)
>>> libncurses.so.5 => /lib/libncurses.so.5 (0xb7698000)
>>> libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7680000)
>>> librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb7677000)
>>> libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7528000)
>>> /lib/ld-linux.so.2 (0xb76ff000)
>>>
>>> I'm running R14B04 on ubuntu 8.04 32bit built using gcc:
>>>
>>> gcc -v
>>> Using built-in specs.
>>> Target: i486-linux-gnu
>>> Configured with: ../src/configure -v
>>> --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr
>>> --enable-shared --with-system-zlib --libexecdir=/usr/lib
>>> --without-included-gettext --enable-threads=posix --enable-nls
>>> --with-gxx-include-dir=/usr/include/c++/4.2 --program-suffix=-4.2
>>> --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr
>>> --enable-targets=all --enable-checking=release --build=i486-linux-gnu
>>> --host=i486-linux-gnu --target=i486-linux-gnu
>>> Thread model: posix
>>> gcc version 4.2.4 (Ubuntu 4.2.4-1ubuntu4)
>>>
>>>
>>> Has anybody seen something similar ?
>>>
>>> BR
>>>
>>> --
>>> Ruan Jonker
>>
>>
>>
>>
>> --
>> Ruan Jonker
>> South Africa
>> +27824619036
>>
>> _______________________________________________
>> erlang-bugs mailing list
>> 
>> http://erlang.org/mailman/listinfo/erlang-bugs
>>
>
>
>
> --
> J.
>
> _______________________________________________
> erlang-bugs mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-bugs
>


More information about the erlang-bugs mailing list