Olivier
2016-Sep-08 14:22 UTC
[asterisk-users] [SOLVED] Re: Feature Request: what about "core stop panic" ?
I think were getting closer: I did: - I edited /etc/default/asterisk to include : AST_USER="root" AST_GROUP="root" # systemctl daemon-reload # systemctl start asterisk # ps aux | grep asterisk root 3602 7.1 2.5 60332 26012 ? Ssl 16:00 0:03 /usr/sbin/asterisk -U root -G root -g # rasterisk # pkill -SEGV asterisk Then console showed: Segmentation error (core dumped) and a /core file is created I also tried with asterisk run asterisk user and group and looked for any newly created (find / -cmin -2) : nothing looking like a core file, though I might overlooked it. So, it really look like a configuration issue: "how to specify, with asterisk and systemd among others, where core files are dumped ?". I'll read again this thread advices and report back here. 2016-09-07 21:44 GMT+02:00 George Joseph <gjoseph at digium.com>:> > > On Wed, Sep 7, 2016 at 11:15 AM, Olivier <oza.4h07 at gmail.com> wrote: > >> >> >> 2016-09-06 17:48 GMT+02:00 Tzafrir Cohen <tzafrir.cohen at xorcom.com>: >> >>> On Tue, Sep 06, 2016 at 06:37:52AM -0600, George Joseph wrote: >>> > On Tue, Sep 6, 2016 at 1:55 AM, Olivier <oza.4h07 at gmail.com> wrote: >>> >>> > > Where should core file be created when Asterisk is run as a daemon by >>> > > asterisk user and group ? >>> > > Is there a setting I can use to specify the directory used (so that >>> we can >>> > > make sure appropriate ownership is set) ? >>> > > >>> > >>> > "$ sysctl kernel.core_pattern" will show you where core files are >>> written. >>> > For Asterisk to produce the core file, it has to be started with the >>> '-g' >>> > option so make sure your asterisk.service file is adding the option. >>> >> >> My asterisk.service is : >> >> # cat /run/systemd/generator.late/asterisk.service >> # Automatically generated by systemd-sysv-generator >> >> [Unit] >> SourcePath=/etc/init.d/asterisk >> Description=LSB: Asterisk PBX >> Before=runlevel2.target runlevel3.target runlevel4.target >> runlevel5.target shutdown.target >> After=network-online.target systemd-journald-dev-log.socket >> nss-lookup.target local-fs.target remote-fs.target dahdi.service >> misdn.service lcr.service wanrouter.service mysql.service postgresql.service >> Wants=network-online.target >> Conflicts=shutdown.target >> >> [Service] >> Type=forking >> Restart=no >> TimeoutSec=5min >> IgnoreSIGPIPE=no >> KillMode=process >> GuessMainPID=no >> RemainAfterExit=yes >> SysVStartPriority=2 >> ExecStart=/etc/init.d/asterisk start >> ExecStop=/etc/init.d/asterisk stop >> ExecReload=/etc/init.d/asterisk reload >> >> >> My /etc/init.d/asterisk file is sourcing my /etc/default/asterisk which >> includes an (uncommented) line COREDUMP=yes. >> I also have >> # grep core /etc/asterisk/asterisk.conf >> dumpcore = yes >> >> make menuselect shows: >> [*] DONT_OPTIMIZE >> [*] COMPILE_DOUBLE >> [ ] DEBUG_THREADS >> [*] LOADABLE_MODULES >> [ ] DEBUG_FD_LEAKS >> [*] BETTER_BACKTRACES >> [ ] LOTS_OF_SPANS >> [ ] MALLOC_DEBUG >> [ ] DEBUG_CHAOS >> [*] BUILD_NATIVE >> --- Extended --- >> [ ] REF_DEBUG >> [ ] AO2_DEBUG >> [ ] STATIC_BUILD >> XXX REBUILD_PARSERS >> [ ] LOW_MEMORY >> [ ] DISABLE_INLINE >> [*] OPTIONAL_API >> XXX USE_HOARD_ALLOCATOR >> [ ] RADIO_RELAX >> [ ] G711_NEW_ALGORITHM >> < > G711_REDUCED_BRANCHING >> < > TEST_CODING_TABLES >> < > TEST_TANDEM_TRANSCODING >> [ ] ADDRESS_SANITIZER >> [ ] THREAD_SANITIZER >> [ ] LEAK_SANITIZER >> [ ] UNDEFINED_SANITIZER >> [ ] BUSYDETECT_TONEONLY >> [ ] BUSYDETECT_COMPARE_TONE_AND_SILENCE >> [ ] BUSYDETECT_DEBUG >> [ ] INTEGER_CALLERID >> >> >> Is there a way to read Compiler Flags from a running system without >> looking at source file directory ? >> >> If someone forgets to select appropriate Compiler Flags, does it prevent >> Asterisk to produce a core file (even an empty one) ? >> > > If -g is specified a core file should always be produced. See my earlier > reply. I think one is being produced, it's just not where you think it > should be. :) > > > > >> >> >>> Specifically, if the first character of core_pattern is '!', the rest >>> should be an executable, to which the core file is handled. IIRC Centos7 >>> had something of that type installed by default. On Debian Stable you >>> have the package corekeeper (or maybe also systemd-coredump from >>> backports). I haven't tried any of those. >>> >>> -- >>> Tzafrir Cohen >>> icq#16849755 jabber:tzafrir.cohen at xorcom.com >>> +972-50-7952406 mailto:tzafrir.cohen at xorcom.com >>> http://www.xorcom.com >>> >>> -- >>> _____________________________________________________________________ >>> -- Bandwidth and Colocation Provided by http://www.api-digital.com -- >>> >>> Join the Asterisk Community at the 13th AstriCon, September 27-29, 2016 >>> http://www.asterisk.org/community/astricon-user-conference >>> >>> New to Asterisk? Start here: >>> https://wiki.asterisk.org/wiki/display/AST/Getting+Started >>> >>> asterisk-users mailing list >>> To UNSUBSCRIBE or update options visit: >>> http://lists.digium.com/mailman/listinfo/asterisk-users >>> >> >> >> -- >> _____________________________________________________________________ >> -- Bandwidth and Colocation Provided by http://www.api-digital.com -- >> >> Join the Asterisk Community at the 13th AstriCon, September 27-29, 2016 >> http://www.asterisk.org/community/astricon-user-conference >> >> New to Asterisk? Start here: >> https://wiki.asterisk.org/wiki/display/AST/Getting+Started >> >> asterisk-users mailing list >> To UNSUBSCRIBE or update options visit: >> http://lists.digium.com/mailman/listinfo/asterisk-users >> > > > > -- > George Joseph > Digium, Inc. | Software Developer > 445 Jan Davis Drive NW - Huntsville, AL 35806 - US > Check us out at: www.digium.com & www.asterisk.org > > > -- > _____________________________________________________________________ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > > Join the Asterisk Community at the 13th AstriCon, September 27-29, 2016 > http://www.asterisk.org/community/astricon-user-conference > > New to Asterisk? Start here: > https://wiki.asterisk.org/wiki/display/AST/Getting+Started > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20160908/a56c288c/attachment.html>
Olivier
2016-Sep-09 09:34 UTC
[asterisk-users] [SOLVED] Re: Feature Request: what about "core stop panic" ?
Adding an /etc/sysctl.d/foobar.conf file with the bellow content allowed me to at last produce core dump files (in /var/tmp directory), even if asterisk is run by asterisk user (and by root). I choosed this /var/tmp directory to make sure core dumps are not erased after a reboot and because this directory is "world-writable". To trigger core dumping, previously recommended "pkill -SEGV asterisk" was used. /etc/sysctl.d/foobar.conf content is simply: kernel.core_pattern=/var/tmp/core.%e.%t Maybe taming systemd to consider /var/lib/asterisk as a current directory when running asterisk daemon would be a better solution ? Maybe Asterisk or more generally long running daemons, should warn when they are run with "-g option" and from a current directory where it can't write any file (or any file matching core pattern) ? Maybe this is already done but I overlooked it or looked in the wrong place ? Anyway, thank you very much to all. 2016-09-08 16:22 GMT+02:00 Olivier <oza.4h07 at gmail.com>:> I think were getting closer: > > I did: > - I edited /etc/default/asterisk to include : > AST_USER="root" > AST_GROUP="root" > > # systemctl daemon-reload > # systemctl start asterisk > # ps aux | grep asterisk > root 3602 7.1 2.5 60332 26012 ? Ssl 16:00 0:03 > /usr/sbin/asterisk -U root -G root -g > # rasterisk > # pkill -SEGV asterisk > > Then console showed: > Segmentation error (core dumped) > > and a /core file is created > > > I also tried with asterisk run asterisk user and group and looked for any > newly created (find / -cmin -2) : nothing looking like a core file, though > I might overlooked it. > > So, it really look like a configuration issue: "how to specify, with > asterisk and systemd among others, where core files are dumped ?". > > I'll read again this thread advices and report back here. > > 2016-09-07 21:44 GMT+02:00 George Joseph <gjoseph at digium.com>: > >> >> >> On Wed, Sep 7, 2016 at 11:15 AM, Olivier <oza.4h07 at gmail.com> wrote: >> >>> >>> >>> 2016-09-06 17:48 GMT+02:00 Tzafrir Cohen <tzafrir.cohen at xorcom.com>: >>> >>>> On Tue, Sep 06, 2016 at 06:37:52AM -0600, George Joseph wrote: >>>> > On Tue, Sep 6, 2016 at 1:55 AM, Olivier <oza.4h07 at gmail.com> wrote: >>>> >>>> > > Where should core file be created when Asterisk is run as a daemon >>>> by >>>> > > asterisk user and group ? >>>> > > Is there a setting I can use to specify the directory used (so that >>>> we can >>>> > > make sure appropriate ownership is set) ? >>>> > > >>>> > >>>> > "$ sysctl kernel.core_pattern" will show you where core files are >>>> written. >>>> > For Asterisk to produce the core file, it has to be started with the >>>> '-g' >>>> > option so make sure your asterisk.service file is adding the option. >>>> >>> >>> My asterisk.service is : >>> >>> # cat /run/systemd/generator.late/asterisk.service >>> # Automatically generated by systemd-sysv-generator >>> >>> [Unit] >>> SourcePath=/etc/init.d/asterisk >>> Description=LSB: Asterisk PBX >>> Before=runlevel2.target runlevel3.target runlevel4.target >>> runlevel5.target shutdown.target >>> After=network-online.target systemd-journald-dev-log.socket >>> nss-lookup.target local-fs.target remote-fs.target dahdi.service >>> misdn.service lcr.service wanrouter.service mysql.service postgresql.service >>> Wants=network-online.target >>> Conflicts=shutdown.target >>> >>> [Service] >>> Type=forking >>> Restart=no >>> TimeoutSec=5min >>> IgnoreSIGPIPE=no >>> KillMode=process >>> GuessMainPID=no >>> RemainAfterExit=yes >>> SysVStartPriority=2 >>> ExecStart=/etc/init.d/asterisk start >>> ExecStop=/etc/init.d/asterisk stop >>> ExecReload=/etc/init.d/asterisk reload >>> >>> >>> My /etc/init.d/asterisk file is sourcing my /etc/default/asterisk which >>> includes an (uncommented) line COREDUMP=yes. >>> I also have >>> # grep core /etc/asterisk/asterisk.conf >>> dumpcore = yes >>> >>> make menuselect shows: >>> [*] DONT_OPTIMIZE >>> [*] COMPILE_DOUBLE >>> [ ] DEBUG_THREADS >>> [*] LOADABLE_MODULES >>> [ ] DEBUG_FD_LEAKS >>> [*] BETTER_BACKTRACES >>> [ ] LOTS_OF_SPANS >>> [ ] MALLOC_DEBUG >>> [ ] DEBUG_CHAOS >>> [*] BUILD_NATIVE >>> --- Extended --- >>> [ ] REF_DEBUG >>> [ ] AO2_DEBUG >>> [ ] STATIC_BUILD >>> XXX REBUILD_PARSERS >>> [ ] LOW_MEMORY >>> [ ] DISABLE_INLINE >>> [*] OPTIONAL_API >>> XXX USE_HOARD_ALLOCATOR >>> [ ] RADIO_RELAX >>> [ ] G711_NEW_ALGORITHM >>> < > G711_REDUCED_BRANCHING >>> < > TEST_CODING_TABLES >>> < > TEST_TANDEM_TRANSCODING >>> [ ] ADDRESS_SANITIZER >>> [ ] THREAD_SANITIZER >>> [ ] LEAK_SANITIZER >>> [ ] UNDEFINED_SANITIZER >>> [ ] BUSYDETECT_TONEONLY >>> [ ] BUSYDETECT_COMPARE_TONE_AND_SILENCE >>> [ ] BUSYDETECT_DEBUG >>> [ ] INTEGER_CALLERID >>> >>> >>> Is there a way to read Compiler Flags from a running system without >>> looking at source file directory ? >>> >>> If someone forgets to select appropriate Compiler Flags, does it prevent >>> Asterisk to produce a core file (even an empty one) ? >>> >> >> If -g is specified a core file should always be produced. See my earlier >> reply. I think one is being produced, it's just not where you think it >> should be. :) >> >> >> >> >>> >>> >>>> Specifically, if the first character of core_pattern is '!', the rest >>>> should be an executable, to which the core file is handled. IIRC Centos7 >>>> had something of that type installed by default. On Debian Stable you >>>> have the package corekeeper (or maybe also systemd-coredump from >>>> backports). I haven't tried any of those. >>>> >>>> -- >>>> Tzafrir Cohen >>>> icq#16849755 jabber:tzafrir.cohen at xorcom.com >>>> +972-50-7952406 mailto:tzafrir.cohen at xorcom.com >>>> http://www.xorcom.com >>>> >>>> -- >>>> _____________________________________________________________________ >>>> -- Bandwidth and Colocation Provided by http://www.api-digital.com -- >>>> >>>> Join the Asterisk Community at the 13th AstriCon, September 27-29, 2016 >>>> http://www.asterisk.org/community/astricon-user-conference >>>> >>>> New to Asterisk? Start here: >>>> https://wiki.asterisk.org/wiki/display/AST/Getting+Started >>>> >>>> asterisk-users mailing list >>>> To UNSUBSCRIBE or update options visit: >>>> http://lists.digium.com/mailman/listinfo/asterisk-users >>>> >>> >>> >>> -- >>> _____________________________________________________________________ >>> -- Bandwidth and Colocation Provided by http://www.api-digital.com -- >>> >>> Join the Asterisk Community at the 13th AstriCon, September 27-29, 2016 >>> http://www.asterisk.org/community/astricon-user-conference >>> >>> New to Asterisk? Start here: >>> https://wiki.asterisk.org/wiki/display/AST/Getting+Started >>> >>> asterisk-users mailing list >>> To UNSUBSCRIBE or update options visit: >>> http://lists.digium.com/mailman/listinfo/asterisk-users >>> >> >> >> >> -- >> George Joseph >> Digium, Inc. | Software Developer >> 445 Jan Davis Drive NW - Huntsville, AL 35806 - US >> Check us out at: www.digium.com & www.asterisk.org >> >> >> -- >> _____________________________________________________________________ >> -- Bandwidth and Colocation Provided by http://www.api-digital.com -- >> >> Join the Asterisk Community at the 13th AstriCon, September 27-29, 2016 >> http://www.asterisk.org/community/astricon-user-conference >> >> New to Asterisk? Start here: >> https://wiki.asterisk.org/wiki/display/AST/Getting+Started >> >> asterisk-users mailing list >> To UNSUBSCRIBE or update options visit: >> http://lists.digium.com/mailman/listinfo/asterisk-users >> > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20160909/44ab6bb1/attachment-0001.html>
Jacek Konieczny
2016-Sep-09 11:24 UTC
[asterisk-users] [SOLVED] Re: Feature Request: what about "core stop panic" ?
On 2016-09-09 11:34, Olivier wrote:> Adding an /etc/sysctl.d/foobar.conf file with the bellow content allowed > me to at last produce core dump files (in /var/tmp directory), even if > asterisk is run by asterisk user (and by root). > I choosed this /var/tmp directory to make sure core dumps are not erased > after a reboot and because this directory is "world-writable". > To trigger core dumping, previously recommended "pkill -SEGV asterisk" > was used. > > /etc/sysctl.d/foobar.conf content is simply: > kernel.core_pattern=/var/tmp/core.%e.%t > > Maybe taming systemd to consider /var/lib/asterisk as a current > directory when running asterisk daemon would be a better solution ? > > Maybe Asterisk or more generally long running daemons, should warn when > they are run with "-g option" and from a current directory where it > can't write any file (or any file matching core pattern) ? > Maybe this is already done but I overlooked it or looked in the wrong > place ?Why not just use the systemd journal and coredumpctl for core files management? systemd solves that quite well. Jacek