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 when trying to overlay block statistics #604

Open
frankplow opened this issue Dec 5, 2024 · 1 comment
Open

Crash when trying to overlay block statistics #604

frankplow opened this issue Dec 5, 2024 · 1 comment
Labels

Comments

@frankplow
Copy link
Contributor

Describe the bug
If I try to overlay a VTMBMSSTATS file on top of a YUV file, YUView crashes.

To Reproduce

  1. Load a YUV file
  2. Load a VTMBMSSTATS file
  3. Right click on the VTMBMSSTATS file in the playlist and click "Add overlay"
  4. Observe YUView crashes

Here are some error messages produced when run in a terminal:

2024-12-05 14:03:59.188617+0000 .YUView-wrapped[19722:1808755] [miscellany] CLIENT ERROR: TUINSRemoteViewController does not override -viewServiceDidTerminateWithError: and thus cannot react to catastrophic errors beyond logging them
2024-12-05 14:04:01.430560+0000 .YUView-wrapped[19722:1808863] [StateRestoration] BOOL _NSPersistentUIDeleteItemAtFileURL(NSURL *const __strong) Failed to stat item: file:///Users/frank/Library/Saved%20Application%20State/com.yourcompany.YUView.savedState/restorecount.plist
2024-12-05 14:04:06.519146+0000 .YUView-wrapped[19722:1808755] [miscellany] CLIENT ERROR: TUINSRemoteViewController does not override -viewServiceDidTerminateWithError: and thus cannot react to catastrophic errors beyond logging them
2024-12-05 14:04:06.530530+0000 .YUView-wrapped[19722:1808755] [miscellany] CLIENT ERROR: TUINSRemoteViewController does not override -viewServiceDidTerminateWithError: and thus cannot react to catastrophic errors beyond logging them
2024-12-05 14:04:06.531075+0000 .YUView-wrapped[19722:1808755] [miscellany] CLIENT ERROR: TUINSRemoteViewController does not override -viewServiceDidTerminateWithError: and thus cannot react to catastrophic errors beyond logging them
2024-12-05 14:04:07.235685+0000 .YUView-wrapped[19722:1808755] [miscellany] CLIENT ERROR: TUINSRemoteViewController does not override -viewServiceDidTerminateWithError: and thus cannot react to catastrophic errors beyond logging them
2024-12-05 14:04:07.246597+0000 .YUView-wrapped[19722:1808755] [miscellany] CLIENT ERROR: TUINSRemoteViewController does not override -viewServiceDidTerminateWithError: and thus cannot react to catastrophic errors beyond logging them
2024-12-05 14:04:07.471798+0000 .YUView-wrapped[19722:1808755] [Window] Warning: -[NSWindow makeKeyWindow] called on QNSPanel 0x117607b80 which returned NO from -[NSWindow canBecomeKeyWindow].
2024-12-05 14:04:07.471852+0000 .YUView-wrapped[19722:1808755] [Window] Warning: -[NSWindow makeKeyWindow] called on QNSPanel 0x117607b80 which returned NO from -[NSWindow canBecomeKeyWindow].
2024-12-05 14:04:10.725529+0000 .YUView-wrapped[19722:1808755] [miscellany] CLIENT ERROR: TUINSRemoteViewController does not override -viewServiceDidTerminateWithError: and thus cannot react to catastrophic errors beyond logging them
2024-12-05 14:04:10.732280+0000 .YUView-wrapped[19722:1808755] [miscellany] CLIENT ERROR: TUINSRemoteViewController does not override -viewServiceDidTerminateWithError: and thus cannot react to catastrophic errors beyond logging them
2024-12-05 14:04:10.734333+0000 .YUView-wrapped[19722:1808755] [miscellany] CLIENT ERROR: TUINSRemoteViewController does not override -viewServiceDidTerminateWithError: and thus cannot react to catastrophic errors beyond logging them
2024-12-05 14:04:11.745349+0000 .YUView-wrapped[19722:1808755] [Window] Warning: -[NSWindow makeKeyWindow] called on QNSPanel 0x117607b70 which returned NO from -[NSWindow canBecomeKeyWindow].
2024-12-05 14:04:11.745392+0000 .YUView-wrapped[19722:1808755] [Window] Warning: -[NSWindow makeKeyWindow] called on QNSPanel 0x117607b70 which returned NO from -[NSWindow canBecomeKeyWindow].
2024-12-05 14:04:16.669421+0000 .YUView-wrapped[19722:1808755] [Window] Warning: -[NSWindow makeKeyWindow] called on QNSPanel 0x103a0ec60 which returned NO from -[NSWindow canBecomeKeyWindow].
2024-12-05 14:04:16.669464+0000 .YUView-wrapped[19722:1808755] [Window] Warning: -[NSWindow makeKeyWindow] called on QNSPanel 0x103a0ec60 which returned NO from -[NSWindow canBecomeKeyWindow].

and a backtrace from lldb:

* thread #2, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x4)
    frame #0: 0x000000010010c194 .YUView-wrapped`stats::StatisticUIHandler::deleteSecondaryStatisticsHandlerControls() + 20
.YUView-wrapped`stats::StatisticUIHandler::deleteSecondaryStatisticsHandlerControls:
->  0x10010c194 <+20>: ldr    wzr, [x8, #0x4]
    0x10010c198 <+24>: bl     0x1004936c8    ; symbol stub for: QObject::deleteLater()
    0x10010c19c <+28>: movi.2d v0, #0000000000000000
    0x10010c1a0 <+32>: stur   q0, [x19, #0xb9]
Target 0: (.YUView-wrapped) stopped.
(lldb) bt
* thread #2, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x4)
  * frame #0: 0x000000010010c194 .YUView-wrapped`stats::StatisticUIHandler::deleteSecondaryStatisticsHandlerControls() + 20
    frame #1: 0x00000001000a476c .YUView-wrapped`playlistItemContainer::updateChildList() + 404
    frame #2: 0x00000001000b98b8 .YUView-wrapped`playlistItemOverlay::drawItem(QPainter*, int, double, bool) + 92
    frame #3: 0x00000001003562cc .YUView-wrapped`splitViewWidget::paintEvent(QPaintEvent*) + 1960
    frame #4: 0x00000001011dc058 libQt5Widgets.5.15.14.dylib`QWidget::event(QEvent*) + 128
    frame #5: 0x00000001011a0f5c libQt5Widgets.5.15.14.dylib`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 292
    frame #6: 0x00000001011a2564 libQt5Widgets.5.15.14.dylib`QApplication::notify(QObject*, QEvent*) + 548
    frame #7: 0x00000001024ed8d0 libQt5Core.5.15.14.dylib`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 212
    frame #8: 0x00000001011cd528 libQt5Widgets.5.15.14.dylib`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 2464
    frame #9: 0x00000001011aca94 libQt5Widgets.5.15.14.dylib`QWidgetRepaintManager::paintAndFlush() + 3572
    frame #10: 0x00000001011acd58 libQt5Widgets.5.15.14.dylib`QWidgetRepaintManager::sync() + 284
    frame #11: 0x00000001011dc55c libQt5Widgets.5.15.14.dylib`QWidget::event(QEvent*) + 1412
    frame #12: 0x00000001012de78c libQt5Widgets.5.15.14.dylib`QMainWindow::event(QEvent*) + 248
    frame #13: 0x00000001011a0f5c libQt5Widgets.5.15.14.dylib`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 292
    frame #14: 0x00000001011a2564 libQt5Widgets.5.15.14.dylib`QApplication::notify(QObject*, QEvent*) + 548
    frame #15: 0x00000001024ed8d0 libQt5Core.5.15.14.dylib`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 212
    frame #16: 0x00000001024eeca4 libQt5Core.5.15.14.dylib`QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 508
    frame #17: 0x0000000102e4cdd4 libqcocoa.dylib`QCocoaEventDispatcherPrivate::processPostedEvents() + 180
    frame #18: 0x0000000102e4d6a4 libqcocoa.dylib`QCocoaEventDispatcherPrivate::postedEventsSourceCallback(void*) + 48
    frame #19: 0x00000001881454d8 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
    frame #20: 0x000000018814546c CoreFoundation`__CFRunLoopDoSource0 + 176
    frame #21: 0x000000018814523c CoreFoundation`__CFRunLoopDoSources0 + 340
    frame #22: 0x0000000188143dc8 CoreFoundation`__CFRunLoopRun + 828
    frame #23: 0x0000000188143434 CoreFoundation`CFRunLoopRunSpecific + 608
    frame #24: 0x00000001928ed19c HIToolbox`RunCurrentEventLoopInMode + 292
    frame #25: 0x00000001928ece2c HIToolbox`ReceiveNextEventCommon + 220
    frame #26: 0x00000001928ecd30 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 76
    frame #27: 0x000000018b9a2cc8 AppKit`_DPSNextEvent + 660
    frame #28: 0x000000018c1994d0 AppKit`-[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 700
    frame #29: 0x000000018b995ffc AppKit`-[NSApplication run] + 476
    frame #30: 0x0000000102e4c2cc libqcocoa.dylib`QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 1984
    frame #31: 0x00000001024e9aa4 libQt5Core.5.15.14.dylib`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 584
    frame #32: 0x00000001024ee050 libQt5Core.5.15.14.dylib`QCoreApplication::exec() + 132
    frame #33: 0x0000000100152a8c .YUView-wrapped`YUViewApplication::YUViewApplication(int, char**) + 948
    frame #34: 0x00000001000033cc .YUView-wrapped`main + 188
    frame #35: 0x0000000187cdb154 dyld`start + 2476

Note the following do not seem to matter:

  • Whether statistics are enabled or not
  • Whether the VTMBMSSTATS file and YUV file are the same size or not
  • Whether the video is configured to a non-zero size

Expected behavior
YUView should not crash and the VTMBMSSTATS information should be overlayed over the image.

Version (please complete the following information):

  • OS: MacOS 14
  • YUView versions 2.10, 2.11, 2.12, 2.13 and 2.14 all appear to have this issue in my environment
  • Qt 5.15
@frankplow frankplow added the bug label Dec 5, 2024
@ChristianFeldmann
Copy link
Member

Hi! Thx for the report. Could you provide the stats file? Then I will try to reproduce it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants