Re: [racket-users] Segfault when using Graphical Debugger
Reporting back: The problem was a bug in the bytecode compiler, and commit 88d8ba00e0 is the repair. The debugger works by modifying a program so that local variables are mutable. Meanwhile, Philip's program uses the contracts in a way that expands to `call-with-immediate-continuation-mark`. The compiler mishandled `call-with-immediate-continuation-mark` on a `lambda` whose argument variable is mutable. At Sat, 21 Apr 2018 07:38:32 -0600, Matthew Flatt wrote: > Thanks for the crash report! It doesn't immediately point to the > problem, but it's good starting point. I'll ask you for more debugging > help off-list, and we can report back here afterwards. > > At Sat, 21 Apr 2018 05:11:10 -0500, Philip McGrath wrote: > > In a particular module, I can consistently trigger a segfault by opening > > DrRacket's graphical debugger, setting a breakpoint, and evaluating an > > expression at the REPL. I am using Racket 6.12 on Mac OS 10.13.2: I have > > not (yet) tried to reproduce this on other platforms. > > > > Unfortunately I don't have anything approaching a minimal example: the file > > that's triggering the issue is part of a large library. > > > > I've attached the crash report in case that is illuminating. I'm happy to > > help try to find the problem to the extent I can. > > > > -Philip -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Segfault when using Graphical Debugger
Since the crash is consistent, can you try a snapshot build from https://pre.racket-lang.org/ to check whether the crash persists? The only repair I remember since v6.12 that seems relevant is 55ffc24011. Your crash is consistent with the bug fixed by that commit, but my guess is that it's something else. Assuming you do see a crash with the snapshot, then I'll ask that you run in lldb and disassemble in the vicinity of the crash: $ lldb path/to/snapshot/racket (lldb) run -l drracket [... eventually, a crash at some instruction X ...] (llsb) disassem -s (X-100) -e (X+100) replacing X above with the reported instruction address. At Sat, 21 Apr 2018 05:11:10 -0500, Philip McGrath wrote: > In a particular module, I can consistently trigger a segfault by opening > DrRacket's graphical debugger, setting a breakpoint, and evaluating an > expression at the REPL. I am using Racket 6.12 on Mac OS 10.13.2: I have > not (yet) tried to reproduce this on other platforms. > > Unfortunately I don't have anything approaching a minimal example: the file > that's triggering the issue is part of a large library. > > I've attached the crash report in case that is illuminating. I'm happy to > help try to find the problem to the extent I can. > > -Philip -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Segfault when using Graphical Debugger
Thanks for the crash report! It doesn't immediately point to the problem, but it's good starting point. I'll ask you for more debugging help off-list, and we can report back here afterwards. At Sat, 21 Apr 2018 05:11:10 -0500, Philip McGrath wrote: > In a particular module, I can consistently trigger a segfault by opening > DrRacket's graphical debugger, setting a breakpoint, and evaluating an > expression at the REPL. I am using Racket 6.12 on Mac OS 10.13.2: I have > not (yet) tried to reproduce this on other platforms. > > Unfortunately I don't have anything approaching a minimal example: the file > that's triggering the issue is part of a large library. > > I've attached the crash report in case that is illuminating. I'm happy to > help try to find the problem to the extent I can. > > -Philip -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.