[jadmin] Jabber 1.4.3 problem -- segfault after upgrade from ubuntu 5 to ubuntu 6.06

Victor Danilchenko victor at askonline.net
Sun Oct 21 21:20:05 CDT 2007


	(it's jabber 1.4.3 according to 'dpkg --list', this doesn't seem to 
correspond with the official jabber versioning nomenclature?..)

	I ran jabberd in debug mode. It accepts one login, and upon logout, it 
segaults, so no more than one login is ever possible. It was working 
fine under the previous OS distro, I just did the upgrade two days 
ago... any idea what's wrong?

	I tried it with three different clients, with the same result. I use 
MUC, but I disabled it for the testing, and the segfault still occurs 
without it.

	Here is the debug output preceding the segfault, right after I log out:


Sun Oct 21 21:57:02 2007  mio.c:829 mio while loop, working
Sun Oct 21 21:57:02 2007  mio.c:977 MIO read from socket 17: 
</stream:stream>
Sun Oct 21 21:57:02 2007  c2s [client.c:282] pthsock_client_read called 
with: m:812E520 flag:4 arg:812E4A0
Sun Oct 21 21:57:02 2007  c2s [client.c:287] io_select Socket 17 close 
notification
Sun Oct 21 21:57:02 2007  deliver.c:474 DELIVER 4:demo.askonline.net 
<route type='error' to='victor at demo.askonline.net/81E7E18' 
from='17 at c2s/812E520'/>
Sun Oct 21 21:57:02 2007  deliver.c:678 delivering to instance 'sessions'
Sun Oct 21 21:57:02 2007  deliver.c:95 (80D18E0)incoming packet <route 
type='error' to='victor at demo.askonline.net/81E7E18' from='17 at c2s/812E520'/>
Sun Oct 21 21:57:02 2007  users.c:143 
js_user(victor at demo.askonline.net,8130320)
Sun Oct 21 21:57:02 2007  sessions.c:159 end 136216088 'Disconnected'
Sun Oct 21 21:57:02 2007  mio_ssl.c:133 SSL Cleanup for 0
Sun Oct 21 21:57:02 2007  mio.c:505 freed MIO socket
Sun Oct 21 21:57:02 2007  mtq 8141DF0 entering from pth
Sun Oct 21 21:57:02 2007  mtq 8141DF0 queue call 81E7E18
Sun Oct 21 21:57:02 2007  sessions.c:331 THREAD:SESSION exiting
Sun Oct 21 21:57:02 2007  modules.c:135 mapi_call 2
Sun Oct 21 21:57:02 2007  modules.c:158 MAPI 81E80B8
Sun Oct 21 21:57:02 2007  mod_last storing last for user 
victor at demo.askonline.net
Segmentation fault
# Sun Oct 21 21:57:02 2007  dnsrv.c:155 dnsrv: Read error on 
coprocess(1): 0 Success
Sun Oct 21 21:57:02 2007  dnsrv.c:169 DNSRV CHILD: out of loop.. exiting 
normal


	A couple of times, instead of a segfault, there's a 'memory leak 
detected' error at the same point, with the same result -- server dies.

	BTW, I tried to look at the coredump (set the limit to 10000 blocks), 
but no coredump is created... does jabberd do something funny to change 
where and/or how core id dumped? Anyway, here is the last few lines of 
strace output, right before the segfault... not sure if they help:

sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN], []) = 0
gettimeofday({1193018905, 976875}, NULL) = 0
rt_sigpending([])                       = 0
read(3, 0x809f8a4, 128)                 = -1 EAGAIN (Resource 
temporarily unavailable)
rt_sigprocmask(SIG_SETMASK, [], ~[KILL STOP RTMIN RT_1], 8) = 0
select(16, [3 15], [], [], {0, 0})      = 0 (Timeout)
rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1], NULL, 8) = 0
gettimeofday({1193018905, 977593}, NULL) = 0
sigprocmask(SIG_SETMASK, [], ~[KILL STOP RTMIN]) = 0
time(NULL)                              = 1193018905
write(2, "Sun Oct 21 22:08:25 2007  mtq 81"..., 55Sun Oct 21 22:08:25 
2007  mtq 8141DF0 entering from pth) = 55
write(2, "\n", 1
)                       = 1
time(NULL)                              = 1193018905
write(2, "Sun Oct 21 22:08:25 2007  mtq 81"..., 56Sun Oct 21 22:08:25 
2007  mtq 8141DF0 queue call 81E7E18) = 56
write(2, "\n", 1
)                       = 1
time(NULL)                              = 1193018905
write(2, "Sun Oct 21 22:08:25 2007  sessio"..., 63Sun Oct 21 22:08:25 
2007  sessions.c:331 THREAD:SESSION exiting) = 63
write(2, "\n", 1
)                       = 1
time(NULL)                              = 1193018905
write(2, "Sun Oct 21 22:08:25 2007  module"..., 51Sun Oct 21 22:08:25 
2007  modules.c:135 mapi_call 2) = 51
write(2, "\n", 1
)                       = 1
time(NULL)                              = 1193018905
write(2, "Sun Oct 21 22:08:25 2007  module"..., 52Sun Oct 21 22:08:25 
2007  modules.c:158 MAPI 81E80B8) = 52
write(2, "\n", 1
)                       = 1
time(NULL)                              = 1193018905
write(2, "Sun Oct 21 22:08:25 2007  mod_la"..., 82Sun Oct 21 22:08:25 
2007  mod_last storing last for user victor at demo.askonline.net) = 82
write(2, "\n", 1
)                       = 1
time(NULL)                              = 1193018905
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
Sun Oct 21 22:08:25 2007  dnsrv.c:155 dnsrv: Read error on coprocess(1): 
0 Success
Sun Oct 21 22:08:25 2007  dnsrv.c:169 DNSRV CHILD: out of loop.. exiting 
normal
+++ killed by SIGSEGV (core dumped) +++




	Any idea on what causes this problem, you fine, beautiful, brilliant 
people?.. This is a production server, I am desperate...

-- 
	Victor Danilchenko
	Senior Software Engineer, AskOnline.net
	victor at askonline.net - 617-273-0119


More information about the JAdmin mailing list