Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash in disassembler #642

Closed
lievenhey opened this issue May 16, 2024 · 0 comments · Fixed by #647
Closed

Crash in disassembler #642

lievenhey opened this issue May 16, 2024 · 0 comments · Fixed by #647
Labels

Comments

@lievenhey
Copy link
Contributor

Maybe fixed by #636

....
[Detaching after fork from child process 10763]
[Detaching after fork from child process 10764]
[Detaching after fork from child process 10765]
ASSERT failure in QVector<T>::operator[]: "index out of range", file /usr/include/qt/QtCore/qvector.h, line 453

Thread 1 "hotspot" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
Downloading source file /usr/src/debug/glibc/glibc/nptl/pthread_kill.c
warning: 44     pthread_kill.c: Datei oder Verzeichnis nicht gefunden                                                                                                                                                                       
(gdb) where
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007ffff4aab393 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007ffff4a5a6c8 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007ffff4a424b8 in __GI_abort () at abort.c:79
#4  0x00007ffff50980c2 in qt_message_fatal (message=<synthetic pointer>..., context=<optimized out>) at global/qlogging.cpp:1919
#5  QMessageLogger::fatal (this=this@entry=0x7fffffffb808, msg=msg@entry=0x7ffff5378200 "ASSERT failure in %s: \"%s\", file %s, line %d") at global/qlogging.cpp:898
#6  0x00007ffff5098181 in qt_assert_x (where=<optimized out>, what=<optimized out>, file=<optimized out>, line=<optimized out>) at global/qglobal.cpp:3400
#7  0x000055555683b242 in QVector<long long>::operator[] (this=0x5120000f7320, i=-1) at /usr/include/qt/QtCore/qvector.h:453
#8  0x0000555556836e06 in Data::Costs::totalCost (this=0x5120000f7310, type=-1) at /home/lieven/KDAB/hotspot/src/models/data.h:279
#9  0x0000555556bf1029 in DisassemblyModel::data (this=0x5120000f7240, index=..., role=3) at /home/lieven/KDAB/hotspot/src/models/disassemblymodel.cpp:138
#10 0x00007ffff61db92b in QModelIndex::data (arole=3, this=<optimized out>) at ../../include/QtCore/../../src/corelib/itemmodels/qabstractitemmodel.h:460
@lievenhey lievenhey added the bug label May 16, 2024
lievenhey added a commit that referenced this issue May 24, 2024
When hovering the disassembler tries to create an tooltip. If the user
hovers on the disassembly column or an earlier one, the model calculates
a negative cost type which will cause an out of bounds access error in
the cost array, even if the cost is not shown.
This patch changes the order of operations and adds an check to make
sure no out of bound access happens.
fixes: #642
@lievenhey lievenhey linked a pull request May 24, 2024 that will close this issue
milianw pushed a commit that referenced this issue May 27, 2024
When hovering the disassembler tries to create an tooltip. If the user
hovers on the disassembly column or an earlier one, the model calculates
a negative cost type which will cause an out of bounds access error in
the cost array, even if the cost is not shown.
This patch changes the order of operations and adds an check to make
sure no out of bound access happens.
fixes: #642
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant