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 <[email protected]>: > 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 <[email protected]>: > >> >> >> On Wed, Sep 7, 2016 at 11:15 AM, Olivier <[email protected]> wrote: >> >>> >>> >>> 2016-09-06 17:48 GMT+02:00 Tzafrir Cohen <[email protected]>: >>> >>>> On Tue, Sep 06, 2016 at 06:37:52AM -0600, George Joseph wrote: >>>> > On Tue, Sep 6, 2016 at 1:55 AM, Olivier <[email protected]> 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:[email protected] >>>> +972-50-7952406 mailto:[email protected] >>>> 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 >> > >
-- _____________________________________________________________________ -- 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
