[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1004645: rc: Tab complete leads to crash on some (e.g. empty) lines



Bernhard Übelacker <bernhardu@mailbox.org> writes:

> Hello Nils,
> I tried to reproduce the issue but it showed not up
> for me in a minimal Bullseye i386 VM.
>
> Therefore I guess the maintainer might need some more informations.
>
> Maybe you could try again with installing valgrind and starting rc like this:
>    valgrind rc

I did this and then pressed tab on an empty line and got the following:

--- snip ---
==6292== Invalid free() / delete / delete[] / realloc()
==6292==    at 0x4837867: free (in /usr/lib/i386-linux-gnu/valgrind/vgpreload_memcheck-x86-linux.so)
==6292==    by 0x1134BF: ??? (in /usr/bin/rc.byron)
==6292==    by 0x118B7C: ??? (in /usr/bin/rc.byron)
==6292==    by 0x118473: ??? (in /usr/bin/rc.byron)
==6292==    by 0x488B775: rl_completion_matches (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292==    by 0x118760: ??? (in /usr/bin/rc.byron)
==6292==    by 0x488B8C2: ??? (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292==    by 0x488BAC7: rl_complete_internal (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292==    by 0x488C0B8: rl_complete (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292==    by 0x488053A: _rl_dispatch_subseq (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292==    by 0x4880A56: _rl_dispatch (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292==    by 0x4880B3D: readline_internal_char (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292==  Address 0x4b187e0 is 0 bytes inside a block of size 24 free'd
==6292==    at 0x4837867: free (in /usr/lib/i386-linux-gnu/valgrind/vgpreload_memcheck-x86-linux.so)
==6292==    by 0x1134BF: ??? (in /usr/bin/rc.byron)
==6292==    by 0x118B60: ??? (in /usr/bin/rc.byron)
==6292==    by 0x118473: ??? (in /usr/bin/rc.byron)
==6292==    by 0x488B775: rl_completion_matches (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292==    by 0x118760: ??? (in /usr/bin/rc.byron)
==6292==    by 0x488B8C2: ??? (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292==    by 0x488BAC7: rl_complete_internal (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292==    by 0x488C0B8: rl_complete (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292==    by 0x488053A: _rl_dispatch_subseq (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292==    by 0x4880A56: _rl_dispatch (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292==    by 0x4880B3D: readline_internal_char (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292==  Block was alloc'd at
==6292==    at 0x483663B: malloc (in /usr/lib/i386-linux-gnu/valgrind/vgpreload_memcheck-x86-linux.so)
==6292==    by 0x1133AF: ??? (in /usr/bin/rc.byron)
==6292==    by 0x118660: ??? (in /usr/bin/rc.byron)
==6292==    by 0x118B25: ??? (in /usr/bin/rc.byron)
==6292==    by 0x118473: ??? (in /usr/bin/rc.byron)
==6292==    by 0x488B775: rl_completion_matches (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292==    by 0x118760: ??? (in /usr/bin/rc.byron)
==6292==    by 0x488B8C2: ??? (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292==    by 0x488BAC7: rl_complete_internal (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292==    by 0x488C0B8: rl_complete (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292==    by 0x488053A: _rl_dispatch_subseq (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292==    by 0x4880A56: _rl_dispatch (in /lib/i386-linux-gnu/libreadline.so.8.1)
==6292== 
--- snap ---

When invoked under valgrind, rc did not crash after this output.

> Or maybe running in within gdb might show a backtrace,
> maybe also setting the environment MALLOC_CHECK_=2 before
> might improve the gathered informations.
>
> Kind regards,
> Bernhard
>
> [1] https://wiki.debian.org/HowToGetABacktrace

Do I still need to do this or is the above information enough?

Thank you,
Nils


Reply to: