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

Richard Revels rrevels at bandwidth.com
Fri Jan 22 16:36:09 CET 2010


I have found that taking the snmp module out of the config allows the command to complete without crashing opensips.  This hasn't always been the case but I don't know what revision the problem started with.

I also don't have the opensips snmp config completely set up on this server.  Everything is in place except the agentXSocket listen parameter being set for the snmpstats module.  I'll try to test this again with that in place before the end of the day.

Richard


On Jan 22, 2010, at 9:51 AM, SourceForge.net wrote:

> 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
> 
> _______________________________________________
> Devel mailing list
> Devel at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/devel




More information about the Devel mailing list