Bug 31226 - gdb crashed in block::scope creating traces of plasmashell crashes when Qt debug packages weren't installed
Summary: gdb crashed in block::scope creating traces of plasmashell crashes when Qt de...
Status: RESOLVED DUPLICATE of bug 31128
Alias: None
Product: gdb
Classification: Unclassified
Component: backtrace (show other bugs)
Version: 14.1
: P2 normal
Target Milestone: 14.2
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-01-09 23:01 UTC by Matt Fagnani
Modified: 2024-01-10 14:54 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments
Full trace of all threads of the second gdb crash mentioned (9.05 KB, text/plain)
2024-01-09 23:01 UTC, Matt Fagnani
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matt Fagnani 2024-01-09 23:01:23 UTC
Created attachment 15293 [details]
Full trace of all threads of the second gdb crash mentioned

I was looking into plasmashell crashes and subsequent drkonqi and gdb crashes when creating traces as described at https://sourceware.org/bugzilla/show_bug.cgi?id=31122 I noticed that when qt5, glib2, and glibc debuginfo packages weren't installed, drkonqi and kioslave5 didn't crash when I created a trace in drkonqi, but gdb crashed with a segmentation fault and drkonqi showed that the crash information couldn't be generated. gdb crashed in block::scope in frame 13 of the following trace.

Core was generated by `/usr/bin/gdb -nw -n -batch -x /tmp/drkonqi.MYQAJG -x /tmp/drkonqi.ZWupqQ -p 622'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00005555689f9ebc in operator() (__closure=<optimized out>, 
    msg=0x55556a704880 "0x5555689fa140 ") at ../../gdb/bt-utils.c:59
59          gdb_stderr->write_async_safe (msg, strlen (msg));
[Current thread is 1 (Thread 0x7f012efae080 (LWP 62400))]

(gdb) bt
#0  0x00005555689f9ebc in operator() (__closure=<optimized out>, 
    msg=0x55556a704880 "0x5555689fa140 ") at ../../gdb/bt-utils.c:59
#1  libbacktrace_print (data=data@entry=0x0, pc=pc@entry=93825315873088, 
    filename=0x7f00f0b0fc90 "../../gdb/bt-utils.c", lineno=122, 
    function=0x7f00ff01d0b9 "gdb_internal_backtrace_1") at ../../gdb/bt-utils.c:94
#2  0x00005555690de7d7 in report_inlined_functions (pc=pc@entry=93825315873088, 
    callback=callback@entry=0x5555689f9e50 <libbacktrace_print(void*, uintptr_t, char const*, int, char const*)>, data=data@entry=0x0, filename=filename@entry=0x55556a704a70, lineno=0x55556a704a30, 
    function=0x7f00f0b05fb8) at ../../libbacktrace/dwarf.c:3612
#3  0x00005555690e1932 in dwarf_lookup_pc (state=<optimized out>, ddata=<optimized out>, 
    pc=<optimized out>, callback=<optimized out>, error_callback=<optimized out>, 
    data=<optimized out>, found=<optimized out>) at ../../libbacktrace/dwarf.c:3879
#4  0x00005555690e3316 in dwarf_fileline (state=0x7f012f0f9000, pc=93825315873088, 
    callback=0x5555689f9e50 <libbacktrace_print(void*, uintptr_t, char const*, int, char const*)>, 
    error_callback=0x5555689f9d30 <libbacktrace_error(void*, char const*, int)>, data=0x0)
    at ../../libbacktrace/dwarf.c:3906
#5  0x00005555690d7ae3 in unwind (context=<optimized out>, vdata=0x55556a704dd0)
    at ../../libbacktrace/backtrace.c:91
#6  0x00007f012eeca88d in _Unwind_Backtrace (trace=trace@entry=0x5555690d7a40 <unwind>, 
    trace_argument=trace_argument@entry=0x55556a704dd0) at ../../../libgcc/unwind.inc:309
#7  0x00005555690d7b6c in backtrace_full (state=0x7f012f0f9000, skip=<optimized out>, 
    callback=<optimized out>, error_callback=<optimized out>, data=<optimized out>)
--Type <RET> for more, q to quit, c to continue without paging--c
    at ../../libbacktrace/backtrace.c:127
#8  0x00005555689fa141 in gdb_internal_backtrace_1 () at ../../gdb/bt-utils.c:122
#9  gdb_internal_backtrace () at ../../gdb/bt-utils.c:168
#10 0x0000555568b37253 in handle_fatal_signal (sig=sig@entry=11) at ../../gdb/event-top.c:895
#11 0x0000555568b3742a in handle_sigsegv (sig=11) at ../../gdb/event-top.c:968
#12 <signal handler called>
#13 block::scope (this=<optimized out>) at ../../gdb/block.c:293
#14 0x0000555568a7e067 in cp_lookup_transparent_type (name=0x55556bc30170 "QApplication")
    at ../../gdb/cp-namespace.c:1029
#15 0x0000555568b7309d in check_typedef (type=<optimized out>, type@entry=0x55556bc3c510)
    at ../../gdb/gdbtypes.c:3052
#16 0x0000555568b55650 in language_defn::read_var_value (this=<optimized out>, var=0x55556d2c7270, 
    var_block=0x0, frame=...) at ../../gdb/findvar.c:518
#17 0x0000555568b54833 in read_var_value (var=var@entry=0x55556d2c7270, 
    var_block=var_block@entry=0x0, frame=...) at ../../gdb/findvar.c:746
#18 0x0000555568cf4879 in sympy_value (self=<optimized out>, args=<optimized out>)
    at ../../gdb/python/py-symbol.c:306
#19 0x00007f012e9fb4d6 in method_vectorcall_VARARGS (
    func=<method_descriptor at remote 0x7f0128a907c0>, args=0x7f012f0fa230, nargsf=<optimized out>, 
    kwnames=0x0) at /usr/src/debug/python3.12-3.12.1-1.fc39.x86_64/Objects/descrobject.c:331
#20 0x00007f012ea0ac7c in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=9223372036854775810, 
    args=0x7f012f0fa230, callable=<method_descriptor at remote 0x7f0128a907c0>, 
    tstate=0x7f012ee4d668 <_PyRuntime+459656>)
    at /usr/src/debug/python3.12-3.12.1-1.fc39.x86_64/Include/internal/pycore_call.h:92
#21 PyObject_Vectorcall (callable=<method_descriptor at remote 0x7f0128a907c0>, args=0x7f012f0fa230, 
    nargsf=9223372036854775810, kwnames=0x0)
    at /usr/src/debug/python3.12-3.12.1-1.fc39.x86_64/Objects/call.c:325
#22 0x00007f012e90f7e1 in _PyEval_EvalFrameDefault (tstate=<optimized out>, frame=0x7f012f0fa180, 
    throwflag=<optimized out>) at Python/bytecodes.c:2706
#23 0x00007f012ea8a996 in PyEval_EvalCode (co=<code at remote 0x7f0110e2fad0>, 
    globals=<optimized out>, 
    locals={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/usr/share/drkonqi/gdb/preamble.py') at remote 0x7f0128a7e000>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f0128be1940>, 'sys': <module at remote 0x7f0128bdbe70>, 'GdbRemoveReadlineFinder': <type at remote 0x55556a918f70>, 'gdb': <module at remote 0x7f0128a98090>, 'os': <module at remote 0x7f0128c36570>, 'pythondir': 'share/gcc-13/python', 'libdir': 'lib64', 'prefix': '/usr/', 'dotdots': '../', 'objfile': '/lib64/libstdc++.so.6', 'dir_': '/usr/share/glib-2.0/gdb', 'register_libstdcxx_printers': <function at remote 0x7f0128a06e80>, 'register': <function at remote 0x7f011131bc40>, 'Mapping': <_SpecialGenericAlias(_inst=True, _name='Mapping', __origin__=<ABCMeta(__module__='collections.abc', __doc__='A Mapping is a generic container for associating key/value\n    pairs.\n\n    This class provides concrete generic implementations of all\n    methods except for __...(truncated)) at /usr/src/debug/python3.12-3.12.1-1.fc39.x86_64/Python/ceval.c:578
#24 0x00007f012eaadafa in run_eval_code_obj (tstate=tstate@entry=0x7f012ee4d668 <_PyRuntime+459656>, 
    co=co@entry=0x7f0110e2fad0, 
    globals=globals@entry={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/usr/share/drkonqi/gdb/preamble.py') at remote 0x7f0128a7e000>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f0128be1940>, 'sys': <module at remote 0x7f0128bdbe70>, 'GdbRemoveReadlineFinder': <type at remote 0x55556a918f70>, 'gdb': <module at remote 0x7f0128a98090>, 'os': <module at remote 0x7f0128c36570>, 'pythondir': 'share/gcc-13/python', 'libdir': 'lib64', 'prefix': '/usr/', 'dotdots': '../', 'objfile': '/lib64/libstdc++.so.6', 'dir_': '/usr/share/glib-2.0/gdb', 'register_libstdcxx_printers': <function at remote 0x7f0128a06e80>, 'register': <function at remote 0x7f011131bc40>, 'Mapping': <_SpecialGenericAlias(_inst=True, _name='Mapping', __origin__=<ABCMeta(__module__='collections.abc', __doc__='A Mapping is a generic container for associating key/value\n    pairs.\n\n    This class provides concrete generic implementations of all\n    methods except for __...(truncated), 
    locals=locals@entry={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/usr/share/drkonqi/gdb/preamble.py') at remote 0x7f0128a7e000>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f0128be1940>, 'sys': <module at remote 0x7f0128bdbe70>, 'GdbRemoveReadlineFinder': <type at remote 0x55556a918f70>, 'gdb': <module at remote 0x7f0128a98090>, 'os': <module at remote 0x7f0128c36570>, 'pythondir': 'share/gcc-13/python', 'libdir': 'lib64', 'prefix': '/usr/', 'dotdots': '../', 'objfile': '/lib64/libstdc++.so.6', 'dir_': '/usr/share/glib-2.0/gdb', 'register_libstdcxx_printers': <function at remote 0x7f0128a06e80>, 'register': <function at remote 0x7f011131bc40>, 'Mapping': <_SpecialGenericAlias(_inst=True, _name='Mapping', __origin__=<ABCMeta(__module__='collections.abc', __doc__='A Mapping is a generic container for associating key/value\n    pairs.\n\n    This class provides concrete generic implementations of all\n    methods except for __...(truncated))
    at /usr/src/debug/python3.12-3.12.1-1.fc39.x86_64/Python/pythonrun.c:1691
#25 0x00007f012eaa8a7e in run_mod (mod=mod@entry=0x5555865efc08, filename=filename@entry='<string>', 
    globals=globals@entry={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/usr/share/drkonqi/gdb/preamble.py') at remote 0x7f0128a7e000>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f0128be1940>, 'sys': <module at remote 0x7f0128bdbe70>, 'GdbRemoveReadlineFinder': <type at remote 0x55556a918f70>, 'gdb': <module at remote 0x7f0128a98090>, 'os': <module at remote 0x7f0128c36570>, 'pythondir': 'share/gcc-13/python', 'libdir': 'lib64', 'prefix': '/usr/', 'dotdots': '../', 'objfile': '/lib64/libstdc++.so.6', 'dir_': '/usr/share/glib-2.0/gdb', 'register_libstdcxx_printers': <function at remote 0x7f0128a06e80>, 'register': <function at remote 0x7f011131bc40>, 'Mapping': <_SpecialGenericAlias(_inst=True, _name='Mapping', __origin__=<ABCMeta(__module__='collections.abc', __doc__='A Mapping is a generic container for associating key/value\n    pairs.\n\n    This class provides concrete generic implementations of all\n    methods except for __...(truncated), 
    locals=locals@entry={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/usr/share/drkonqi/gdb/preamble.py') at remote 0x7f0128a7e000>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f0128be1940>, 'sys': <module at remote 0x7f0128bdbe70>, 'GdbRemoveReadlineFinder': <type at remote 0x55556a918f70>, 'gdb': <module at remote 0x7f0128a98090>, 'os': <module at remote 0x7f0128c36570>, 'pythondir': 'share/gcc-13/python', 'libdir': 'lib64', 'prefix': '/usr/', 'dotdots': '../', 'objfile': '/lib64/libstdc++.so.6', 'dir_': '/usr/share/glib-2.0/gdb', 'register_libstdcxx_printers': <function at remote 0x7f0128a06e80>, 'register': <function at remote 0x7f011131bc40>, 'Mapping': <_SpecialGenericAlias(_inst=True, _name='Mapping', __origin__=<ABCMeta(__module__='collections.abc', __doc__='A Mapping is a generic container for associating key/value\n    pairs.\n\n    This class provides concrete generic implementations of all\n    methods except for __...(truncated), flags=flags@entry=0x0, arena=arena@entry=0x7f0128a77cf0)
    at /usr/src/debug/python3.12-3.12.1-1.fc39.x86_64/Python/pythonrun.c:1712
#26 0x00007f012ea9ab16 in PyRun_StringFlags (str=0x555586315493 "print_preamble()", 
    start=<optimized out>, 
    globals={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/usr/share/drkonqi/gdb/preamble.py') at remote 0x7f0128a7e000>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f0128be1940>, 'sys': <module at remote 0x7f0128bdbe70>, 'GdbRemoveReadlineFinder': <type at remote 0x55556a918f70>, 'gdb': <module at remote 0x7f0128a98090>, 'os': <module at remote 0x7f0128c36570>, 'pythondir': 'share/gcc-13/python', 'libdir': 'lib64', 'prefix': '/usr/', 'dotdots': '../', 'objfile': '/lib64/libstdc++.so.6', 'dir_': '/usr/share/glib-2.0/gdb', 'register_libstdcxx_printers': <function at remote 0x7f0128a06e80>, 'register': <function at remote 0x7f011131bc40>, 'Mapping': <_SpecialGenericAlias(_inst=True, _name='Mapping', __origin__=<ABCMeta(__module__='collections.abc', __doc__='A Mapping is a generic container for associating key/value\n    pairs.\n\n    This class provides concrete generic implementations of all\n    methods except for __...(truncated), 
    locals={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/usr/share/drkonqi/gdb/preamble.py') at remote 0x7f0128a7e000>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7f0128be1940>, 'sys': <module at remote 0x7f0128bdbe70>, 'GdbRemoveReadlineFinder': <type at remote 0x55556a918f70>, 'gdb': <module at remote 0x7f0128a98090>, 'os': <module at remote 0x7f0128c36570>, 'pythondir': 'share/gcc-13/python', 'libdir': 'lib64', 'prefix': '/usr/', 'dotdots': '../', 'objfile': '/lib64/libstdc++.so.6', 'dir_': '/usr/share/glib-2.0/gdb', 'register_libstdcxx_printers': <function at remote 0x7f0128a06e80>, 'register': <function at remote 0x7f011131bc40>, 'Mapping': <_SpecialGenericAlias(_inst=True, _name='Mapping', __origin__=<ABCMeta(__module__='collections.abc', __doc__='A Mapping is a generic container for associating key/value\n    pairs.\n\n    This class provides concrete generic implementations of all\n    methods except for __...(truncated), flags=0x0)
    at /usr/src/debug/python3.12-3.12.1-1.fc39.x86_64/Python/pythonrun.c:1587
#27 0x00007f012ea9aa64 in PyRun_SimpleStringFlags (command=0x555586315493 "print_preamble()", 
    flags=0x0) at /usr/src/debug/python3.12-3.12.1-1.fc39.x86_64/Python/pythonrun.c:480
#28 0x0000555568d092da in python_command (arg=<optimized out>, from_tty=<optimized out>)
    at ../../gdb/python/python.c:453
#29 0x0000555568a36795 in cmd_func (cmd=<optimized out>, args=<optimized out>, 
    from_tty=<optimized out>) at ../../gdb/cli/cli-decode.c:2735
#30 0x0000555568e46b25 in execute_command (p=<optimized out>, 
    p@entry=0x555586315490 "py print_preamble()", from_tty=<optimized out>) at ../../gdb/top.c:575
#31 0x0000555568b37ab2 in command_handler (command=0x555586315490 "py print_preamble()")
    at ../../gdb/event-top.c:555
#32 0x0000555568e47525 in read_command_file (stream=stream@entry=0x5555865eef70)
    at ../../gdb/top.c:342
#33 0x0000555568a440e9 in script_from_file (stream=stream@entry=0x5555865eef70, 
    file=file@entry=0x7ffc2eca6733 "/tmp/drkonqi.MYQAJG") at ../../gdb/cli/cli-script.c:1642
#34 0x0000555568a3445b in source_script_from_stream (
    file_to_open=0x555585fe7190 "/tmp/drkonqi.MYQAJG", file=0x7ffc2eca6733 "/tmp/drkonqi.MYQAJG", 
    stream=0x5555865eef70) at ../../gdb/cli/cli-cmds.c:730
#35 source_script_with_search (file=0x7ffc2eca6733 "/tmp/drkonqi.MYQAJG", 
    file@entry=<error reading variable: value has been optimized out>, 
    from_tty=<error reading variable: value has been optimized out>, 
    search_path=<error reading variable: value has been optimized out>)
    at ../../gdb/cli/cli-cmds.c:775
#36 0x0000555568c2490a in catch_command_errors (command=<optimized out>, arg=<optimized out>, 
    from_tty=<optimized out>, do_bp_actions=do_bp_actions@entry=false) at ../../gdb/main.c:513
#37 0x0000555568c249b8 in execute_cmdargs (cmdarg_vec=cmdarg_vec@entry=0x7ffc2eca45f0, 
    file_type=file_type@entry=CMDARG_FILE, cmd_type=cmd_type@entry=CMDARG_COMMAND, 
    ret=ret@entry=0x7ffc2eca45e4) at ../../gdb/main.c:609
#38 0x0000555568c26e49 in captured_main_1 (context=context@entry=0x7ffc2eca47f0)
    at ../../gdb/main.c:1293
#39 0x0000555568c27870 in captured_main (data=0x7ffc2eca47f0) at ../../gdb/main.c:1314
#40 gdb_main (args=args@entry=0x7ffc2eca4830) at ../../gdb/main.c:1343
#41 0x00005555688f7bb0 in main (argc=11, argv=0x7ffc2eca4988) at ../../gdb/gdb.c:47

(gdb) frame 13
#13 block::scope (this=<optimized out>) at ../../gdb/block.c:293
293           if (block->m_namespace_info != nullptr
(gdb) p this
$1 = <optimized out>
(gdb) p block
$2 = <optimized out>

t was null in frame 14.

(gdb) frame 14
#14 0x0000555568a7e067 in cp_lookup_transparent_type (name=0x55556bc30170 "QApplication")
    at ../../gdb/cp-namespace.c:1029
1029      scope = get_selected_block (0)->scope ();
(gdb) p scope
$3 = <optimized out>
(gdb) p name
$4 = 0x55556bc30170 "QApplication"
(gdb) p t
$5 = (type *) 0x0

In frames 16 and 17, var_block was null.

(gdb) frame 16
#16 0x0000555568b55650 in language_defn::read_var_value (this=<optimized out>, var=0x55556d2c7270, 
    var_block=0x0, frame=...) at ../../gdb/findvar.c:518
518       check_typedef (type);
(gdb) p type
$8 = (type *) 0x55556bc3c510
(gdb) p var_block
$9 = (const block *) 0x0

(gdb) frame 17
#17 0x0000555568b54833 in read_var_value (var=var@entry=0x55556d2c7270, 
    var_block=var_block@entry=0x0, frame=...) at ../../gdb/findvar.c:746
746       return lang->read_var_value (var, var_block, frame);
(gdb) p var
$12 = (symbol *) 0x55556d2c7270
(gdb) p var_block
$13 = (const block *) 0x0
(gdb) p frame
$14 = {<intrusive_list_node<frame_info_ptr>> = {next = 0x7ffc2eca3ae0, prev = 0x7ffc2eca3b80}, 
  static invalid_level = -2, m_ptr = 0x5555884e6b40, m_cached_id = {stack_addr = 140735794617984, 
    code_addr = 94673707714992, special_addr = 0, stack_status = FID_STACK_VALID, code_addr_p = 1, 
    special_addr_p = 0, user_created_p = 0, artificial_depth = 0}, m_cached_level = 10, 
  static frame_list = {m_front = 0x5555695d71c0 <selected_frame>, m_back = 0x7ffc2eca3ae0}}

I reproduced this problem at least three times with Plasma 5.27.9 and gdb 14.1 with the crash in block::scope each time. I reproduced the plasmashell crash and gdb crash in drkonqi as follows without qt5-*, glib2, glibc debuginfo packages installed.

1. Log in to Plasma on Wayland
2. Start Konsole
3. gdb -p $(pidof plasmashell)
4. In gdb, run c
5. Open a new tab in Konsole
6. In the new Konsole tab, pkill -6 plasmashell
7. in gdb, run q
8. If drkonqi appears, select Developer Information in drkonqi.
9. If drkonqi doesn't appear because plasmashell restarted before drkonqi started, repeat 3-8 until it does

I reproduced the plasmashell crash when using Firefox to watch Instagram videos which was the original problem https://bugs.kde.org/show_bug.cgi?id=471248
I set TimeoutSec=1000sec in /usr/lib/systemd/user/plasma-plasmashell.service to work around the problem I reported at https://sourceware.org/bugzilla/show_bug.cgi?id=31122#c3 https://bugs.kde.org/show_bug.cgi?id=478287 Using Plasma 5.27.10 on Wayland with KF 5.113.0 and Qt 5.15.12 without the qt5-* debuginfo packages installed, I attached gdb to plasmashell with gdb -p $(pidof plasmashell) I played Instagram story videos in Firefox 123.0a1 on Wayland. plasmashell crashed. I ran bt in gdb which then crashed in block::scope.

Thread 1 "plasmashell" received signal SIGSEGV, Segmentation fault.
0x00007fe9f08b3a72 in __dynamic_cast () from /lib64/libstdc++.so.6
(gdb) bt
#0  0x00007fe9f08b3a72 in __dynamic_cast () at /lib64/libstdc++.so.6
#1  0x00007fe9f32b7200 in Plasma::DataContainer::getDataEngine() () at /lib64/libKF5Plasma.so.5


Fatal signal: Segmentation fault
----- Backtrace -----
0x559983a27140 gdb_internal_backtrace_1
        ../../gdb/bt-utils.c:122
0x559983a27140 _Z22gdb_internal_backtracev
        ../../gdb/bt-utils.c:168
0x559983b64252 handle_fatal_signal
        ../../gdb/event-top.c:895
0x559983b64429 handle_sigsegv
        ../../gdb/event-top.c:968
0x7f0426f6e99f ???
        /usr/src/debug/glibc-2.38-14.fc39.x86_64/signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0
0x5599839f43e8 _ZNK5block5scopeEv
        ../../gdb/block.c:293
0x559983aab066 _Z26cp_lookup_transparent_typePKc
        ../../gdb/cp-namespace.c:1029
0x559983ba009c _Z13check_typedefP4type
        ../../gdb/gdbtypes.c:3052
0x559983d2601c _Z19type_to_type_objectP4type
        ../../gdb/python/py-type.c:1468
0x559983d274f3 convert_field
        ../../gdb/python/py-type.c:221
0x559983d27afe make_fielditem
        ../../gdb/python/py-type.c:275
0x559983d27afe typy_iterator_iternext
        ../../gdb/python/py-type.c:1440
0x7f04278339fb ???
        /usr/src/debug/python3.12-3.12.1-2.fc39.x86_64/Objects/listobject.c:944
0x7f04278470e0 ???
        /usr/src/debug/python3.12-3.12.1-2.fc39.x86_64/Objects/listobject.c:982
0x559983d26f0b typy_fields_items
        ../../gdb/python/py-type.c:311
0x7f042781ab19 ???
        /usr/src/debug/python3.12-3.12.1-2.fc39.x86_64/Objects/descrobject.c:454
0x7f042780abfb ???
        /usr/src/debug/python3.12-3.12.1-2.fc39.x86_64/Include/internal/pycore_call.h:92
0x7f042770f759 ???
        Python/bytecodes.c:2706
0x7f0427812cda ???
        /usr/src/debug/python3.12-3.12.1-2.fc39.x86_64/Include/internal/pycore_call.h:92
0x7f042788d08f ???
        /usr/src/debug/python3.12-3.12.1-2.fc39.x86_64/Objects/call.c:957
0x559983d19ca7 search_pp_list
        ../../gdb/python/py-prettyprint.c:83
0x559983d1a182 find_pretty_printer_from_objfiles
        ../../gdb/python/py-prettyprint.c:113
0x559983d1a182 find_pretty_printer
        ../../gdb/python/py-prettyprint.c:173
0x559983d1a647 _Z30gdbpy_apply_val_pretty_printerPK23extension_language_defnP5valueP7ui_fileiPK19value_print_optionsPK13language_defn
        ../../gdb/python/py-prettyprint.c:603
0x559983b6b748 _Z33apply_ext_lang_val_pretty_printerP5valueP7ui_fileiPK19value_print_optionsPK13language_defn
        ../../gdb/extension.c:489
0x559983f038e6 _Z16common_val_printP5valueP7ui_fileiPK19value_print_optionsPK13language_defn
        ../../gdb/valprint.c:1072
0x559983d0519e py_print_value
        ../../gdb/python/py-framefilter.c:251
0x559983d057cb py_print_single_arg
        ../../gdb/python/py-framefilter.c:397
0x559983d05dee enumerate_args
        ../../gdb/python/py-framefilter.c:488
0x559983d070dd py_print_args
        ../../gdb/python/py-framefilter.c:721
0x559983d070dd py_print_frame
        ../../gdb/python/py-framefilter.c:952
0x559983d087d2 _Z24gdbpy_apply_frame_filterPK23extension_language_defn14frame_info_ptr10enum_flagsI17frame_filter_flagE19ext_lang_frame_argsP6ui_outii
        ../../gdb/python/py-framefilter.c:1228
0x559983b6bf89 _Z27apply_ext_lang_frame_filter14frame_info_ptr10enum_flagsI17frame_filter_flagE19ext_lang_frame_argsP6ui_outii
        ../../gdb/extension.c:541
0x559983e0a166 backtrace_command_1
        ../../gdb/stack.c:2029
0x559983e0a166 backtrace_command
        ../../gdb/stack.c:2168
0x559983a63794 _Z8cmd_funcP16cmd_list_elementPKci
        ../../gdb/cli/cli-decode.c:2735
0x559983e73b24 _Z15execute_commandPKci
        ../../gdb/top.c:575
0x559983b64ab1 _Z15command_handlerPKc
        ../../gdb/event-top.c:555
0x559983b665a8 _Z20command_line_handlerOSt10unique_ptrIcN3gdb13xfree_deleterIcEEE
        ../../gdb/event-top.c:791
0x559983b65170 gdb_rl_callback_handler
        ../../gdb/event-top.c:260
0x7f0427eaf0dc ???
0x559983b652d5 gdb_rl_callback_read_char_wrapper_noexcept
        ../../gdb/event-top.c:196
0x559983b65487 gdb_rl_callback_read_char_wrapper
        ../../gdb/event-top.c:235
0x559983eb501f stdin_event_handler
        ../../gdb/ui.c:155
0x5599840e573d gdb_wait_for_event
        ../../gdbsupport/event-loop.cc:716
0x5599840e62f1 _Z16gdb_do_one_eventi
        ../../gdbsupport/event-loop.cc:264
0x559983c51b11 start_event_loop
        ../../gdb/main.c:407
0x559983c51b11 captured_command_loop
        ../../gdb/main.c:471
0x559983c54874 captured_main
        ../../gdb/main.c:1324
0x559983c54874 _Z8gdb_mainP18captured_main_args
        ../../gdb/main.c:1343
0x559983924baf main
        ../../gdb/gdb.c:47
---------------------
A fatal error internal to GDB has been detected, further
debugging is not possible.  GDB will now terminate.

This is a bug, please report it.  For instructions, see:
<https://www.gnu.org/software/gdb/bugs/>.

Segmentation fault (core dumped)

block::scope, cp_lookup_transparent_type, and check_typedef were in common with the previous traces, but the functions below that looked different.

Core was generated by `gdb -p 46516'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, 
    no_tid=no_tid@entry=0) at pthread_kill.c:44
44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
[Current thread is 1 (Thread 0x7f0427e6c080 (LWP 48853))] 

(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, 
    no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007f0426fc08a3 in __pthread_kill_internal (signo=11, threadid=<optimized out>)
    at pthread_kill.c:78
#2  0x00007f0426f6e8ee in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x0000559983b641ff in handle_fatal_signal (sig=sig@entry=11) at ../../gdb/event-top.c:918
#4  0x0000559983b6442a in handle_sigsegv (sig=11) at ../../gdb/event-top.c:968
#5  <signal handler called>
#6  block::scope (this=<optimized out>) at ../../gdb/block.c:293
#7  0x0000559983aab067 in cp_lookup_transparent_type (name=0x5599a3362f20 "Plasma::Service")
    at ../../gdb/cp-namespace.c:1029
#8  0x0000559983ba009d in check_typedef (type=<optimized out>) at ../../gdb/gdbtypes.c:3052
#9  0x0000559983d2601d in type_to_type_object (type=0x5599a3bcfa70)
    at ../../gdb/python/py-type.c:1468
#10 0x0000559983d274f4 in convert_field (type=type@entry=0x5599a22e9520, field=field@entry=0)
    at ../../gdb/python/py-type.c:221
#11 0x0000559983d27aff in make_fielditem (kind=<optimized out>, i=0, type=0x5599a22e9520)
    at ../../gdb/python/py-type.c:275
#12 typy_iterator_iternext (self=<gdb.TypeIterator at remote 0x7f03ff26db30>)
    at ../../gdb/python/py-type.c:1440
#13 0x00007f04278339fc in list_extend (self=self@entry=0x7f03ff22e6c0, 
    iterable=iterable@entry=<gdb.TypeIterator at remote 0x7f03ff26db30>)
    at /usr/src/debug/python3.12-3.12.1-2.fc39.x86_64/Objects/listobject.c:944
--Type <RET> for more, q to quit, c to continue without paging--c
#14 0x00007f04278470e1 in _PyList_Extend (iterable=<gdb.TypeIterator at remote 0x7f03ff26db30>, 
    self=0x7f03ff22e6c0) at /usr/src/debug/python3.12-3.12.1-2.fc39.x86_64/Objects/listobject.c:980
#15 PySequence_List (v=<gdb.TypeIterator at remote 0x7f03ff26db30>)
    at /usr/src/debug/python3.12-3.12.1-2.fc39.x86_64/Objects/abstract.c:2121
#16 0x0000559983d26f0c in typy_fields_items (self=<optimized out>, kind=iter_values)
    at ../../gdb/python/py-type.c:311
#17 0x00007f042781ab1a in method_vectorcall_NOARGS (
    func=<method_descriptor at remote 0x7f041433d210>, args=0x7f0427fba178, nargsf=<optimized out>, 
    kwnames=0x0) at /usr/src/debug/python3.12-3.12.1-2.fc39.x86_64/Objects/descrobject.c:454
#18 0x00007f042780abfc in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=9223372036854775809, 
    args=0x7f0427fba178, callable=<method_descriptor at remote 0x7f041433d210>, 
    tstate=0x7f0427c4e668 <_PyRuntime+459656>)
    at /usr/src/debug/python3.12-3.12.1-2.fc39.x86_64/Include/internal/pycore_call.h:92
#19 PyObject_Vectorcall (callable=<method_descriptor at remote 0x7f041433d210>, args=0x7f0427fba178, 
    nargsf=9223372036854775809, kwnames=0x0)
    at /usr/src/debug/python3.12-3.12.1-2.fc39.x86_64/Objects/call.c:325
#20 0x00007f042770f75a in _PyEval_EvalFrameDefault (tstate=<optimized out>, frame=0x7f0427fba108, 
    throwflag=<optimized out>) at Python/bytecodes.c:2706
#21 0x00007f0427812cdb in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=1, args=0x7fff62c72120, 
    callable=<function at remote 0x7f03ff2e05e0>, tstate=0x7f0427c4e668 <_PyRuntime+459656>)
    at /usr/src/debug/python3.12-3.12.1-2.fc39.x86_64/Include/internal/pycore_call.h:92
#22 object_vacall (tstate=<optimized out>, base=base@entry=0x0, 
    callable=callable@entry=<function at remote 0x7f03ff2e05e0>, vargs=vargs@entry=0x7fff62c72190)
    at /usr/src/debug/python3.12-3.12.1-2.fc39.x86_64/Objects/call.c:850
#23 0x00007f042788d090 in PyObject_CallFunctionObjArgs (callable=<function at remote 0x7f03ff2e05e0>)
    at /usr/src/debug/python3.12-3.12.1-2.fc39.x86_64/Objects/call.c:957
#24 0x0000559983d19ca8 in search_pp_list (list=list@entry=[<function at remote 0x7f03ff2e05e0>], 
    value=value@entry=<gdb.Value at remote 0x7f03fe507230>) at ../../gdb/python/py-prettyprint.c:82
#25 0x0000559983d1a183 in find_pretty_printer_from_objfiles (
    value=<gdb.Value at remote 0x7f03fe507230>) at ../../gdb/python/py-prettyprint.c:113
#26 find_pretty_printer (value=value@entry=<gdb.Value at remote 0x7f03fe507230>)
    at ../../gdb/python/py-prettyprint.c:173
#27 0x0000559983d1a648 in gdbpy_apply_val_pretty_printer (extlang=<optimized out>, 
    value=0x5599a0e79f80, stream=0x7fff62c72610, recurse=0, options=0x7fff62c72860, 
    language=0x5599845f45d0 <cplus_language_defn>) at ../../gdb/python/py-prettyprint.c:603
#28 0x0000559983b6b749 in apply_ext_lang_val_pretty_printer (val=val@entry=0x5599a0e79f80, 
    stream=stream@entry=0x7fff62c72610, recurse=recurse@entry=0, 
    options=options@entry=0x7fff62c72860, 
    language=language@entry=0x5599845f45d0 <cplus_language_defn>) at ../../gdb/extension.c:489
#29 0x0000559983f038e7 in common_val_print (value=value@entry=0x5599a0e79f80, 
    stream=stream@entry=0x7fff62c72610, recurse=recurse@entry=0, 
    options=options@entry=0x7fff62c72860, 
    language=language@entry=0x5599845f45d0 <cplus_language_defn>) at ../../gdb/valprint.c:1072
#30 0x0000559983d0519f in py_print_value (out=out@entry=0x559985b5df10, 
    val=val@entry=0x5599a0e79f80, opts=opts@entry=0x7fff62c72860, indent=indent@entry=0, 
    args_type=args_type@entry=CLI_SCALAR_VALUES, 
    language=language@entry=0x5599845f45d0 <cplus_language_defn>)
    at ../../gdb/python/py-framefilter.c:251
#31 0x0000559983d057cc in py_print_single_arg (out=out@entry=0x559985b5df10, 
    sym_name=sym_name@entry=0x0, fa=fa@entry=0x7fff62c72820, fv=fv@entry=0x0, 
    opts=opts@entry=0x7fff62c72860, args_type=args_type@entry=CLI_SCALAR_VALUES, print_args_field=0, 
    language=0x5599845f45d0 <cplus_language_defn>) at ../../gdb/python/py-framefilter.c:397
#32 0x0000559983d05def in enumerate_args (iter=iter@entry=<list_iterator at remote 0x7f04142bd720>, 
    out=out@entry=0x559985b5df10, args_type=args_type@entry=CLI_SCALAR_VALUES, 
    print_args_field=print_args_field@entry=0, frame=...) at ../../gdb/python/py-framefilter.c:488
#33 0x0000559983d070de in py_print_args (frame=..., args_type=CLI_SCALAR_VALUES, out=0x559985b5df10, 
    filter=<FrameDecorator(_base=<gdb.Frame at remote 0x7f03fe5067b0>) at remote 0x7f03ff2bbf20>)
    at ../../gdb/python/py-framefilter.c:721
#34 py_print_frame (
    filter=filter@entry=<FrameDecorator(_base=<gdb.Frame at remote 0x7f03fe5067b0>) at remote 0x7f03ff2bbf20>, flags=..., flags@entry=..., args_type=args_type@entry=CLI_SCALAR_VALUES, 
    out=out@entry=0x559985b5df10, indent=indent@entry=0, 
    levels_printed=levels_printed@entry=0x5599a4c76de0) at ../../gdb/python/py-framefilter.c:952
#35 0x0000559983d087d3 in gdbpy_apply_frame_filter (extlang=<optimized out>, frame=..., flags=..., 
    args_type=CLI_SCALAR_VALUES, out=0x559985b5df10, frame_low=<optimized out>, frame_high=-1)
    at ../../gdb/python/py-framefilter.c:1228
#36 0x0000559983b6bf8a in apply_ext_lang_frame_filter (frame=..., flags=..., flags@entry=..., 
    args_type=args_type@entry=CLI_SCALAR_VALUES, out=out@entry=0x559985b5df10, 
    frame_low=frame_low@entry=0, frame_high=frame_high@entry=-1) at ../../gdb/extension.c:541
#37 0x0000559983e0a167 in backtrace_command_1 (from_tty=1, count_exp=<optimized out>, bt_opts=..., 
    fp_opts=...) at ../../gdb/stack.c:2029
#38 backtrace_command (arg=<optimized out>, from_tty=1) at ../../gdb/stack.c:2168
#39 0x0000559983a63795 in cmd_func (cmd=<optimized out>, args=<optimized out>, 
    from_tty=<optimized out>) at ../../gdb/cli/cli-decode.c:2735
#40 0x0000559983e73b25 in execute_command (p=<optimized out>, p@entry=0x55998594ab10 "bt", 
    from_tty=<optimized out>) at ../../gdb/top.c:575
#41 0x0000559983b64ab2 in command_handler (command=0x55998594ab10 "bt") at ../../gdb/event-top.c:555
#42 0x0000559983b665a9 in command_line_handler (rl=...) at ../../gdb/event-top.c:791
#43 0x0000559983b65171 in gdb_rl_callback_handler (rl=0x5599a1454d20 "bt")
    at ../../gdb/event-top.c:260
#44 0x00007f0427eaf0dd in rl_callback_read_char () from /lib64/libreadline.so.8
#45 0x0000559983b652d6 in gdb_rl_callback_read_char_wrapper_noexcept () at ../../gdb/event-top.c:196
#46 0x0000559983b65488 in gdb_rl_callback_read_char_wrapper (client_data=<optimized out>)
    at ../../gdb/event-top.c:234
#47 0x0000559983eb5020 in stdin_event_handler (error=<optimized out>, client_data=0x55998594c2f0)
    at ../../gdb/ui.c:155
#48 0x00005599840e573e in gdb_wait_for_event (block=block@entry=1)
    at ../../gdbsupport/event-loop.cc:716
#49 0x00005599840e62f2 in gdb_do_one_event (mstimeout=mstimeout@entry=-1)
    at ../../gdbsupport/event-loop.cc:264
#50 0x0000559983c51b12 in start_event_loop () at ../../gdb/main.c:407
#51 captured_command_loop () at ../../gdb/main.c:471
#52 0x0000559983c54875 in captured_main (data=0x7fff62c733d0) at ../../gdb/main.c:1324
#53 gdb_main (args=args@entry=0x7fff62c73410) at ../../gdb/main.c:1343
#54 0x0000559983924bb0 in main (argc=3, argv=0x7fff62c73568) at ../../gdb/gdb.c:47

I'll attach the full trace of all threads of this crash. The gdb crash didn't happen if the qt5-*-debuginfo packages were installed.

drkonqi appeared. I got the trace of the plasmashell crash in  __cxxabiv1::__dynamic_cast at https://bugs.kde.org/show_bug.cgi?id=471248#c8.
Comment 1 Hannes Domani 2024-01-10 14:54:20 UTC
Dup.

*** This bug has been marked as a duplicate of bug 31128 ***