[erlang-bugs] beam segfault
Lukas Larsson
lukas@REDACTED
Wed Oct 9 12:17:53 CEST 2013
Most often when you see something go wrong in the allocator code, it is
because somewhere there is a driver/nif that has been writing just
outside a buffer allocated by driver_alloc. So check any non-otp
drivers/nifs that you use for memory corruption bugs.
Also if you can reproduce the error, then running it with a debug
compiled erlang emulator should help to point at the error.
Lukas
On 09/10/13 12:04, 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 <ruan.jonker@REDACTED
> <mailto:ruan.jonker@REDACTED>> 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
> <ruan.jonker@REDACTED <mailto:ruan.jonker@REDACTED>> 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 <tel:84%2096%2000%2000%2000> 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 <tel:%2B27824619036>
>
> _______________________________________________
> erlang-bugs mailing list
> erlang-bugs@REDACTED <mailto:erlang-bugs@REDACTED>
> http://erlang.org/mailman/listinfo/erlang-bugs
>
>
>
>
> --
> J.
>
>
> _______________________________________________
> erlang-bugs mailing list
> erlang-bugs@REDACTED
> http://erlang.org/mailman/listinfo/erlang-bugs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-bugs/attachments/20131009/b6ed6929/attachment.htm>
More information about the erlang-bugs
mailing list