Segmentation fault with bison 3.8.2 when using --trace=all

김민종 <[email protected]> Wed, 8 Jul 2026 01:33:17 +0900
Newsgroups gmane.comp.parsers.bison.bugs
Message-ID <CAMnBzT9VKBKzWpZ6xOiYBzLqfRxAgxsnkb-pW55R0+x0BeW_yg@mail.gmail.com>
--000000000000682435065607f3f0
Content-Type: text/plain; charset="UTF-8"

Hi,

I found a segmentation fault while running GNU Bison 3.8.2 on Ubuntu 22.04.

The crash occurs when I run Bison with the --trace=all option on the
attached grammar file.

Environment:

OS: Ubuntu 22.04
Bison version: GNU Bison 3.8.2
Build method: downloaded bison-3.8.2.tar.xz and ran ./configure and make

Command used:

./bison --trace=all example.yy

Expected behavior:

Bison should process the grammar file and print trace output without
crashing.

Actual behavior:

Bison crashes with a segmentation fault.

Here is the relevant part of the output:

$ ./bison --trace=all example.yy
bison (GNU Bison) 3.8.2
Starting parse
Entering state 0
Stack now 0
Reducing stack by rule 2 (line 319):
-> $$ = nterm prologue_declarations (example.yy:[email protected]:1.1@1: )
Entering state 2
Stack now 0 2
Reading a token
--(end of buffer or a NUL)
--accepting rule at line 219 ("/*")
--accepting rule at line 527 (" ")

...

Reducing stack by rule 24 (line 363):
   $1 = token %skeleton (example.yy:[email protected]:20.10@10: )
   $2 = token string (example.yy:[email protected]:20.21@21: "lalr1.cc")
-> $$ = nterm prologue_declaration (example.yy:[email protected]:20.21@21: )
Entering state 43
Stack now 0 2 43

...

--accepting rule at line 247 ("%define")
Next token is token %define (example.yy:[email protected]:24.8@8: )
LAC: initial context established for %define
LAC: checking lookahead %define: R55 G60 R8 G43 R3 G2 S16
Reducing stack by rule 55 (line 488):
-> $$ = nterm string.opt (example.yy:[email protected]:22.8@8:
Segmentation fault (core dumped)

I am attaching the example.yy file used to reproduce the crash.

Best regards,
Minjong Kim

--000000000000682435065607f3f0
Content-Type: application/octet-stream; name="example.yy"
Content-Disposition: attachment; filename="example.yy"
Content-Transfer-Encoding: base64
Content-ID: <f_mravb5u00>
X-Attachment-Id: f_mravb5u00

LyogUGFyc2VyIGZvciBjYWxjKysuICAgLSotIEMrKyAtKi0KCiAgIENvcHlyaWdodCAoQykgMjAw
NS0yMDE1LCAyMDE4LTIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCgogICBUaGlz
IGZpbGUgaXMgcGFydCBvZiBCaXNvbiwgdGhlIEdOVSBDb21waWxlciBDb21waWxlci4KCiAgIFRo
aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IgbW9kaWZ5CiAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCgogICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogICBHTlUgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgoKICAgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgYWxv
bmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9s
aWNlbnNlcy8+LiAgKi8KCiVza2VsZXRvbiAibGFscjEuY2MiIC8vIC0qLSBDKysgLSotCiVyZXF1
aXJlICIzLjgiCiVoZWFkZXIKCiVkZWZpbmUgYXBpLnRva2VuLnJhdwoKJWRlZmluZSBhcGkudG9r
ZW4uY29uc3RydWN0b3IKJWRlZmluZSBhcGkudmFsdWUudHlwZSB2YXJpYW50CiVkZWZpbmUgcGFy
c2UuYXNzZXJ0CgolY29kZSByZXF1aXJlcyB7CiAgIyBpbmNsdWRlIDxzdHJpbmc+CiAgY2xhc3Mg
ZHJpdmVyOwp9CgovLyBUaGUgcGFyc2luZyBjb250ZXh0LgolcGFyYW0geyBkcml2ZXImIGRydiB9
CgolbG9jYXRpb25zCgolZGVmaW5lIHBhcnNlLnRyYWNlCiVkZWZpbmUgcGFyc2UuZXJyb3IgZGV0
YWlsZWQKJWRlZmluZSBwYXJzZS5sYWMgZnVsbAoKJWNvZGUgewojIGluY2x1ZGUgImRyaXZlci5o
aCIKfQoKJWRlZmluZSBhcGkudG9rZW4ucHJlZml4IHtUT0tffQoldG9rZW4KICBBU1NJR04gICI6
PSIKICBNSU5VUyAgICItIgogIFBMVVMgICAgIisiCiAgU1RBUiAgICAiKiIKICBTTEFTSCAgICIv
IgogIExQQVJFTiAgIigiCiAgUlBBUkVOICAiKSIKOwoKJXRva2VuIDxzdGQ6OnN0cmluZz4gSURF
TlRJRklFUiAiaWRlbnRpZmllciIKJXRva2VuIDxpbnQ+IE5VTUJFUiAibnVtYmVyIgolbnRlcm0g
PGludD4gZXhwCgolcHJpbnRlciB7IHl5byA8PCAkJDsgfSA8Kj47CgolJQolc3RhcnQgdW5pdDsK
dW5pdDogYXNzaWdubWVudHMgZXhwICB7IGRydi5yZXN1bHQgPSAkMjsgfTsKCmFzc2lnbm1lbnRz
OgogICVlbXB0eSAgICAgICAgICAgICAgICAge30KfCBhc3NpZ25tZW50cyBhc3NpZ25tZW50IHt9
OwoKYXNzaWdubWVudDoKICAiaWRlbnRpZmllciIgIjo9IiBleHAgeyBkcnYudmFyaWFibGVzWyQx
XSA9ICQzOyB9OwoKJWxlZnQgIisiICItIjsKJWxlZnQgIioiICIvIjsKZXhwOgogICJudW1iZXIi
CnwgImlkZW50aWZpZXIiICB7ICQkID0gZHJ2LnZhcmlhYmxlc1skMV07IH0KfCBleHAgIisiIGV4
cCAgIHsgJCQgPSAkMSArICQzOyB9CnwgZXhwICItIiBleHAgICB7ICQkID0gJDEgLSAkMzsgfQp8
IGV4cCAiKiIgZXhwICAgeyAkJCA9ICQxICogJDM7IH0KfCBleHAgIi8iIGV4cCAgIHsgJCQgPSAk
MSAvICQzOyB9CnwgIigiIGV4cCAiKSIgICB7ICQkID0gJDI7IH0KJSUKCnZvaWQKeXk6OnBhcnNl
cjo6ZXJyb3IgKGNvbnN0IGxvY2F0aW9uX3R5cGUmIGwsIGNvbnN0IHN0ZDo6c3RyaW5nJiBtKQp7
CiAgc3RkOjpjZXJyIDw8IGwgPDwgIjogIiA8PCBtIDw8ICdcbic7Cn0K
--000000000000682435065607f3f0--