[SR-Users] IMC module unresolved issues

Ozren Lapcevic ozren.lapcevic at gmail.com
Thu Jun 2 16:54:26 CEST 2011


On Wed, Jun 1, 2011 at 4:18 PM, Daniel-Constantin Mierla
<miconda at gmail.com>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 at abc.hr creates chat room chat-555 at 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 at abc.hr creates chat room chat-555 at 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 at abc.hr) and crashes Kamailio. In the database,
in imc_rooms, chat-555 at 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 at abc.hr] T [sip:chat-555 at 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 at abc.hr creates chat room chat-555 at abc.hr. Invites
slavko at abc.hr(#invite
slavko at abc.hr). Invites pero at abc.hr. Both of them join with #accept.
oz at abc.hr removes pero (#remove pero at 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 at abc.hr> has joined the room".


3. #invite & #remove commands do not work after typing some text in
conference room.
Example 1: oz at abc.hr creates chat room chat-555 at abc.hr. Invites
slavko at abc.hr (#invite slavko at abc.hr). Invites pero at 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 at abc.hr] T [sip:chat-555 at abc.hr] B
[#remove slavko at 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 at 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 at 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 at abc.hr MEMBERS=0 OWNER=sip:oz at abc.hr

./kamctl fifo imc_list_members sip:chat-555 at abc.hr
ROOM:: sip:chat-555 at abc.hr NR_OF_MEMBERS=2
        MEMBER:: sip:oz at abc.hr
        MEMBER:: sip:slavko at abc.hr

Example 2: oz at abc.hr creates chat room chat-666 at abc.hr. Invites
slavko at abc.hr. Slavko joins with #accept. Oz writes a message to chat room.
Invites pero at 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 at abc.hr] T [sip:chat-666 at abc.hr] B
[#invite pero at 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 at 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 at abc.hr MEMBERS=0 OWNER=sip:oz at abc.hr

./kamctl fifo imc_list_members sip:chat-666 at abc.hr
ROOM:: sip:chat-666 at abc.hr NR_OF_MEMBERS=2
        MEMBER:: sip:oz at abc.hr
        MEMBER:: sip:slavko at 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 at abc.hr returns correct number of members.


Best regards,
Ozren
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20110602/9e52cfb7/attachment-0001.htm>


More information about the sr-users mailing list