Also danke an euch, ich konnte das Rätsel lösen.
Der Tip die Einstellung ins tmp zu schreiben zeigte: alles ok.
Also musste es was anderes sein - banal!
Das Programm ist einfach nicht gecrasht, wie gedacht.
Ich hatte in eine lib einen Bug eingebaut, und mein Testprogamm hat
darauf reagiert, das Hauptprogramm nicht.
Also in dem Programm vom Script wurde das Signal abgefangen.
So blöd - entschuldigt. Ich war mir sicher ich hatte das probiert, aber ...
Schönes Wochenende
Arno
Am 14.03.2019 um 20:15 schrieb Ralf Mattes:
Am Donnerstag, 14. März 2019 19:17 CET, Arno <epsi(a)gmx.de> schrieb:
Mit diesem Befehl weise ich im gleichen Script, gleich neben dem ulimit
vorher den Platz und das Pattern zu, danach wird dann (ebenfalls im
gleichen Script) das chrashende binary aufgerufen.
Und das Pattern steht dann auch kontrollierbar drin, nur ulimit -c zeigt
0. :(
Dann zeig' uns doch mal Dein Script. Du testest den Rückgabewert von 'ulimit'
?
[...]
PAM hab ich nicht (bewußt). Ich hatte das ulimit
wie gesagt vorher im
/etc/profile - aber da wirkt es nur, wenn ich das binary manuell nach
einloggen aufrufe.
Wenn Du /etc/limits hast dann hast Du wahrscheinlich auch PAM, das ist nämlich die
Config für das pam_limits Modul.
[...]
Bist Du
sicher dass Du/Deine Herzensdistro nicht systemd benutzt? Der hat u.U. dann
den systemd-coredump installiert (das solltest Du aber in der Ausgabe der oben genannten
Shell Comands sehen - da steht dann so was wie '|/usr/lib/systemd/systemd-coredump %p
%u %g %s %t %e
'). Falls systemd da seine schmutzigen Hände drinn hat landen die Dumps (Drumroll
please) im Journal.
Von dort kann man sie mit 'coredumpctl' auflisten/anzeigen und dergl. mehr (what
where they smoking ..?).
Ziemlich sicher, da es ein kleines Yocto-Linux ist.
? Wirklich? Yocto-Linux "kann" beides, sysVinit oder systemd.
Falls Dein Linux wirklich systemd nutzt (Test: $ ps -q 1 -o comm= ) dann würde ich
schwer anraten
für Deinen Daemon ein Service-File anzulegen und nicht den
Initscript-Kompatibilitätsmodus zu nutzen.
Dann kannst Du auch dort direkt die Limits verändern (in Deinem Fall: LimitCORE=....).
Gruss RalfD