On Wed, 24 Apr 2024 19:35:42 -0400 Ben Bolker <bbol...@gmail.com> wrote:
> I'm using bleeding-edge R-devel, so maybe my build is weird. Can > anyone else reproduce this? > > View() seems to crash on just about anything. Not for me, sorry. If you have a sufficiently new processor, you can use `rr` [*] to capture the crash, set a breakpoint in in_R_X11_dataviewer and rewind, then set a watchpoint on the stack canary and run the program forward again: https://www.redhat.com/en/blog/debugging-stack-protector-failures If you can't locate the canary, try setting watchpoints on large local variables. Without `rr`, the procedure is probably the same, but without rewinding: set a breakpoint in in_R_X11_dataviewer, set some watchpoints, see if they fire when they shouldn't, start from scratch if you get past the watchpoints and the process crashes. I think that that either an object file didn't get rebuilt when it should have, or a shared library used by something downstream from View() got an ABI-breaking update. If this still reproduces with a clean rebuild of R, it's definitely worth investigating further, perhaps using AddressSanitizer. Valgrind may be lacking the information about the stack canary and thus failing to distinguish between overwriting the canary and normal access to a stack variable via a pointer. -- Best regards, Ivan [*] https://rr-project.org/ Edit distance of one from the domain name of the R project! Use rr replay -g $EVENT_NUMBER to debug past the initial execve() from the shell wrapper: https://github.com/rr-debugger/rr/wiki/FAQ ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel