Follow-up Comment #3, bug #67139 (group groff): An invariant about the state of the node list corresponding to the pending input line appears to be getting violated.
$ cat ATTIC/67139gbr.groff .di x .box .pm x .pline $ ./build/test-groff -a ATTIC/67139gbr.groff {"name": "x", "file name": "ATTIC\/67139gbr.groff", "starting line number": 1, "length": 0} /home/branden/src/GIT/groff/build/groff: error: troff: Segmentation fault (core dumped) $ gdb ./build/troff ./core GNU gdb (Debian 10.1-1.7) 10.1.90.20210103-git [...snip...] Core was generated by `troff -b -ww -a -Tps ATTIC/67139gbr.groff'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x0000560f7d1b5963 in dump_node_list_in_reverse (nlist=<optimized out>) at ../src/roff/troff/node.cpp:2801 2801 n = n->next; ##(gdb) bt #0 0x0000560f7d1b5963 in dump_node_list_in_reverse (nlist=<optimized out>) at ../src/roff/troff/node.cpp:2801 #1 0x0000560f7d174e47 in environment::dump_pending_nodes (this=<optimized out>) at ../src/roff/troff/env.cpp:2458 #2 print_nodes_from_input_line () at ../src/roff/troff/env.cpp:3636 #3 0x0000560f7d19d342 in process_input_stack () at ../src/roff/troff/input.cpp:3159 #4 0x0000560f7d16f0ec in main (argc=6, argv=0x7ffc3c14cb08) at ../src/roff/troff/input.cpp:9458 We're not chasing a null pointer, and the value doesn't look like random garbage. ##(gdb) list 2797 std::stack<node *> reversed_node_list; 2798 node *n = nlist; 2799 2800 while (n != 0 /* nullptr */) { 2801 reversed_node_list.push(n); 2802 n = n->next; 2803 } 2804 fputc('[', stderr); 2805 bool need_comma = false; 2806 while (!reversed_node_list.empty()) { ##(gdb) p n $1 = (node *) 0x6e5c3a5d462e5b6e ##(gdb) p n->next Cannot access memory at address 0x6e5c3a5d462e5b76 Possibly the `box` request, which discards the contents of any pending output line in the diversion, isn't checking to see that it's working on a box diversion, and is discarding something it shouldn't. _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?67139> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/
signature.asc
Description: PGP signature