[asterisk-bugs] [JIRA] (ASTERISK-28699) ast_coredumper does not find asterisk running process and silently fails

Sean Bright (JIRA) noreply at issues.asterisk.org
Thu Oct 7 12:53:49 CDT 2021


    [ https://issues.asterisk.org/jira/browse/ASTERISK-28699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=249645#comment-249645 ] 

Sean Bright edited comment on ASTERISK-28699 at 10/7/21 12:53 PM:
------------------------------------------------------------------

Sorry for the late reply. My email provider had put your emails on the spam directory and I only saw them today.

This is the result of the command you asked me to run, after changing `set -e` to  `set -x`:

{noformat}
root at debian9:(master)~# ps axu | grep asterisk
root      6191  0.3  3.7 5331200 76036 ?       SLsl jan31  12:40 asterisk
root      6192  0.0  0.0  15232  1628 ?        S    jan31   0:01 astcanary /var/run/asterisk/alt.asterisk.canary.tweet.tweet.tweet 6191
root     29615  0.0  0.3  93920  7560 pts/2    S+   09:57   0:00 rasterisk r
root     29735  0.0  0.0 132344   972 pts/1    S+   09:58   0:00 grep --color=auto asterisk

root at debian9:(master)~# /var/lib/asterisk/scripts/ast_coredumper --running --latest
++ basename /var/lib/asterisk/scripts/ast_coredumper
+ prog=ast_coredumper
+ '[' 0 -ne 0 ']'
+ running=false
+ RUNNING=false
+ latest=false
+ tarball_coredumps=false
+ tarball_config=false
+ delete_coredumps_after=false
+ tarball_results=false
+ delete_results_after=false
+ append_coredumps=false
+ declare -a COREDUMPS
+ declare -a ARGS_COREDUMPS
+ '[' -f ./ast_debug_tools.conf ']'
+ '[' -f /root/ast_debug_tools.conf ']'
+ '[' -f /etc/asterisk/ast_debug_tools.conf ']'
+ readconf /etc/asterisk/ast_debug_tools.conf
++ sed -r -e '/\s*#/d' -e '/^\s*$/d' /etc/asterisk/ast_debug_tools.conf
+ read line
+ v=COREDUMPS
+ '[' -z '' ']'
+ eval 'COREDUMPS=(/tmp/core[-._]asterisk!(*.txt)' '/tmp/core[-._]$(hostname)!(*.txt))'
++ COREDUMPS=(/tmp/core[-._]asterisk!(*.txt) /tmp/core[-._]$(hostname)!(*.txt))
+++ hostname
+ read line
+ v=OUTPUTDIR
+ '[' -z '' ']'
+ eval OUTPUTDIR=/tmp
++ OUTPUTDIR=/tmp
+ read line
+ v=DATEFORMAT
+ '[' -z '' ']'
+ eval 'DATEFORMAT='\''date' '+%FT%H-%M-%S%z'\'''
++ DATEFORMAT='date +%FT%H-%M-%S%z'
+ read line
+ v=LOGFILES
+ '[' -z '' ']'
+ eval 'LOGFILES=(/var/log/asterisk/messages*' /var/log/asterisk/queue_log '/var/log/asterisk/debug*' '/var/log/asterisk/security*)'
++ LOGFILES=(/var/log/asterisk/messages* /var/log/asterisk/queue_log /var/log/asterisk/debug* /var/log/asterisk/security*)
+ read line
+ v=LOG_DATEFORMAT
+ '[' -z '' ']'
+ eval 'LOG_DATEFORMAT="%m/%d-%H:%M:%S.%f"'
++ LOG_DATEFORMAT=%m/%d-%H:%M:%S.%f
+ read line
++ which -a gdb
+ for g in $(which -a gdb)
++ /usr/bin/gdb --batch --ex 'python print('\''hello'\'')'
+ result=hello
+ [[ hello =~ ^hello$ ]]
+ GDB=/usr/bin/gdb
+ break
+ '[' -z /usr/bin/gdb ']'
+ '[' -n /tmp ']'
+ '[' '!' -d /tmp ']'
+ '[' 2 -eq 0 ']'
+ DATEFORMAT='date +%FT%H-%M-%S%z'
+ for a in "$@"
+ case "$a" in
+ running=true
+ for a in "$@"
+ case "$a" in
+ latest=true
+ for i in ${!COREDUMPS[@]}
+ '[' '!' -f '/tmp/core[-._]asterisk!(*.txt)' ']'
+ unset 'COREDUMPS[0]'
+ continue
+ for i in ${!COREDUMPS[@]}
+ '[' '!' -f '/tmp/core[-._]debian9!(*.txt)' ']'
+ unset 'COREDUMPS[1]'
+ continue
+ IFS='
'
+ readarray -t COREDUMPS
++ echo -n ''
++ sort -u
+ unset IFS
+ '[' 0 -gt 0 ']'
++ date +%FT%H-%M-%S%z
+ df=2020-02-03T09-57-52-0300
+ '[' x = x ']'
++ which asterisk
+ asterisk_bin=/usr/sbin/asterisk
+ true
+ unset pid
++ pgrep -f /usr/sbin/asterisk
+ pids=
++ echo
++ wc -w
+ pidcount=0
+ '[' 0 -eq 0 ']'
+ echo 'Asterisk is not running'
Asterisk is not running
+ exit 1
{noformat}


was (Author: addons_zz):
Sorry for the late reply. My email provider had put your emails on the spam directory and I only saw them today.

This is the result of the command you asked me to run, after changing `set -e` to  `set -x`:
root at debian9:(master)~# ps axu | grep asterisk
root      6191  0.3  3.7 5331200 76036 ?       SLsl jan31  12:40 asterisk
root      6192  0.0  0.0  15232  1628 ?        S    jan31   0:01 astcanary /var/run/asterisk/alt.asterisk.canary.tweet.tweet.tweet 6191
root     29615  0.0  0.3  93920  7560 pts/2    S+   09:57   0:00 rasterisk r
root     29735  0.0  0.0 132344   972 pts/1    S+   09:58   0:00 grep --color=auto asterisk

root at debian9:(master)~# /var/lib/asterisk/scripts/ast_coredumper --running --latest
++ basename /var/lib/asterisk/scripts/ast_coredumper
+ prog=ast_coredumper
+ '[' 0 -ne 0 ']'
+ running=false
+ RUNNING=false
+ latest=false
+ tarball_coredumps=false
+ tarball_config=false
+ delete_coredumps_after=false
+ tarball_results=false
+ delete_results_after=false
+ append_coredumps=false
+ declare -a COREDUMPS
+ declare -a ARGS_COREDUMPS
+ '[' -f ./ast_debug_tools.conf ']'
+ '[' -f /root/ast_debug_tools.conf ']'
+ '[' -f /etc/asterisk/ast_debug_tools.conf ']'
+ readconf /etc/asterisk/ast_debug_tools.conf
++ sed -r -e '/\s*#/d' -e '/^\s*$/d' /etc/asterisk/ast_debug_tools.conf
+ read line
+ v=COREDUMPS
+ '[' -z '' ']'
+ eval 'COREDUMPS=(/tmp/core[-._]asterisk!(*.txt)' '/tmp/core[-._]$(hostname)!(*.txt))'
++ COREDUMPS=(/tmp/core[-._]asterisk!(*.txt) /tmp/core[-._]$(hostname)!(*.txt))
+++ hostname
+ read line
+ v=OUTPUTDIR
+ '[' -z '' ']'
+ eval OUTPUTDIR=/tmp
++ OUTPUTDIR=/tmp
+ read line
+ v=DATEFORMAT
+ '[' -z '' ']'
+ eval 'DATEFORMAT='\''date' '+%FT%H-%M-%S%z'\'''
++ DATEFORMAT='date +%FT%H-%M-%S%z'
+ read line
+ v=LOGFILES
+ '[' -z '' ']'
+ eval 'LOGFILES=(/var/log/asterisk/messages*' /var/log/asterisk/queue_log '/var/log/asterisk/debug*' '/var/log/asterisk/security*)'
++ LOGFILES=(/var/log/asterisk/messages* /var/log/asterisk/queue_log /var/log/asterisk/debug* /var/log/asterisk/security*)
+ read line
+ v=LOG_DATEFORMAT
+ '[' -z '' ']'
+ eval 'LOG_DATEFORMAT="%m/%d-%H:%M:%S.%f"'
++ LOG_DATEFORMAT=%m/%d-%H:%M:%S.%f
+ read line
++ which -a gdb
+ for g in $(which -a gdb)
++ /usr/bin/gdb --batch --ex 'python print('\''hello'\'')'
+ result=hello
+ [[ hello =~ ^hello$ ]]
+ GDB=/usr/bin/gdb
+ break
+ '[' -z /usr/bin/gdb ']'
+ '[' -n /tmp ']'
+ '[' '!' -d /tmp ']'
+ '[' 2 -eq 0 ']'
+ DATEFORMAT='date +%FT%H-%M-%S%z'
+ for a in "$@"
+ case "$a" in
+ running=true
+ for a in "$@"
+ case "$a" in
+ latest=true
+ for i in ${!COREDUMPS[@]}
+ '[' '!' -f '/tmp/core[-._]asterisk!(*.txt)' ']'
+ unset 'COREDUMPS[0]'
+ continue
+ for i in ${!COREDUMPS[@]}
+ '[' '!' -f '/tmp/core[-._]debian9!(*.txt)' ']'
+ unset 'COREDUMPS[1]'
+ continue
+ IFS='
'
+ readarray -t COREDUMPS
++ echo -n ''
++ sort -u
+ unset IFS
+ '[' 0 -gt 0 ']'
++ date +%FT%H-%M-%S%z
+ df=2020-02-03T09-57-52-0300
+ '[' x = x ']'
++ which asterisk
+ asterisk_bin=/usr/sbin/asterisk
+ true
+ unset pid
++ pgrep -f /usr/sbin/asterisk
+ pids=
++ echo
++ wc -w
+ pidcount=0
+ '[' 0 -eq 0 ']'
+ echo 'Asterisk is not running'
Asterisk is not running
+ exit 1


> ast_coredumper does not find asterisk running process and silently fails
> ------------------------------------------------------------------------
>
>                 Key: ASTERISK-28699
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-28699
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Core/ACL
>    Affects Versions: 17.1.0
>         Environment: root at debian9:~/Downloads# cat /etc/os-release 
> PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
> NAME="Debian GNU/Linux"
> VERSION_ID="9"
> VERSION="9 (stretch)"
> ID=debian
> HOME_URL="https://www.debian.org/"
> SUPPORT_URL="https://www.debian.org/support"
> BUG_REPORT_URL="https://bugs.debian.org/"
>            Reporter: Addons Zz
>            Severity: Trivial
>
> I do not use command line configurations, because I had set:
> File: /etc/asterisk/asterisk.conf
> ...
> [options]
> verbose = 3
> debug = 0
> highpriority = yes		; Run realtime priority (same as -p at
> dumpcore = yes			; Dump core on crash (same as -g at startup).
> Now, when I run:
> root at debian9:~/Downloads# /var/lib/asterisk/scripts/ast_coredumper --running --latest
> It outputs nothing. Then I edited the file `/var/lib/asterisk/scripts/ast_coredumper` and removed the line `set -e`
> After that, when running the command, it started outputting:
> root at debian9:~/Downloads# /var/lib/asterisk/scripts/ast_coredumper --running --latest
> Asterisk is not running
> However, I have the asterisk process up and running: (pid 11529)
> root at debian9:~/Downloads# ps aux | grep asterisk
> root     11529 26.2 14.5 2243256 73400 ?       SLsl 15:02  18:07 asterisk
> root     11530  0.0  0.3  15232  1560 ?        S    15:02   0:00 astcanary /var/run/asterisk/alt.asterisk.canary.tweet.tweet.tweet 11529
> root     27971  0.0  0.1 132344   964 pts/0    R+   16:11   0:00 grep --color=auto asterisk
> root     29065  0.0  1.8  98488  9100 pts/6    S+   15:22   0:00 rasterisk r
> I managed to make it work, by replacing the line `pids=$(pgrep -f "$asterisk_bin")` directly with my asterisk pid `pids=11529`:
> root at debian9:~/Downloads# /var/lib/asterisk/scripts/ast_coredumper --running --latest
> Found a single asterisk instance running as process 11529
> WARNING:  Taking a core dump of the running asterisk instance will suspend call processing while the dump is saved.  Do you wish to continue? (y/N) y
> Dumping running asterisk process to /tmp/core-asterisk-running-2020-01-17T17-21-35-0300
> Processing /tmp/core-asterisk-running-2020-01-17T17-21-35-0300
> Creating /tmp/core-asterisk-running-2020-01-17T17-21-35-0300-thread1.txt
> Creating /tmp/core-asterisk-running-2020-01-17T17-21-35-0300-brief.txt
> Creating /tmp/core-asterisk-running-2020-01-17T17-21-35-0300-full.txt
> Creating /tmp/core-asterisk-running-2020-01-17T17-21-35-0300-locks.txt



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list