Skip to content

Crash when opening Workflow view with Stack widget together #7272

@mostobriv

Description

@mostobriv

Version and Platform (required):

  • Binary Ninja Version: 5.2.8109-dev Personal (c239cc75)
  • Edition: Non-Commercial
  • OS: MacOS
  • OS Version: 15.5
  • CPU Architecture: M1

Bug Description:
When opening Workflow view with opened Stack widget, BN go brr crashing

Steps To Reproduce:
Please provide all steps required to reproduce the behavior:

  1. Open any binary
  2. Click on any function with variables
  3. Open Stack widget
  4. Open Workflow view

Expected Behavior:
Nothing crashed

Screenshots/Video Recording:

Image

Actually, as you may see, when no function is selected things works fine, but once i've selected a function, crash is happened.

Additional information:

Here is stacktrace of crashing thread:

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   libbinaryninjaui.1.dylib      	       0x103be8448 0x103678000 + 5702728
1   libbinaryninjaui.1.dylib      	       0x1039fb2c8 StackView::calculateBaseOffset() const + 392
2   libbinaryninjaui.1.dylib      	       0x103a0919c StackView::rebuildLines() + 1900
3   libbinaryninjaui.1.dylib      	       0x103a085ac StackView::refresh() + 288
4   libbinaryninjaui.1.dylib      	       0x103b9e05c ViewFrame::updateStackView() + 192
5   binaryninja                   	       0x100b8a1b4 0x100aa8000 + 926132
6   binaryninja                   	       0x100ba4edc 0x100aa8000 + 1035996
7   QtCore                        	       0x1030a2814 void doActivate<false>(QObject*, int, void**) + 1392
8   libbinaryninjaui.1.dylib      	       0x103689184 SplitPaneWidget::currentChanged(Pane*) + 60
9   libbinaryninjaui.1.dylib      	       0x10393672c SplitPaneWidget::containerCurrentChanged(Pane*) + 20
10  QtCore                        	       0x1030a2814 void doActivate<false>(QObject*, int, void**) + 1392
11  libbinaryninjaui.1.dylib      	       0x103688b30 SplitPaneContainer::currentChanged(Pane*) + 60
12  QtCore                        	       0x1030a2814 void doActivate<false>(QObject*, int, void**) + 1392
13  QtWidgets                     	       0x10409d43c QApplicationPrivate::setFocusWidget(QWidget*, Qt::FocusReason) + 528
14  QtWidgets                     	       0x1040e30d0 QWidget::setFocus(Qt::FocusReason) + 608
15  libbinaryninjaui.1.dylib      	       0x103b993e4 ViewFrame::setView(QWidget*) + 224
16  libbinaryninjaui.1.dylib      	       0x103b990e0 ViewFrame::setViewType(QString const&) + 72
17  libbinaryninjaui.1.dylib      	       0x103b98af0 ViewFrame::navigate(QString const&, std::__1::function<bool (View*)> const&, bool, bool, bool) + 1348
18  libbinaryninjaui.1.dylib      	       0x103b97e70 ViewFrame::setViewLocation(ViewLocation const&) + 280
19  libbinaryninjaui.1.dylib      	       0x103bae9c8 0x103678000 + 5466568
20  libbinaryninjaui.1.dylib      	       0x1036b9658 UIActionHandler::executeAction(QString const&, UIActionContext const&) + 320
21  libbinaryninjaui.1.dylib      	       0x1036f5428 0x103678000 + 513064
22  QtCore                        	       0x1030a2814 void doActivate<false>(QObject*, int, void**) + 1392
23  QtGui                         	       0x104b0a9e8 QAction::activate(QAction::ActionEvent) + 368
24  QtWidgets                     	       0x10422ed58 QMenuPrivate::activateCausedStack(QList<QPointer<QWidget>> const&, QAction*, QAction::ActionEvent, bool) + 116
25  QtWidgets                     	       0x10422c638 QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) + 172
26  QtWidgets                     	       0x1042339e0 QMenu::mouseReleaseEvent(QMouseEvent*) + 532
27  QtWidgets                     	       0x1040e9194 QWidget::event(QEvent*) + 128
28  QtWidgets                     	       0x104234078 QMenu::event(QEvent*) + 1176
29  QtWidgets                     	       0x10409f440 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 336
30  QtWidgets                     	       0x1040a1580 QApplication::notify(QObject*, QEvent*) + 4980
31  QtCore                        	       0x103053ec4 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 200
32  QtWidgets                     	       0x10409fa98 QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) + 892
33  QtWidgets                     	       0x1040fe260 QWidgetWindow::handleMouseEvent(QMouseEvent*) + 2240
34  QtWidgets                     	       0x1040fd150 QWidgetWindow::event(QEvent*) + 116
35  QtWidgets                     	       0x10409f440 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 336
36  QtWidgets                     	       0x1040a0408 QApplication::notify(QObject*, QEvent*) + 508
37  QtCore                        	       0x103053ec4 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 200
38  QtGui                         	       0x1047cef10 QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 1880
39  QtGui                         	       0x10482c460 QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 408
40  libqcocoa.dylib               	       0x1024f10c0 QCocoaEventDispatcherPrivate::postedEventsSourceCallback(void*) + 476
41  CoreFoundation                	       0x18ad29cd4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
42  CoreFoundation                	       0x18ad29c68 __CFRunLoopDoSource0 + 172
43  CoreFoundation                	       0x18ad299d4 __CFRunLoopDoSources0 + 232
44  CoreFoundation                	       0x18ad28628 __CFRunLoopRun + 840
45  CoreFoundation                	       0x18ad27c58 CFRunLoopRunSpecific + 572
46  HIToolbox                     	       0x1967bc27c RunCurrentEventLoopInMode + 324
47  HIToolbox                     	       0x1967bf31c ReceiveNextEventCommon + 216
48  HIToolbox                     	       0x19694a484 _BlockUntilNextEventMatchingListInModeWithFilter + 76
49  AppKit                        	       0x18ec4fab4 _DPSNextEvent + 684
50  AppKit                        	       0x18f5ee5b0 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 688
51  AppKit                        	       0x18ec42c64 -[NSApplication run] + 480
52  libqcocoa.dylib               	       0x1024ee998 QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 2160
53  QtCore                        	       0x10305d984 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 596
54  QtCore                        	       0x1030546ec QCoreApplication::exec() + 216
55  binaryninja                   	       0x100b6b348 0x100aa8000 + 799560
56  libbinaryninjaui.1.dylib      	       0x103b5d1ac main_bn_5_2_8109_Personal_c239cc75_ + 12
57  dyld                          	       0x18a89eb98 start + 6076

Metadata

Metadata

Assignees

Labels

Component: CoreIssue needs changes to the coreEffort: LowIssues require < 1 week of workImpact: MediumIssue is impactful with a bad, or no, workaround

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions