On Wed, Jun 1, 2011 at 4:18 PM, Daniel-Constantin Mierla
<miconda(a)gmail.com>wrote;wrote:
Any issues still going on with the module?
Best regards,
Daniel
Hi Daniel,
yes, there are still several issues we've found. I hope that you or the
other authors of the module will find some time to look into the issues.
1. last member in the chat room exits + call of ./kamctl fifo imc_list_rooms
crashes Kamailio.
Working example (no bugs): oz(a)abc.hr creates chat room chat-555(a)abc.hr.
Doesn't write messages to the chat room. Exits (#exit). Receives message:
"The room has been destroyed". Call of ./kamctl fifo imc_list_rooms works
fine and doesn't display the room which was just destroyed.
Example which crashes Kamailio: oz(a)abc.hr creates chat room chat-555(a)abc.hr.
Writes something to the chat room. Exits (#exit). No messages are displayed
in SIP client, although he should get "The room has been destroyed". Call of
./kamctl fifo imc_list_rooms doesn't display anything (although there are
other rooms besides chat-555(a)abc.hr) and crashes Kamailio. In the database,
in imc_rooms, chat-555(a)abc.hr is still there, but there are no members in
imc_members table. Log:
#processing of #exit
Jun 2 16:21:49 ser-test ./kamailio[5547]: INFO: <script>: going to imc: F [
sip:oz@abc.hr] T [sip:chat-555@abc.hr] B [#exit]
Jun 2 16:21:49 ser-test ./kamailio[5547]: DEBUG: imc [imc.c:525]: found
command
Jun 2 16:21:49 ser-test ./kamailio[5547]: DEBUG: imc [imc_cmd.c:146]:
command: [exit]
Jun 2 16:21:49 ser-test ./kamailio[5547]: DEBUG: imc [imc_mng.c:373]: found
member
Jun 2 16:21:49 ser-test ./kamailio[5547]: DEBUG: imc [imc_cmd.c:1091]: nr =
0
#Call of ./kamctl fifo imc_list_rooms
Jun 2 16:22:02 ser-test ./kamailio[5550]: DEBUG: mi_fifo [fifo_fnc.c:493]:
entered consume
Jun 2 16:22:02 ser-test kernel: [5934996.535094] kamailio[5550]: segfault
at 10 ip 7f85c0b92a46 sp 7fffffffc700 error 4 in imc.so[7f85c0b8c000+17000]
Jun 2 16:22:02 ser-test ./kamailio[5550]: DEBUG: mi_fifo [fifo_fnc.c:493]:
**** done consume
Jun 2 16:22:02 ser-test ./kamailio[5550]: DEBUG: mi_fifo [fifo_fnc.c:507]:
done parsing the mi tree
Jun 2 16:22:02 ser-test ./kamailio[5557]: : <core> [pass_fd.c:293]: ERROR:
receive_fd: EOF on 23
Jun 2 16:22:02 ser-test ./kamailio[5557]: DEBUG: <core> [tcp_main.c:3554]:
DBG: handle_ser_child: dead child 11, pid 5550 (shutting down?)
Jun 2 16:22:02 ser-test ./kamailio[5557]: DEBUG: <core> [io_wait.h:617]:
DBG: io_watch_del (0x81b400, 23, -1, 0x0) fd_no=23 called
Jun 2 16:22:02 ser-test ./kamailio[5539]: ALERT: <core> [main.c:741]: child
process 5550 exited by a signal 11
Jun 2 16:22:02 ser-test ./kamailio[5539]: ALERT: <core> [main.c:744]: core
was generated
Jun 2 16:22:02 ser-test ./kamailio[5539]: INFO: <core> [main.c:756]: INFO:
terminating due to SIGCHLD
Jun 2 16:22:02 ser-test ./kamailio[5540]: INFO: <core> [main.c:807]: INFO:
signal 15 received
Jun 2 16:22:02 ser-test ./kamailio[5541]: INFO: <core> [main.c:807]: INFO:
signal 15 received
Jun 2 16:22:02 ser-test ./kamailio[5542]: INFO: <core> [main.c:807]: INFO:
signal 15 received
Jun 2 16:22:02 ser-test ./kamailio[5543]: INFO: <core> [main.c:807]: INFO:
signal 15 received
Jun 2 16:22:02 ser-test ./kamailio[5544]: INFO: <core> [main.c:807]: INFO:
signal 15 received
Jun 2 16:22:02 ser-test ./kamailio[5545]: INFO: <core> [main.c:807]: INFO:
signal 15 received
Jun 2 16:22:02 ser-test ./kamailio[5546]: INFO: <core> [main.c:807]: INFO:
signal 15 received
Jun 2 16:22:02 ser-test ./kamailio[5547]: INFO: <core> [main.c:807]: INFO:
signal 15 received
Jun 2 16:22:02 ser-test ./kamailio[5548]: INFO: <core> [main.c:807]: INFO:
signal 15 received
Jun 2 16:22:02 ser-test ./kamailio[5551]: INFO: <core> [main.c:807]: INFO:
signal 15 received
Jun 2 16:22:02 ser-test ./kamailio[5552]: INFO: <core> [main.c:807]: INFO:
signal 15 received
Jun 2 16:22:02 ser-test ./kamailio[5553]: INFO: <core> [main.c:807]: INFO:
signal 15 received
Jun 2 16:22:02 ser-test ./kamailio[5549]: INFO: <core> [main.c:807]: INFO:
signal 15 received
Jun 2 16:22:02 ser-test ./kamailio[5554]: INFO: <core> [main.c:807]: INFO:
signal 15 received
Jun 2 16:22:02 ser-test ./kamailio[5555]: INFO: <core> [main.c:807]: INFO:
signal 15 received
Jun 2 16:22:02 ser-test ./kamailio[5556]: INFO: <core> [main.c:807]: INFO:
signal 15 received
Jun 2 16:22:02 ser-test ./kamailio[5557]: INFO: <core> [main.c:807]: INFO:
signal 15 received
Jun 2 16:22:02 ser-test ./kamailio[5539]: DEBUG: imc [imc.c:709]: room 11
chat-555
Backtrace: (same as for #join to private conference described in other
topic!)
#0 0x00007f85c557eed5 in raise () from /lib/libc.so.6
#1 0x00007f85c55803f3 in abort () from /lib/libc.so.6
#2 0x000000000046119e in sig_alarm_abort (signo=<value optimized out>) at
main.c:651
#3 <signal handler called>
#4 0x00007f85c5619307 in syscall () from /lib/libc.so.6
#5 0x00007f85c0b9c0c6 in imc_del_room (name=0x7f85be80a388,
domain=0x7f85be80a398) at ../../mem/../futexlock.h:123
#6 0x00007f85c0b9c1d8 in imc_htable_destroy () at imc_mng.c:104
#7 0x00007f85c0b9047a in destroy () at imc.c:736
#8 0x00000000004d9964 in destroy_modules () at sr_module.c:732
#9 0x0000000000462930 in cleanup (show_status=1) at main.c:527
#10 0x0000000000463564 in shutdown_children (sig=<value optimized out>,
show_status=1) at main.c:668
#11 0x0000000000463e9c in handle_sigs () at main.c:759
#12 0x0000000000465572 in main_loop () at main.c:1676
#13 0x0000000000467f53 in main (argc=<value optimized out>, argv=0x0) at
main.c:2398
2. #remove command prints wrong info.
Example: oz(a)abc.hr creates chat room chat-555(a)abc.hr. Invites
slavko(a)abc.hr(#invite
slavko(a)abc.hr). Invites pero(a)abc.hr. Both of them join with #accept.
oz(a)abc.hr removes pero (#remove pero(a)abc.hr). Pero's client displays
messages: "You have been removed from this room." and Pero can't send
messages to chat room any more. However, Oz's and Slavko's clients display
message: "<sip:pero@abc.hr> has joined the room".
3. #invite & #remove commands do not work after typing some text in
conference room.
Example 1: oz(a)abc.hr creates chat room chat-555(a)abc.hr. Invites
slavko(a)abc.hr (#invite slavko(a)abc.hr). Invites pero(a)abc.hr. Both of them
join with #accept. Pero and Slavko write messages to chat room. Oz can
remove them at this point. However, after Oz writes a message to chat room,
he can't remove members any more and receives 500 command error. Log:
Jun 2 14:58:42 ser-test /usr/local/kamailio-ozren/sbin/kamailio[4139]:
INFO: <script>: going to imc: F [sip:oz@abc.hr] T [sip:chat-555@abc.hr] B
[#remove slavko(a)abc.hr]
Jun 2 14:58:42 ser-test /usr/local/kamailio-ozren/sbin/kamailio[4139]:
DEBUG: imc [imc.c:525]: found command
Jun 2 14:58:42 ser-test /usr/local/kamailio-ozren/sbin/kamailio[4139]:
DEBUG: imc [imc_cmd.c:146]: command: [remove]
Jun 2 14:58:42 ser-test /usr/local/kamailio-ozren/sbin/kamailio[4139]:
DEBUG: imc [imc_cmd.c:151]: parameter 0=[slavko(a)abc.hr]
Jun 2 14:58:42 ser-test /usr/local/kamailio-ozren/sbin/kamailio[4139]:
DEBUG: imc [imc_mng.c:373]: found member
Jun 2 14:58:42 ser-test /usr/local/kamailio-ozren/sbin/kamailio[4139]:
ERROR: imc [imc_cmd.c:664]: user [oz] has no right to remove other users [
sip:slavko@abc.hr]!
Jun 2 14:58:42 ser-test /usr/local/kamailio-ozren/sbin/kamailio[4139]:
ERROR: imc [imc.c:578]: failed to handle 'remove'
./kamctl fifo imc_list_rooms
ROOM:: URI=sip:chat-555@abc.hr MEMBERS=0 OWNER=sip:oz@abc.hr
./kamctl fifo imc_list_members sip:chat-555@abc.hr
ROOM:: sip:chat-555@abc.hr NR_OF_MEMBERS=2
MEMBER:: sip:oz@abc.hr
MEMBER:: sip:slavko@abc.hr
Example 2: oz(a)abc.hr creates chat room chat-666(a)abc.hr. Invites
slavko(a)abc.hr. Slavko joins with #accept. Oz writes a message to chat room.
Invites pero(a)abc.hr. Imc manager returns 500 command error. (NOTE: If Oz
doesn't write any text to chat room, he can invite multiple users.) Here is
the log:
Jun 2 16:42:43 ser-test /usr/local/kamailio-ozren/sbin/kamailio[5848]:
INFO: <script>: going to imc: F [sip:oz@abc.hr] T [sip:chat-666@abc.hr] B
[#invite pero(a)abc.hr]
Jun 2 16:42:43 ser-test /usr/local/kamailio-ozren/sbin/kamailio[5848]:
DEBUG: imc [imc.c:525]: found command
Jun 2 16:42:43 ser-test /usr/local/kamailio-ozren/sbin/kamailio[5848]:
DEBUG: imc [imc_cmd.c:146]: command: [invite]
Jun 2 16:42:43 ser-test /usr/local/kamailio-ozren/sbin/kamailio[5848]:
DEBUG: imc [imc_cmd.c:151]: parameter 0=[pero(a)abc.hr]
Jun 2 16:42:43 ser-test /usr/local/kamailio-ozren/sbin/kamailio[5848]:
DEBUG: imc [imc_mng.c:373]: found member
Jun 2 16:42:43 ser-test /usr/local/kamailio-ozren/sbin/kamailio[5848]:
ERROR: imc [imc_cmd.c:441]: user [oz] has no right to invite other users!
Jun 2 16:42:43 ser-test /usr/local/kamailio-ozren/sbin/kamailio[5848]:
ERROR: imc [imc.c:554]: failed to handle 'invite'
./kamctl fifo imc_list_rooms
ROOM:: URI=sip:chat-666@abc.hr MEMBERS=0 OWNER=sip:oz@abc.hr
./kamctl fifo imc_list_members sip:chat-666@abc.hr
ROOM:: sip:chat-666@abc.hr NR_OF_MEMBERS=2
MEMBER:: sip:oz@abc.hr
MEMBER:: sip:slavko@abc.hr
4. ./kamctl fifo imc_list_rooms command doesn't report correct number of
members in the room, number of members remains 0, although members have
successfully joined the chat room and ./kamctl fifo imc_list_members
sip:chat-555@abc.hr returns correct number of members.
Best regards,
Ozren