You're right; I did dig into this and it seems to be a (MIPS-)kernel issue
indeed.
However I think it would be nice to fix this in busybox as well as we cannot
know if there is a buggy kernel or not because different architectures handles
the exception in different ways; if it would have been fixed on latest kernel
named X for architecture Y there is no warranties about kernel X+N for
architecture Z.
See my point of handling it in user-space as well?
//M
Sent from my BlackBerry — the most secure mobile device
Original Message
From: [email protected]
Sent: 9 May 2019 15:50
To: [email protected]
Cc: [email protected]
Subject: Re: dc's stack breaks when doing modulo-0
On Wed, May 8, 2019 at 7:31 PM Markus Gothe <[email protected]> wrote:
> dc -e '4 0 % p' mess up the stack so bad that my MIPS kernel traps it and
> reboots.
$ strace ./busybox dc -e '4 0 % p'
execve("./busybox", ["./busybox", "dc", "-e", "4 0 % p"],
0x7ffd62d779e8 /* 53 vars */) = 0
strace: [ Process PID=28924 runs in 32 bit mode. ]
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
prctl(PR_SET_NAME, "busybox") = 0
getuid32() = 0
--- SIGFPE {si_signo=SIGFPE, si_code=FPE_INTDIV, si_addr=0x8048600} ---
+++ killed by SIGFPE (core dumped) +++
Please report to your kernel's MIPS people that their signal handling is broken.
I would imagine they definitely do not want that to persist.
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox