From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, T_TVD_MIME_EPI autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 9055 invoked from network); 6 Aug 2021 23:53:25 -0000 Received: from bsd.lv (HELO mandoc.bsd.lv) (66.111.2.12) by inbox.vuxu.org with ESMTPUTF8; 6 Aug 2021 23:53:25 -0000 Received: from fantadrom.bsd.lv (localhost [127.0.0.1]) by mandoc.bsd.lv (OpenSMTPD) with ESMTP id 7fe46988 for ; Fri, 6 Aug 2021 18:53:23 -0500 (EST) Received: from mail1.systemli.org (mail1.systemli.org [212.103.72.247]) by mandoc.bsd.lv (OpenSMTPD) with ESMTP id c9c2f387 for ; Fri, 6 Aug 2021 18:53:22 -0500 (EST) To: tech@mandoc.bsd.lv DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=systemli.org; s=default; t=1628294000; bh=8JAvXOI9tkTfFMDrvaXBXPHDZdtR7MuTld8T8dGyzEY=; h=To:From:Subject:Date:From; b=1/m7qMZQLISmtcDmkRw96t46zgcRcq6KcGCZWkN3GZBj0MRjCQLPJ6BxvZEuOgjtD j+zmH+qSOlHJAptNPnN1vpg2Ir7lyl+y5F09vDQ3KrdGTj/v2UV+5YLHRmfNAU4OTM NxQOlCTlqv98gx329SLWII4nTdVaNWpKmduJxWgJH4uLNh2JXxrSY/vJGOqTD7ubSI jrqgDUMxrXMikdarK5mwAWP0AZuBlWux09CJZZtKGR7iGzqegfL3NabcnqcEM8Iq0D 1FrpRLJZ8HL8fQV+Cy1wANJy0zAo6vTKbkFlZkyKk8tl86YTGmpU53KU9Arq/oEgqg 7yy2zUK3uFFIg== From: sternenseemann Subject: makewhatis: segfault in dbadd when using -a Message-ID: Date: Sat, 7 Aug 2021 01:53:18 +0200 X-Mailinglist: mandoc-tech Reply-To: tech@mandoc.bsd.lv MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------35581840E28BEC18D88C4468" Content-Language: en-US This is a multi-part message in MIME format. --------------35581840E28BEC18D88C4468 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Hi all, while testing Ingo's latest patch I found a segfault in makewhatis involving -a and symlinks which I can also reproduce on unpatched CVS. To reproduce do something like this mkdir test-manpath mkdir -p test-manpath/de/man1 ln -sf $(realpath test-manpath/de) test-manpath/DE So we have a base directory which has one child that is a symlink. This symlink points to a directory below the base directory which contains another directory. Running makewhatis -a test-manpath will then segfault with the following backtrace: #0 0x000000000041a9e1 in dbadd (dba=dba@entry=0x471050, mpage=mpage@entry=0x473560) at mandocdb.c:2140 #1 0x000000000041b0ae in mpages_merge (dba=dba@entry=0x471050, mp=mp@entry=0x46c2b0) at mandocdb.c:1294 #2 0x000000000041ca13 in mandocdb (argc=1, argc@entry=3, argv=, argv@entry=0x7fffffffd678) at mandocdb.c:513 #3 0x000000000041dffa in main (argc=3, argv=0x7fffffffd678) at main.c:165 Full backtrace is attached as well. I've stared at mpages_merge for a little bit, but haven't figured out how this is happening so far. Cheers, Lukas --------------35581840E28BEC18D88C4468 Content-Type: text/plain; charset=UTF-8; name="makewhatis-full-backtrace" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="makewhatis-full-backtrace" IzAgIDB4MDAwMDAwMDAwMDQxYTllMSBpbiBkYmFkZCAoZGJhPWRiYUBlbnRyeT0weDQ3MTA1 MCwgbXBhZ2U9bXBhZ2VAZW50cnk9MHg0NzM1NjApIGF0IG1hbmRvY2RiLmM6MjE0MAogICAg ICAgIG1saW5rID0gMHg0NzI1MTAKICAgICAgICBrZXkgPSA8b3B0aW1pemVkIG91dD4KICAg ICAgICBjcCA9IDB4NDc2NDYwICJERSIKICAgICAgICBtYXNrID0gPG9wdGltaXplZCBvdXQ+ CiAgICAgICAgaSA9IDIKICAgICAgICBzbG90ID0gMAogICAgICAgIG11c3RmcmVlID0gMAog ICAgICAgIF9fUFJFVFRZX0ZVTkNUSU9OX18gPSAiZGJhZGQiCiMxICAweDAwMDAwMDAwMDA0 MWIwYWUgaW4gbXBhZ2VzX21lcmdlIChkYmE9ZGJhQGVudHJ5PTB4NDcxMDUwLCBtcD1tcEBl bnRyeT0weDQ2YzJiMCkgYXQgbWFuZG9jZGIuYzoxMjk0CiAgICAgICAgbXBhZ2UgPSAweDQ3 MzU2MAogICAgICAgIG1wYWdlX2Rlc3QgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBtbGlu ayA9IDB4MAogICAgICAgIG1saW5rX2Rlc3QgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBt ZXRhID0gMHg0NmNhMDAKICAgICAgICBjcCA9IDB4NDM3MzAxIDxoYXNoX2NhbGxvYz4gIkhc MjAzXDM1NFxiXDM1MFxcXDM3NFwzNzdcMzc3SFwyMDNcMzA0XGJcMzAzSFwyMDNcMzU0XGJc MzUwcFwzNzRcMzc3XDM3N0hcMjAzXDMwNFxiXDMwM0hcMjAzXDM1NFwwNzBkSFwyMTNcMDA0 JSgiCiAgICAgICAgZmQgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBfX1BSRVRUWV9GVU5D VElPTl9fID0gIm1wYWdlc19tZXJnZSIKIzIgIDB4MDAwMDAwMDAwMDQxY2ExMyBpbiBtYW5k b2NkYiAoYXJnYz0xLCBhcmdjQGVudHJ5PTMsIGFyZ3Y9PG9wdGltaXplZCBvdXQ+LCBhcmd2 QGVudHJ5PTB4N2ZmZmZmZmZkNjc4KSBhdCBtYW5kb2NkYi5jOjUxMwogICAgICAgIGNvbmYg PSB7b3V0cHV0ID0ge2luY2x1ZGVzID0gMHgwLCBtYW4gPSAweDAsIG91dGZpbGVuYW1lID0g MHgwLCBwYXBlciA9IDB4MCwgc3R5bGUgPSAweDAsIHRhZyA9IDB4MCwgdGFnZmlsZW5hbWUg PSAweDAsIGluZGVudCA9IDAsIHdpZHRoID0gMCwgZnJhZ21lbnQgPSAwLCBtZG9jID0gMCwg bm92YWwgPSAwLCBzeW5vcHNpc29ubHkgPSAwLCB0YWdfZm91bmQgPSAwLCB0b2MgPSAwfSwg bWFucGF0aCA9IHtwYXRocyA9IDB4NDZkMGMwLCBzeiA9IDF9fQogICAgICAgIG1wID0gMHg0 NmMyYjAKICAgICAgICBkYmEgPSAweDQ3MTA1MAogICAgICAgIHBhdGhfYXJnID0gPG9wdGlt aXplZCBvdXQ+CiAgICAgICAgcHJvZ25hbWUgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBq ID0gMAogICAgICAgIHN6ID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgY2ggPSA8b3B0aW1p emVkIG91dD4KICAgICAgICBpID0gPG9wdGltaXplZCBvdXQ+CiMzICAweDAwMDAwMDAwMDA0 MWRmZmEgaW4gbWFpbiAoYXJnYz0zLCBhcmd2PTB4N2ZmZmZmZmZkNjc4KSBhdCBtYWluLmM6 MTY1CiAgICAgICAgY29uZiA9IHtvdXRwdXQgPSB7aW5jbHVkZXMgPSAweDEwMDAwMCA8ZXJy b3I6IENhbm5vdCBhY2Nlc3MgbWVtb3J5IGF0IGFkZHJlc3MgMHgxMDAwMDA+LCBtYW4gPSAw eDAsIG91dGZpbGVuYW1lID0gMHhmZmZmZmZmZmZmZmZmZmZmIDxlcnJvcjogQ2Fubm90IGFj Y2VzcyBtZW1vcnkgYXQgYWRkcmVzcyAweGZmZmZmZmZmZmZmZmZmZmY+LCBwYXBlciA9IDB4 ODAwMCA8ZXJyb3I6IENhbm5vdCBhY2Nlc3MgbWVtb3J5IGF0IGFkZHJlc3MgMHg4MDAwPiwg c3R5bGUgPSAweDAsIAogICAgICAgICAgICB0YWcgPSAweGZmZmZmZmZmZmZmZmZmZmYgPGVy cm9yOiBDYW5ub3QgYWNjZXNzIG1lbW9yeSBhdCBhZGRyZXNzIDB4ZmZmZmZmZmZmZmZmZmZm Zj4sIHRhZ2ZpbGVuYW1lID0gMHgwLCBpbmRlbnQgPSAxNDA3Mzc0ODgzNDc4MDMsIHdpZHRo ID0gMTQwNzM3MzU0MDgyMzAzLCBmcmFnbWVudCA9IDAsIG1kb2MgPSAwLCBub3ZhbCA9IDAs IHN5bm9wc2lzb25seSA9IDAsIHRhZ19mb3VuZCA9IDAsIHRvYyA9IDB9LCBtYW5wYXRoID0g e3BhdGhzID0gMHgwLCBzeiA9IDE0MDczNzM1Mzk4OTQ3Mn19CiAgICAgICAgb3V0c3QgPSB7 dGFnX2ZpbGVzID0gMHgxLCBvdXRkYXRhID0gMHhmZmZmZmZmZmZmZmZmZmZmLCB1c2VfcGFn ZXIgPSA0MDk2LCB3c3RvcCA9IDAsIGhhZF9vdXRwdXQgPSAyNTYsIG91dHR5cGUgPSBPVVRU X0FTQ0lJfQogICAgICAgIHdzID0ge3dzX3JvdyA9IDIwNDgsIHdzX2NvbCA9IDAsIHdzX3hw aXhlbCA9IDAsIHdzX3lwaXhlbCA9IDB9CiAgICAgICAgc2VhcmNoID0ge2FyY2ggPSAweGZm ZmZmZmZmZmZmZmZmZmYgPGVycm9yOiBDYW5ub3QgYWNjZXNzIG1lbW9yeSBhdCBhZGRyZXNz IDB4ZmZmZmZmZmZmZmZmZmZmZj4sIHNlYyA9IDB4YzAwMDAgPGVycm9yOiBDYW5ub3QgYWNj ZXNzIG1lbW9yeSBhdCBhZGRyZXNzIDB4YzAwMDA+LCBvdXRrZXkgPSAweDAsIGFyZ21vZGUg PSA0Mjk0OTY3Mjk1LCBmaXJzdG1hdGNoID0gLTF9CiAgICAgICAgcmVzID0gMHg0MAogICAg ICAgIHJlc24gPSAweDM4MDAwMDAwMzgwCiAgICAgICAgbXAgPSA8b3B0aW1pemVkIG91dD4K ICAgICAgICBjb25mX2ZpbGUgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBvc19zID0gPG9w dGltaXplZCBvdXQ+CiAgICAgICAgcHJvZ25hbWUgPSAweDdmZmZmZmZmZGE3MiAibWFrZXdo YXRpcyIKICAgICAgICBzZWMgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBkZWZwYXRocyA9 IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIGF1eHBhdGhzID0gPG9wdGltaXplZCBvdXQ+CiAg ICAgICAgb2FyZyA9IDB4MzgwMDAwMDAzODAgPGVycm9yOiBDYW5ub3QgYWNjZXNzIG1lbW9y eSBhdCBhZGRyZXNzIDB4MzgwMDAwMDAzODA+CiAgICAgICAgdGFnYXJnID0gPG9wdGltaXpl ZCBvdXQ+CiAgICAgICAgdWMgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICByZXNzeiA9IDE3 MTc5ODcwMDgwCiAgICAgICAgcmVzbnN6ID0gMTA0ODU3NgogICAgICAgIGkgPSA8b3B0aW1p emVkIG91dD4KICAgICAgICBpYiA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHNzeiA9IDxv cHRpbWl6ZWQgb3V0PgogICAgICAgIG9wdGlvbnMgPSA8b3B0aW1pemVkIG91dD4KICAgICAg ICBzaG93X3VzYWdlID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgcHJpbyA9IDxvcHRpbWl6 ZWQgb3V0PgogICAgICAgIGJlc3RfcHJpbyA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHN0 YXJ0ZGlyID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgYyA9IDxvcHRpbWl6ZWQgb3V0Pgog ICAgICAgIG9zX2UgPSBNQU5ET0NfT1NfT1RIRVIKICAgICAgICBvdXRtb2RlID0gPG9wdGlt aXplZCBvdXQ+Cg== --------------35581840E28BEC18D88C4468-- -- To unsubscribe send an email to tech+unsubscribe@mandoc.bsd.lv