Erlang/OTP Forums

Author Message

<  Erlang bugs mailing list  ~  Erlang seg faults while running ejabberd

tty at SAFe-mail.net
Posted: Mon Mar 14, 2005 9:43 pm Reply with quote
Guest
Hi,

Erlang seg. faults while running ejabberd. My particular environment is:

SuSE v9.0
Linux 2.4.21-243-default
gcc version 3.3.1 (SuSE Linux)
Erlang (HIPE) (BEAM) emulator version 5.4.4
ejabberd 0.7.5

Backtrace result is:


#0 0x4010fde8 in strcmp () from /lib/i686/libc.so.6
#1 0x40a28064 in obj_name_cmp () from /usr/lib/libcrypto.so.0.9.7
#2 0x40a7fc74 in ?? ()
#3 0x40638c74 in empty.0 () from /usr/lib/libssl.so.0.9.7
#4 0x000000ba in ?? ()
#5 0x080957b6 in driver_alloc (size=139071024) at erl_alloc.h:187
#6 0x03149d58 in ?? ()
#7 0x084a0a20 in ?? ()
#8 0x00008000 in ?? ()
#9 0x084a0e08 in ?? ()
#10 0x40a26e25 in lh_insert () from /usr/lib/libcrypto.so.0.9.7
#11 0x084a0a20 in ?? ()
#12 0x084a0e08 in ?? ()
#13 0xbfffec58 in ?? ()
#14 0x409b290e in OBJ_NAME_add () from /usr/lib/libcrypto.so.0.9.7
#15 0x40a52ce4 in __JCR_LIST__ () from /usr/lib/libcrypto.so.0.9.7
#16 0x00000001 in ?? ()
#17 0x00008000 in ?? ()
#18 0xbfffecb8 in ?? ()
#19 0x409b28c8 in OBJ_NAME_add () from /usr/lib/libcrypto.so.0.9.7
#20 0x080f0ee0 in erts_sys_alloc (t=139070968, x=0x84a0e20, sz=1083910344) at sys/unix/sys.c:3035
Previous frame inner to this frame (corrupt stack?)


A list shows:

3035 void *res = malloc((size_t) sz);
3036 #if HAVE_ERTS_MSEG
3037 if (!res) {
3038 erts_mseg_clear_cache();
3039 return malloc((size_t) sz);
3040 }
3041 #endif
3042 return res;
3043 }


Reproducing this takes around 2-3 tries on average.

Steps:

1. Setup a distributed ejabberd cluster (Node A and Node B). Both nodes have the same tables in mnesia
distributed using the same type (eg route is ram_copies on both nodes, offline_msg disc_only_copies on both etc).

2. Login on both nodes with one client each (tkabber was use in this case), Ca - client on Node A, Cb - client on Node B.

3. Ca chats with Cb.

4. Shutdown Node A.

5. Bring Node A back up.

6. Cb logs off.

7. Cb logs in.

At this point Node B should seg fault. As noted earlier it might require several attempts to obtain the seg fault.

Thanks in advance

totem




Post generated using Mail2Forum (http://m2f.sourceforge.net)
tty at SAFe-mail.net
Posted: Mon Mar 14, 2005 9:51 pm Reply with quote
Guest
Hi,

Apologies if this was sent twice.

Erlang seg. faults while running ejabberd. My particular environment is:

SuSE v9.0
Linux 2.4.21-243-default
gcc version 3.3.1 (SuSE Linux)
Erlang (HIPE) (BEAM) emulator version 5.4.4
ejabberd 0.7.5

Backtrace result is:


#0 0x4010fde8 in strcmp () from /lib/i686/libc.so.6
#1 0x40a28064 in obj_name_cmp () from /usr/lib/libcrypto.so.0.9.7
#2 0x40a7fc74 in ?? ()
#3 0x40638c74 in empty.0 () from /usr/lib/libssl.so.0.9.7
#4 0x000000ba in ?? ()
#5 0x080957b6 in driver_alloc (size=139071024) at erl_alloc.h:187
#6 0x03149d58 in ?? ()
#7 0x084a0a20 in ?? ()
#8 0x00008000 in ?? ()
#9 0x084a0e08 in ?? ()
#10 0x40a26e25 in lh_insert () from /usr/lib/libcrypto.so.0.9.7
#11 0x084a0a20 in ?? ()
#12 0x084a0e08 in ?? ()
#13 0xbfffec58 in ?? ()
#14 0x409b290e in OBJ_NAME_add () from /usr/lib/libcrypto.so.0.9.7
#15 0x40a52ce4 in __JCR_LIST__ () from /usr/lib/libcrypto.so.0.9.7
#16 0x00000001 in ?? ()
#17 0x00008000 in ?? ()
#18 0xbfffecb8 in ?? ()
#19 0x409b28c8 in OBJ_NAME_add () from /usr/lib/libcrypto.so.0.9.7
#20 0x080f0ee0 in erts_sys_alloc (t=139070968, x=0x84a0e20, sz=1083910344) at sys/unix/sys.c:3035
Previous frame inner to this frame (corrupt stack?)


A list shows:

3035 void *res = malloc((size_t) sz);
3036 #if HAVE_ERTS_MSEG
3037 if (!res) {
3038 erts_mseg_clear_cache();
3039 return malloc((size_t) sz);
3040 }
3041 #endif
3042 return res;
3043 }


Reproducing this takes around 2-3 tries on average.

Steps:

1. Setup a distributed ejabberd cluster (Node A and Node B). Both nodes have the same tables in mnesia
distributed using the same type (eg route is ram_copies on both nodes, offline_msg disc_only_copies on both etc).

2. Login on both nodes with one client each (tkabber was use in this case), Ca - client on Node A, Cb - client on Node B.

3. Ca chats with Cb.

4. Shutdown Node A.

5. Bring Node A back up.

6. Cb logs off.

7. Cb logs in.

At this point Node B should seg fault. As noted earlier it might require several attempts to obtain the seg fault.

Thanks in advance

totem




Post generated using Mail2Forum (http://m2f.sourceforge.net)

Display posts from previous:  

All times are GMT
Page 1 of 1
This forum is locked: you cannot post, reply to, or edit topics.

Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum