[OpenSIPS-Devel] [ opensips-Bugs-2936343 ] 'opensipsctl fifo get_statistics all' crashes opensips

SourceForge.net noreply at sourceforge.net
Fri Jan 22 15:51:35 CET 2010


Bugs item #2936343, was opened at 2010-01-21 15:51
Message generated for change (Comment added) made by cupotka2008
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1086410&aid=2936343&group_id=232389

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: 1.6.x
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Alex Massover (cupotka2008)
Assigned to: Bogdan-Andrei Iancu (bogdan_iancu)
Summary: 'opensipsctl fifo get_statistics all' crashes opensips

Initial Comment:
Hi!

'opensipsctl fifo get_statistics all' always crashes opensips. Core is somehow not produced.
Always reproducible for me on 1.6.1.

Here's a strace of parent process:

Process 9509 attached - interrupt to quit
pause()                                 = ? ERESTARTNOHAND (To be restarted)
--- SIGUSR2 (User defined signal 2) @ 0 (0) ---
sigreturn()                             = ? (mask now [])
pause()                                 = ? ERESTARTNOHAND (To be restarted)
--- SIGCHLD (Child exited) @ 0 (0) ---
sigreturn()                             = ? (mask now [])
waitpid(-1, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGUSR2}], WNOHANG) = 9520
waitpid(-1, 0xbf84b4c8, WNOHANG)        = 0
kill(0, SIGTERM)                        = 0
--- SIGTERM (Terminated) @ 0 (0) ---
--- SIGCHLD (Child exited) @ 0 (0) ---
sigreturn()                             = ? (mask now [TERM])
sigreturn()                             = ? (mask now [])
rt_sigaction(SIGALRM, {0x8065920, [ALRM], SA_RESTART}, {SIG_DFL}, 8) = 0
alarm(60)                               = 0
wait4(-1, NULL, 0, NULL)                = 9514
wait4(-1, NULL, 0, NULL)                = 9519
wait4(-1, NULL, 0, NULL)                = 9521
wait4(-1, NULL, 0, NULL)                = 9522
wait4(-1, NULL, 0, NULL)                = 9512
--- SIGCHLD (Child exited) @ 0 (0) ---
sigreturn()                             = ? (mask now [])
--- SIGCHLD (Child exited) @ 0 (0) ---
sigreturn()                             = ? (mask now [])
wait4(-1, NULL, 0, NULL)                = 9510
wait4(-1, NULL, 0, NULL)                = 9516
--- SIGCHLD (Child exited) @ 0 (0) ---
sigreturn()                             = ? (mask now [])
--- SIGCHLD (Child exited) @ 0 (0) ---
sigreturn()                             = ? (mask now [])
wait4(-1, NULL, 0, NULL)                = 9515
wait4(-1, NULL, 0, NULL)                = 9517
wait4(-1, NULL, 0, NULL)                = 9524
wait4(-1, NULL, 0, NULL)                = 9525
--- SIGCHLD (Child exited) @ 0 (0) ---
sigreturn()                             = ? (mask now [])
--- SIGCHLD (Child exited) @ 0 (0) ---
sigreturn()                             = ? (mask now [])
--- SIGCHLD (Child exited) @ 0 (0) ---
sigreturn()                             = ? (mask now [])
--- SIGCHLD (Child exited) @ 0 (0) ---
sigreturn()                             = ? (mask now [])
wait4(-1, NULL, 0, NULL)                = 9511
wait4(-1, NULL, 0, NULL)                = 9513
wait4(-1, NULL, 0, NULL)                = 9518
wait4(-1, NULL, 0, NULL)                = 9523
wait4(-1, NULL, 0, NULL)                = -1 ECHILD (No child processes)
rt_sigaction(SIGALRM, {0x8066080, [ALRM], SA_RESTART}, {0x8065920, [ALRM], SA_RESTART}, 8) = 0 stat64("/tmp/opensips_fifo", {st_mode=S_IFIFO|0660, st_size=0, ...}) = 0
unlink("/tmp/opensips_fifo")            = 0
munmap(0xaed25000, 134217728)           = 0
unlink("/var/run/opensips/opensips.pid") = 0
alarm(0)                                = 60
rt_sigaction(SIGALRM, {SIG_IGN}, {0x8066080, [ALRM], SA_RESTART}, 8) = 0
exit_group(0)                           = ?
Process 9509 detached


----------------------------------------------------------------------

>Comment By: Alex Massover (cupotka2008)
Date: 2010-01-22 16:51

Message:
I just discovered 'fifo ps' command :)

read(7, ":get_statistics:opensips_receiver"..., 4096) = 45
open("/tmp/opensips_receiver_18361", O_WRONLY|O_NONBLOCK) = 10
fstat64(10, {st_mode=S_IFIFO|0666, st_size=0, ...}) = 0
lstat64("/tmp/opensips_receiver_18361", {st_mode=S_IFIFO|0666, st_size=0,
...}) = 0
fcntl64(10, F_GETFL)                    = 0x801 (flags
O_WRONLY|O_NONBLOCK)
fcntl64(10, F_SETFL, O_WRONLY)          = 0
fcntl64(10, F_GETFL)                    = 0x1 (flags O_WRONLY)
fstat64(10, {st_mode=S_IFIFO|0666, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0xb7252000
_llseek(10, 0, 0xbfd1c5d8, SEEK_CUR)    = -1 ESPIPE (Illegal seek)
open("/proc/net/udp", O_RDONLY)         = 11
fstat64(11, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0xb7251000
read(11, "  sl  local_address rem_address  "..., 1024) = 1024
read(11, "  67: 0100007F:0035 00000000:0000"..., 1024) = 640
read(11, ""..., 1024)                   = 0
close(11)                               = 0
munmap(0xb7251000, 4096)                = 0
time(NULL)                              = 1264171687
kill(17997, SIGUSR2)                    = 0
nanosleep({0, 20000}, NULL)             = 0
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
kill(17998, SIGUSR2)                    = 0
nanosleep({0, 20000}, NULL)             = 0
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
kill(17999, SIGUSR2)                    = 0
nanosleep({0, 20000}, NULL)             = 0
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
kill(18000, SIGUSR2)                    = 0
nanosleep({0, 20000}, NULL)             = 0
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
kill(18001, SIGUSR2)                    = 0
nanosleep({0, 20000}, NULL)             = 0
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
kill(18002, SIGUSR2)                    = 0
nanosleep({0, 20000}, NULL)             = 0
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
kill(18003, SIGUSR2)                    = 0
nanosleep({0, 20000}, NULL)             = 0
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
time(NULL)                              = 1264171687
kill(18004, SIGUSR2)                    = 0
nanosleep({0, 20000}, NULL)             = 0
--- SIGTERM (Terminated) @ 0 (0) ---
exit_group(0)                           = ?
Process 18009 detached


----------------------------------------------------------------------

Comment By: Alex Massover (cupotka2008)
Date: 2010-01-21 20:38

Message:
Hi!

I use fifo.
Is there any intelligent way to recognize which process do FIFO? Or only
stracing all of them?

(On Sunday I back to work and will bring the strace.)

BR,
Alex.

----------------------------------------------------------------------

Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2010-01-21 19:51

Message:
Hi Alex,

The strace of the main proc is irrelevant here - what is important is the
bt or strace of the FIFO/xmlrpc process. BTW, what MI backend do you use ?

Regards,
Bogdan

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1086410&aid=2936343&group_id=232389



More information about the Devel mailing list