On Tue, Aug 06, 2024 at 11:27:40AM +0200, Laurent Vivier wrote: > On 06/08/2024 02:27, David Gibson wrote: > > On Mon, Aug 05, 2024 at 04:10:27PM +0200, Laurent Vivier wrote: > > > We use our own implementation of assert() because the glic implementation > > > uses syscalls that aren't in our seccomp filter, see 7a8ed9459dfe > > > ("Make assertions actually useful"). And we replaced it by an err(), > > > followed by an abort() (that is also catched by seccomp). > > > > I think Stefano's said everything I would on the change itself, but.. > > > > > We don't have a coredump or a backtrace but we have at least the > > > error message... only if logging is enabled. > > > > Whether we get a coredump shouldn't be affected by our weird ASSERT() > > here. If coredumps are enabled (which they're not by default on > > current distros, AFAICT), we should still get a coredump with the > > SIGSYS here, just as we would for a SIGABRT. > > > > I don't know what, but there is something that prevent passts to generate a core dump > (I tried abort(), (char *)0 = 0, it works with a simple program, not with passt). > > Moreover, if we use gdb it doesn't stop on the syscall but exit and we > cannot locate the exit point. And as strace doesn't report the syscall that > generates the SIGSYS, it makes hard to find which one it is. Oh... that'll be the PR_SET_DUMPABLE. That'll stop strace, gdb, core dumps, .. I routinely comment that out when debugging. -- David Gibson (he or they) | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you, not the other way | around. http://www.ozlabs.org/~dgibson