Hi,

I'm resending issue #1 described in previous mail, with backtraces from both the main process and the child process (previously I had posted only the main process) and log which is slightly different.

#Call of ./kamctl fifo imc_list_rooms
Jun  3 10:09:13 ser-test ./kamailio[15794]: : <core> [pass_fd.c:293]: ERROR: receive_fd: EOF on 23
Jun  3 10:09:13 ser-test ./kamailio[15794]: DEBUG: <core> [tcp_main.c:3554]: DBG: handle_ser_child: dead child 11, pid 15787 (shutting down?)
Jun  3 10:09:13 ser-test ./kamailio[15794]: DEBUG: <core> [io_wait.h:617]: DBG: io_watch_del (0x81b400, 23, -1, 0x0) fd_no=23 called
Jun  3 10:09:13 ser-test ./kamailio[15776]: ALERT: <core> [main.c:741]: child process 15787 exited by a signal 11
Jun  3 10:09:13 ser-test ./kamailio[15776]: ALERT: <core> [main.c:744]: core was generated
Jun  3 10:09:13 ser-test ./kamailio[15776]: INFO: <core> [main.c:756]: INFO: terminating due to SIGCHLD
Jun  3 10:09:13 ser-test ./kamailio[15777]: INFO: <core> [main.c:807]: INFO: signal 15 received
Jun  3 10:09:13 ser-test ./kamailio[15778]: INFO: <core> [main.c:807]: INFO: signal 15 received
Jun  3 10:09:13 ser-test ./kamailio[15779]: INFO: <core> [main.c:807]: INFO: signal 15 received
Jun  3 10:09:13 ser-test ./kamailio[15780]: INFO: <core> [main.c:807]: INFO: signal 15 received
Jun  3 10:09:13 ser-test ./kamailio[15781]: INFO: <core> [main.c:807]: INFO: signal 15 received
Jun  3 10:09:13 ser-test ./kamailio[15782]: INFO: <core> [main.c:807]: INFO: signal 15 received
Jun  3 10:09:13 ser-test ./kamailio[15783]: INFO: <core> [main.c:807]: INFO: signal 15 received
Jun  3 10:09:13 ser-test ./kamailio[15784]: INFO: <core> [main.c:807]: INFO: signal 15 received
Jun  3 10:09:13 ser-test ./kamailio[15785]: INFO: <core> [main.c:807]: INFO: signal 15 received
Jun  3 10:09:13 ser-test ./kamailio[15788]: INFO: <core> [main.c:807]: INFO: signal 15 received
Jun  3 10:09:13 ser-test ./kamailio[15789]: INFO: <core> [main.c:807]: INFO: signal 15 received
Jun  3 10:09:13 ser-test ./kamailio[15790]: INFO: <core> [main.c:807]: INFO: signal 15 received
Jun  3 10:09:13 ser-test ./kamailio[15791]: INFO: <core> [main.c:807]: INFO: signal 15 received
Jun  3 10:09:13 ser-test ./kamailio[15786]: INFO: <core> [main.c:807]: INFO: signal 15 received
Jun  3 10:09:13 ser-test ./kamailio[15792]: INFO: <core> [main.c:807]: INFO: signal 15 received
Jun  3 10:09:13 ser-test ./kamailio[15793]: INFO: <core> [main.c:807]: INFO: signal 15 received
Jun  3 10:09:13 ser-test ./kamailio[15794]: INFO: <core> [main.c:807]: INFO: signal 15 received
Jun  3 10:09:13 ser-test ./kamailio[15776]: DEBUG: imc [imc.c:709]: room 11 chat-555
Jun  3 10:10:13 ser-test ./kamailio[15776]: : <core> [main.c:650]: BUG: shutdown timeout triggered, dying...

Backtraces:
#0  0x00007f6441657ed5 in raise () from /lib/libc.so.6
#1  0x00007f64416593f3 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  0x00007f64416f2307 in syscall () from /lib/libc.so.6
#5  0x00007f643cc750c6 in imc_del_room (name=0x7f643a902100, domain=0x7f643a902110) at ../../mem/../futexlock.h:123
#6  0x00007f643cc751d8 in imc_htable_destroy () at imc_mng.c:104
#7  0x00007f643cc6947a 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

#0  0x00007f643cc6ba46 in imc_mi_list_rooms (cmd_tree=<value optimized out>, param=<value optimized out>) at imc.c:775
#1  0x00007f643febe694 in mi_fifo_server (fifo_stream=0xce66d0) at ../../lib/kmi/mi.h:77
#2  0x00007f643fec08bb in fifo_process (rank=<value optimized out>) at mi_fifo.c:244
#3  0x00007f643fec0bda in mi_child_init (rank=0) at mi_fifo.c:208
#4  0x00000000004d8c43 in init_mod_child (m=0x8f4d08, rank=0) at sr_module.c:829
#5  0x00000000004d8c1c in init_mod_child (m=0x8f4f78, rank=0) at sr_module.c:826
#6  0x00000000004d8c1c in init_mod_child (m=0x8f5600, rank=0) at sr_module.c:826
#7  0x00000000004d8c1c in init_mod_child (m=0x8f6da8, rank=0) at sr_module.c:826
#8  0x00000000004d8c1c in init_mod_child (m=0x8f74f0, rank=0) at sr_module.c:826
#9  0x00000000004d8c1c in init_mod_child (m=0x8f79f8, rank=0) at sr_module.c:826
#10 0x00000000004d8c1c in init_mod_child (m=0x8f8168, rank=0) at sr_module.c:826
#11 0x00000000004d8c1c in init_mod_child (m=0x8fd1c8, rank=0) at sr_module.c:826
#12 0x00000000004d8c1c in init_mod_child (m=0x8fd540, rank=0) at sr_module.c:826
#13 0x00000000004d8c1c in init_mod_child (m=0x8fd888, rank=0) at sr_module.c:826
#14 0x00000000004d8c1c in init_mod_child (m=0x8fde90, rank=0) at sr_module.c:826
#15 0x00000000004d8c1c in init_mod_child (m=0x8fe908, rank=0) at sr_module.c:826
#16 0x00000000004d8c1c in init_mod_child (m=0x8ff038, rank=0) at sr_module.c:826
#17 0x00000000004d8c1c in init_mod_child (m=0x8ff5f0, rank=0) at sr_module.c:826
#18 0x00000000004d8c1c in init_mod_child (m=0x8ff900, rank=0) at sr_module.c:826
#19 0x00000000004d8c1c in init_mod_child (m=0x8fff70, rank=0) at sr_module.c:826
#20 0x00000000004d8c1c in init_mod_child (m=0x9004b8, rank=0) at sr_module.c:826
#21 0x00000000004d8c1c in init_mod_child (m=0x900910, rank=0) at sr_module.c:826
#22 0x00000000004d8c1c in init_mod_child (m=0x900d38, rank=0) at sr_module.c:826
#23 0x00000000004d8c1c in init_mod_child (m=0x901120, rank=0) at sr_module.c:826
#24 0x00000000004d8c1c in init_mod_child (m=0x901510, rank=0) at sr_module.c:826
#25 0x00000000004d8c1c in init_mod_child (m=0x901b80, rank=0) at sr_module.c:826
#26 0x00000000004d8c1c in init_mod_child (m=0x9022c0, rank=0) at sr_module.c:826
#27 0x00000000004654d5 in main_loop () at main.c:1624
#28 0x0000000000467f53 in main (argc=<value optimized out>, argv=0x0) at main.c:2398

Best regards,
Ozren


On Thu, Jun 2, 2011 at 4:54 PM, Ozren Lapcevic <ozren.lapcevic@gmail.com> wrote:
On Wed, Jun 1, 2011 at 4:18 PM, Daniel-Constantin Mierla <miconda@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@abc.hr creates chat room chat-555@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@abc.hr creates chat room chat-555@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@abc.hr) and crashes Kamailio. In the database, in imc_rooms, chat-555@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@abc.hr creates chat room chat-555@abc.hr. Invites slavko@abc.hr (#invite slavko@abc.hr). Invites pero@abc.hr. Both of them join with #accept. oz@abc.hr removes pero (#remove pero@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@abc.hr creates chat room chat-555@abc.hr. Invites slavko@abc.hr (#invite slavko@abc.hr). Invites pero@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@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@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@abc.hr creates chat room chat-666@abc.hr. Invites slavko@abc.hr. Slavko joins with #accept. Oz writes a message to chat room. Invites pero@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@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@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