jabberd2 broken
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
jabberd2 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04 LTS
Release: 12.04
Codename: precise
2.2.8-2.2build1
I configured jabbered2. It shall connect to LDAP using the module ldapfull. When starting the service, we can see the following in the logs of c2s.log:
Wed May 9 18:44:00 2012 [notice] [9] [109.90.84.162, port=39344] connect
Wed May 9 18:44:00 2012 [notice] [9] [109.90.84.162, port=39344] error: XML parse error (not well-formed (invalid token))
Wed May 9 18:44:00 2012 [notice] [9] [109.90.84.162, port=39344] disconnect jid=unbound, packets: 0
I recompiled jabbered by modifying the debian/rules file:
…
DEB_BUILD_OPTIONS += debug
…
# dh_strip
Installed it with dpkg -i. I realized that jabbered now is not starting anymore with init.d. So I decided to start first the router with gdb and then the session manager and so on...
Starting the router from the source folder with gdb. The process starts. But if starting sm, the router crashes:
/usr/local/
GNU gdb (Ubuntu/Linaro 7.4-2012.
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://
Reading symbols from /usr/local/
(gdb) run -c /etc/jabberd2/
Starting program: /usr/local/
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_
Wed May 9 20:26:22 2012 [notice] starting up
Wed May 9 20:26:22 2012 [info] process id is 8314, written to /var/run/
Wed May 9 20:26:22 2012 user.c:33 loading user table
Wed May 9 20:26:22 2012 user.c:86 remembering user 'jabberd'
Wed May 9 20:26:22 2012 [notice] loaded user table (1 users)
Wed May 9 20:26:22 2012 aci.c:37 loading aci
Wed May 9 20:26:22 2012 aci.c:56 building list for 'all'
Wed May 9 20:26:22 2012 aci.c:77 added 'jabberd'
Wed May 9 20:26:22 2012 filter.c:50 loading filter
Wed May 9 20:26:22 2012 filter.c:93 building filter list
Wed May 9 20:26:22 2012 [notice] loaded filters (0 rules)
sx (sasl_gsasl.c:858) initialising sasl plugin
sx (sasl_gsasl.c:885) sasl context initialised
sx (env.c:75) plugin initialised (index 0)
Wed May 9 20:26:22 2012 [notice] [0.0.0.0, port=5347] listening for incoming connections
Wed May 9 20:26:27 2012 main.c:446 running time checks
Wed May 9 20:26:27 2012 main.c:451 next time check at 1336588047
Wed May 9 20:26:34 2012 router.c:904 accept action on fd 10
Wed May 9 20:26:34 2012 [notice] [127.0.0.1, port=44223] connect
sx (sx.c:52) allocated new sx for 10
sx (server.c:236) doing server init for sx 10
sx (server.c:251) waiting for stream header
sx (server.c:254) tag 10 event 0 data 0x0
Wed May 9 20:26:34 2012 router.c:515 want read
Wed May 9 20:26:34 2012 router.c:855 read action on fd 10
sx (io.c:191) 10 ready for reading
sx (io.c:197) tag 10 event 2 data 0x631180
Wed May 9 20:26:34 2012 router.c:525 reading from 10
Wed May 9 20:26:34 2012 router.c:583 read 98 bytes
sx (io.c:216) passed 98 read bytes
sx (chain.c:93) calling io read chain
sx (io.c:240) decoded read data (98 bytes): <?xml version=
sx (server.c:118) stream request: to (null) from (null) version 1.0
sx (server.c:133) 10 state change from 0 to 1
sx (server.c:151) stream id is y0nafoazosfdif3
sx (server.c:181) prepared stream response: <?xml version=
sx (io.c:256) tag 10 event 1 data 0x0
Wed May 9 20:26:34 2012 router.c:520 want write
Wed May 9 20:26:34 2012 router.c:869 write action on fd 10
sx (io.c:328) 10 ready for writing
sx (io.c:286) encoding 144 bytes for writing: <?xml version=
sx (chain.c:79) calling io write chain
sx (io.c:349) handing app 144 bytes to write
sx (io.c:350) tag 10 event 3 data 0x6315c0
Wed May 9 20:26:34 2012 router.c:590 writing to 10
Wed May 9 20:26:34 2012 router.c:594 144 bytes written
sx (server.c:29) stream established
sx (server.c:39) 10 state change from 1 to 3
sx (server.c:40) tag 10 event 4 data 0x0
sx (server.c:45) building features nad
sx (sasl_gsasl.c:353) offering sasl mechanisms
sx (sasl_gsasl.c:764) in _sx_sasl_
sx (sasl_gsasl.c:764) in _sx_sasl_
sx (sasl_gsasl.c:764) in _sx_sasl_
sx (sasl_gsasl.c:764) in _sx_sasl_
sx (sasl_gsasl.c:764) in _sx_sasl_
sx (sasl_gsasl.c:764) in _sx_sasl_
sx (sasl_gsasl.c:373) offering mechanism: DIGEST-MD5
sx (io.c:383) tag 10 event 0 data 0x0
Wed May 9 20:26:34 2012 router.c:515 want read
Wed May 9 20:26:34 2012 router.c:869 write action on fd 10
sx (io.c:328) 10 ready for writing
sx (io.c:286) encoding 182 bytes for writing: <stream:features xmlns:stream='http://
sx (chain.c:79) calling io write chain
sx (io.c:349) handing app 182 bytes to write
sx (io.c:350) tag 10 event 3 data 0x6315c0
Wed May 9 20:26:34 2012 router.c:590 writing to 10
Wed May 9 20:26:34 2012 router.c:594 182 bytes written
sx (io.c:383) tag 10 event 0 data 0x0
Wed May 9 20:26:34 2012 router.c:515 want read
Wed May 9 20:26:34 2012 router.c:855 read action on fd 10
sx (io.c:191) 10 ready for reading
sx (io.c:197) tag 10 event 2 data 0x6315c0
Wed May 9 20:26:34 2012 router.c:525 reading from 10
Wed May 9 20:26:34 2012 router.c:583 read 71 bytes
sx (io.c:216) passed 71 read bytes
sx (chain.c:93) calling io read chain
sx (io.c:240) decoded read data (71 bytes): <auth xmlns='
sx (io.c:92) completed nad: <auth xmlns='
sx (chain.c:119) calling nad read chain
sx (sasl_gsasl.c:410) auth request from client (mechanism=
sx (sasl_gsasl.c:459) sasl context initialised for 10
sx (sasl_gsasl.c:764) in _sx_sasl_
sx (sasl_gsasl.c:533) sasl handshake in progress (challenge: realm="
sx (chain.c:106) calling nad write chain
sx (io.c:406) queueing for write: <challenge xmlns='
sx (io.c:256) tag 10 event 1 data 0x0
Wed May 9 20:26:34 2012 router.c:520 want write
Wed May 9 20:26:34 2012 router.c:869 write action on fd 10
sx (io.c:328) 10 ready for writing
sx (io.c:286) encoding 204 bytes for writing: <challenge xmlns='
sx (chain.c:79) calling io write chain
sx (io.c:349) handing app 204 bytes to write
sx (io.c:350) tag 10 event 3 data 0x634760
Wed May 9 20:26:34 2012 router.c:590 writing to 10
Wed May 9 20:26:34 2012 router.c:594 204 bytes written
sx (io.c:383) tag 10 event 0 data 0x0
Wed May 9 20:26:34 2012 router.c:515 want read
Wed May 9 20:26:34 2012 router.c:855 read action on fd 10
sx (io.c:191) 10 ready for reading
sx (io.c:197) tag 10 event 2 data 0x634760
Wed May 9 20:26:34 2012 router.c:525 reading from 10
Wed May 9 20:26:34 2012 router.c:583 read 366 bytes
sx (io.c:216) passed 366 read bytes
sx (chain.c:93) calling io read chain
sx (io.c:240) decoded read data (366 bytes): <response xmlns='
sx (io.c:92) completed nad: <response xmlns='
sx (chain.c:119) calling nad read chain
sx (sasl_gsasl.c:509) response from client (decoded: username="jabberd", realm="
sx (sasl_gsasl.c:764) in _sx_sasl_
sx (sasl_gsasl.c:764) in _sx_sasl_
Wed May 9 20:26:34 2012 main.c:209 sx sasl callback: get pass (authnid=jabberd, realm=jabberd-
sx (sasl_gsasl.c:517) sasl handshake completed
sx (chain.c:106) calling nad write chain
sx (io.c:406) queueing for write: <success xmlns='
sx (io.c:256) tag 10 event 1 data 0x0
Wed May 9 20:26:34 2012 router.c:520 want write
Wed May 9 20:26:34 2012 router.c:869 write action on fd 10
sx (io.c:328) 10 ready for writing
sx (io.c:286) encoding 51 bytes for writing: <success xmlns='
sx (chain.c:79) calling io write chain
sx (io.c:349) handing app 51 bytes to write
sx (io.c:350) tag 10 event 3 data 0x636170
Wed May 9 20:26:34 2012 router.c:590 writing to 10
Wed May 9 20:26:34 2012 router.c:594 51 bytes written
sx (chain.c:28) adding io plugin
sx (sasl_gsasl.c:394) auth completed, resetting
sx (sx.c:145) resetting stream state
sx (sx.c:69) freeing sx for 10
sx (sx.c:52) allocated new sx for 10
sx (sx.c:200) finished resetting stream state
sx (server.c:236) doing server init for sx 10
sx (server.c:251) waiting for stream header
sx (server.c:254) tag 10 event 0 data 0x0
Wed May 9 20:26:34 2012 router.c:515 want read
sx (io.c:383) tag 10 event 0 data 0x0
Wed May 9 20:26:34 2012 router.c:515 want read
Wed May 9 20:26:34 2012 router.c:855 read action on fd 10
sx (io.c:191) 10 ready for reading
sx (io.c:197) tag 10 event 2 data 0x636170
Wed May 9 20:26:34 2012 router.c:525 reading from 10
Wed May 9 20:26:34 2012 router.c:583 read 98 bytes
sx (io.c:216) passed 98 read bytes
sx (chain.c:93) calling io read chain
sx (sasl_gsasl.c:244) doing sasl decode
sx (sasl_gsasl.c:260) 98 bytes decoded from sasl channel
Program received signal SIGSEGV, Segmentation fault.
_sx_chain_io_read (s=0x629c00, buf=0x635290) at chain.c:95
95 for(scan = s->rio; scan != NULL; scan = scan->rnext)
(gdb) bt
#0 _sx_chain_io_read (s=0x629c00, buf=0x635290) at chain.c:95
#1 0x0000000000408e23 in sx_can_read (s=0x629c00) at io.c:222
#2 0x000000000040503d in router_mio_callback (m=0x629970, a=<optimized out>, fd=0x629b10, data=0x0, arg=0x629b40) at router.c:866
#3 0x00000000004101a4 in _mio_run (m=0x629970, timeout=<optimized out>) at mio_impl.h:257
#4 0x0000000000404050 in main (argc=<optimized out>, argv=<optimized out>) at main.c:420
Status changed to 'Confirmed' because the bug affects multiple users.