hipe segmentation fault

Serge Aleynikov serge@REDACTED
Mon Apr 3 16:30:15 CEST 2006


Ops...  Sorry, this test case was taken from Rickard Green's post on 
profiling P11B smp scheduling support.  I wanted to run it on multi-cpu 
host, and installed R10B-10 and P11B releases with and without hipe.

I don't think this problem is related to some memory corruption.  This 
is what I tried to do in order to diagnose the problem:

I recompiled erts with gcc's "-g -O0" options, and then:

$ ulimit -c unlimited
$ erl -emu_args
Executing: /usr/local/lib/erlang/erts-5.4.13/bin/beam 
/usr/local/lib/erlang/erts-5.4.13/bin/beam -- -root 
/usr/local/lib/erlang -progname erl -- -home /home/serge

Erlang (BEAM) emulator version 5.4.13 [source] [hipe] [threads:0]

Eshell V5.4.13  (abort with ^G)
1> c(big, [native]).
{ok,big}
2> big:bang(4).
Segmentation fault (core dumped)

$ gdb /usr/local/lib/erlang/erts-5.4.13/bin/beam core.18921
GNU gdb Red Hat Linux (6.1post-1.20040607.62rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain 
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host 
libthread_db library "/lib/tls/libthread_db.so.1".

Core was generated by `/usr/local/lib/erlang/erts-5.4.13/bin/beam -- 
-root /usr/local/lib/erlang -prog'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/tls/libm.so.6...done.
Loaded symbols for /lib/tls/libm.so.6
Reading symbols from /usr/lib/libncurses.so.5...done.
Loaded symbols for /usr/lib/libncurses.so.5
Reading symbols from /lib/tls/libpthread.so.0...done.
Loaded symbols for /lib/tls/libpthread.so.0
Reading symbols from /lib/tls/librt.so.1...done.
Loaded symbols for /lib/tls/librt.so.1
Reading symbols from /lib/tls/libc.so.6...done.
Loaded symbols for /lib/tls/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
#0  0x08aae41c in ?? ()
(gdb) bt
#0  0x08aae41c in ?? ()
#1  0x080f0f63 in x86_call_to_native () at hipe/hipe_x86_glue.S:42
#2  0x00000000 in ?? ()
(gdb)

...

Looking at hipe_x86_glue.S:42:

x86_call_to_native:
     ENTER_FROM_C
     /* get argument registers */
     LOAD_ARG_REGS
     /* call the target */
     NSP_CALL(*P_NCALLEE(P))  <-- Failing here

I'm not sure what this call does, but maybe Mikael can give a clue.

Regards,

Serge

Matthias Lang wrote:
> Serge Aleynikov writes:
>  > Any advice on what might be causing this seg fault?
> 
> Did you forget to attach 'big.erl', or did you deliberately leave it
> out? (that would at least give you some feedback on whether it happens
> on other people's setups too)
> 
> Matthias
> 

-- 
Serge Aleynikov
R&D Telecom, IDT Corp.
Tel: (973) 438-3436
Fax: (973) 438-1464
serge@REDACTED
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: big.erl
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20060403/318a02e5/attachment.ksh>


More information about the erlang-questions mailing list