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@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