On Mon, 2023-04-17 at 09:57 +0200, Nico Boehr wrote: > Quoting Nina Schoetterl-Glausch (2023-04-05 14:35:08) > > When we encounter an unexpected interrupt we print a stack trace. > > While we can identify the interrupting instruction via the old psw, > > we don't really have a way to identify callers further up the stack, > > since we rely on the s390x elf abi calling convention to perform the > > backtrace. An interrupt is not a call, so there are no guarantees about > > the contents of the stack and return address registers. > > If we get lucky their content is as we need it or valid for a previous > > callee in which case we print one wrong caller and then proceed with the > > correct ones. > > I did not think too much about it, so it might not work, but how about a > seperate interrupt stack? > > Then, we could print the interrupt stack trace (which should be correct) and - > with a warning as you suggest - the maybe incorrect regular stack trace. Not sure I'm getting the point. Do you want an implementation that doesn't have the weirdness of using a frame with a special symbol to warn? We only output a bunch of caller addresses and pretty_print_stacks.py formats that into a readable stack trace. So by having the special symbol frame there are no changes needed to that script, but it certainly would be possible do it differently, e.g. output "STACK: dead beef WARN 0 ffff" and have the script print the warning if it sees a WARN.