"etags" from universal-ctags segmentation fault on launch
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
universal-ctags (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
Installed universal-ctags and ran the "etags" command (which update-alternatives automatically provided from the package). It immediately crashed with a segmentation fault. I installed debug symbols and ran it within valgrind:
$ valgrind etags
==9733== Memcheck, a memory error detector
==9733== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==9733== Using Valgrind-3.16.1 and LibVEX; rerun with -h for copyright info
==9733== Command: etags
==9733==
==9733== Invalid read of size 8
==9733== at 0x1349AA: enableLanguage (parse.c:1745)
==9733== by 0x12E2F8: setEtagsMode (options.c:813)
==9733== by 0x12E2F8: testEtagsInvocation (options.c:828)
==9733== by 0x12ACF2: ctags_cli_main (main.c:577)
==9733== by 0x4A99CB1: (below main) (libc-start.c:314)
==9733== Address 0x58 is not stack'd, malloc'd or (recently) free'd
==9733==
==9733==
==9733== Process terminating with default action of signal 11 (SIGSEGV)
==9733== Access not within mapped region at address 0x58
==9733== at 0x1349AA: enableLanguage (parse.c:1745)
==9733== by 0x12E2F8: setEtagsMode (options.c:813)
==9733== by 0x12E2F8: testEtagsInvocation (options.c:828)
==9733== by 0x12ACF2: ctags_cli_main (main.c:577)
==9733== by 0x4A99CB1: (below main) (libc-start.c:314)
==9733== If you believe this happened as a result of a stack
==9733== overflow in your program's main thread (unlikely but
==9733== possible), you can try to increase the size of the
==9733== main thread stack using the --main-stacksize= flag.
==9733== The main thread stack size used in this run was 8388608.
==9733==
==9733== HEAP SUMMARY:
==9733== in use at exit: 5,334 bytes in 22 blocks
==9733== total heap usage: 23 allocs, 1 frees, 78,038 bytes allocated
==9733==
==9733== LEAK SUMMARY:
==9733== definitely lost: 6 bytes in 1 blocks
==9733== indirectly lost: 0 bytes in 0 blocks
==9733== possibly lost: 0 bytes in 0 blocks
==9733== still reachable: 5,328 bytes in 21 blocks
==9733== suppressed: 0 bytes in 0 blocks
==9733== Rerun with --leak-check=full to see details of leaked memory
==9733==
==9733== For lists of detected and suppressed errors, rerun with: -s
==9733== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Segmentation fault (core dumped)
My guess is that universal-ctags either does not expect to be run as "etags", or cannot support it. In any case, the normal execution of "ctags" and "ctags-universal" both exit successfully (with a message requesting input files).
ProblemType: Bug
DistroRelease: Ubuntu 20.10
Package: universal-ctags 0+git20200824-1
ProcVersionSign
Uname: Linux 5.8.0-50-generic x86_64
ApportVersion: 2.20.11-0ubuntu50.5
Architecture: amd64
CasperMD5CheckR
CurrentDesktop: KDE
Date: Fri Apr 16 16:19:18 2021
InstallationDate: Installed on 2020-05-12 (339 days ago)
InstallationMedia: Kubuntu 20.04 LTS "Focal Fossa" - Release amd64 (20200423)
SourcePackage: universal-ctags
UpgradeStatus: Upgraded to groovy on 2021-01-13 (93 days ago)
Thanks for taking your time to report this issue and help making Ubuntu better.
I can confirm the issue with universal-ctags 0+git20200824-1 on Ubuntu 21.04. Indeed `etags` crash with a segmentation fault, though running `ctags-universal` directly results in a message requesting input files.