Path: csiph.com!xmission!news.snarked.org!news.linkpendium.com!news.linkpendium.com!panix!usenet.stanford.edu!not-for-mail From: Dave Newsgroups: gnu.groff.bug Subject: [bug #58447] me macros: valid input with specific parameters causes a fatal error Date: Tue, 26 May 2020 13:39:14 -0400 (EDT) Lines: 69 Approved: bug-groff@gnu.org Message-ID: References: <20200526-123913.sv93119.1835@savannah.gnu.org> NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: text/plain;charset=UTF-8 X-Trace: usenet.stanford.edu 1590514757 14388 209.51.188.17 (26 May 2020 17:39:17 GMT) X-Complaints-To: action@cs.stanford.edu To: Dave , bug-groff@gnu.org Envelope-to: bug-groff@gnu.org X-PHP-Originating-Script: 1001:sendmail.php X-Savane-Server: savannah.gnu.org:443 [2001:470:142::72] X-Savane-Project: groff X-Savane-Tracker: bugs X-Savane-Item-ID: 58447 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Firefox/45.0 X-Apparently-From: 2605:a601:ab42:5b00:d79a:70a3:b6a4:34bf (Savane authenticated user barx) In-Reply-To: X-BeenThere: bug-groff@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Bug reports for the GNU version of nroff, troff et al" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: <20200526-123913.sv93119.1835@savannah.gnu.org> Xref: csiph.com gnu.groff.bug:1858 URL: Summary: me macros: valid input with specific parameters causes a fatal error Project: GNU troff Submitted by: barx Submitted on: Tue 26 May 2020 12:39:13 PM CDT Category: Macro - others Severity: 3 - Normal Item Group: Incorrect behaviour Status: None Privacy: Public Assigned to: None Open/Closed: Open Discussion Lock: Any Planned Release: None _______________________________________________________ Details: The attached input file, which uses the -me macro set, results in stack_limit_bug:41: fatal error: input stack limit exceeded (probable infinite loop) Groff 1.22.3 fails immediately with this error. The latest groff code from git eventually fails with this error after emitting a few thousand lines of backtrace messages. The file itself is linear, with one diversion (in the form of the macro pair ".(f" and ".)f") but no loops, so the error must come from the -me macro set. groff fails with this error for the default output device (-Tps) and for -Tpdf, but not for -Tascii or other TTY output formats. I've been unable to make the example any simpler. Triggering the bug seems to require specific combinations of values in the -me registers tp, tm, and $v, as documented in the comments within the attached file, along with a header defined by the .he macro (its contents don't seem to matter, but it must be present to trigger the bug) and a footnote long enough to span a page break. _______________________________________________________ File Attachments: ------------------------------------------------------- Date: Tue 26 May 2020 12:39:13 PM CDT Name: stack_limit_bug Size: 2KiB By: barx sample groff input file to demonstrate the stack limit violation _______________________________________________________ Reply to this item at: _______________________________________________ Message sent via Savannah https://savannah.gnu.org/