Bug 481318 - subtitlecomposer crashes
Summary: subtitlecomposer crashes
Status: RESOLVED FIXED
Alias: None
Product: subtitlecomposer
Classification: Applications
Component: general (show other bugs)
Version: 0.8.0
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: Mladen Milinkovic, Max
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2024-02-14 11:43 UTC by Joe Breuer
Modified: 2024-02-15 13:33 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joe Breuer 2024-02-14 11:43:20 UTC
Application: subtitlecomposer (0.8.0)

Qt Version: 5.15.12
Frameworks Version: 5.113.0
Operating System: Linux 6.6.13-gentoo x86_64
Windowing System: X11
Distribution: "Gentoo Linux"
DrKonqi: 5.27.10 [KCrashBackend]

-- Information about the crash:
subtitlecomposer crashes when I seek to/past a certain time in my video file.

Since the backtrace mentions audio, it does look to me like the audio waveform displayed does not exactly correspond to the audio I'm hearing at the playback mark.

This is related to bug #481315 (which might or might not be causally related), that I came across while setting up a sensible debug environment for this issue.

The crash can be reproduced every time.

-- Backtrace:
Application: Subtitle Composer (subtitlecomposer), signal: Segmentation fault

[KCrash Handler]
#4  0x000055b648986095 in SubtitleComposer::WaveRenderer::paintWaveform(QPainter&, unsigned int, unsigned int) (this=this@entry=0x55b6495ede50, painter=..., widgetWidth=widgetWidth@entry=279, widgetHeight=widgetHeight@entry=828) at /var/tmp/portage/media-video/subtitlecomposer-0.8.0/work/subtitlecomposer-0.8.0/src/gui/waveform/waverenderer.cpp:148
#5  0x000055b648986dc2 in SubtitleComposer::WaveRenderer::paintGraphics(QPainter&) (this=this@entry=0x55b6495ede50, painter=...) at /var/tmp/portage/media-video/subtitlecomposer-0.8.0/work/subtitlecomposer-0.8.0/src/gui/waveform/waverenderer.cpp:176
#6  0x000055b64898712b in SubtitleComposer::WaveRenderer::event(QEvent*) (this=0x55b6495ede50, evt=0x7ffd74eba400) at /var/tmp/portage/media-video/subtitlecomposer-0.8.0/work/subtitlecomposer-0.8.0/src/gui/waveform/waverenderer.cpp:88
#7  0x00007fe000762e8e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55b6495ede50, e=0x7ffd74eba400) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qapplication.cpp:3640
#8  0x00007fdfffa88258 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55b6495ede50, event=0x7ffd74eba400) at /var/tmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/corelib/kernel/qcoreapplication.cpp:1064
#9  0x00007fdfffa8843e in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at /var/tmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/corelib/kernel/qcoreapplication.cpp:1474
#10 0x00007fe00079cf95 in QWidgetPrivate::sendPaintEvent(QRegion const&) (this=this@entry=0x55b6494d0fb0, toBePainted=...) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidget.cpp:5479
#11 0x00007fe00079d8db in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x55b6494d0fb0, pdev=0x55b64995fd30, rgn=..., offset=..., flags=..., sharedPainter=sharedPainter@entry=0x0, repaintManager=<optimized out>) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidget.cpp:5429
#12 0x00007fe000773f90 in QWidgetRepaintManager::paintAndFlush() (this=0x55b649bfb810) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidgetrepaintmanager.cpp:1016
#13 0x00007fe0007a5516 in QWidget::event(QEvent*) (this=this@entry=0x55b6495b7e70, event=event@entry=0x7fdf6c218880) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidget.cpp:8990
#14 0x00007fe0008bae20 in QMainWindow::event(QEvent*) (this=this@entry=0x55b6495b7e70, event=event@entry=0x7fdf6c218880) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12/work/qtbase-everywhere-src-5.15.12/src/widgets/widgets/qmainwindow.cpp:1341
#15 0x00007fe0011f23ce in KMainWindow::event(QEvent*) (this=this@entry=0x55b6495b7e70, ev=ev@entry=0x7fdf6c218880) at /var/tmp/portage/kde-frameworks/kxmlgui-5.113.0/work/kxmlgui-5.113.0/src/kmainwindow.cpp:961
#16 0x00007fe0012349f7 in KXmlGuiWindow::event(QEvent*) (this=0x55b6495b7e70, ev=0x7fdf6c218880) at /var/tmp/portage/kde-frameworks/kxmlgui-5.113.0/work/kxmlgui-5.113.0/src/kxmlguiwindow.cpp:220
#17 0x00007fe000762e8e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55b6495b7e70, e=0x7fdf6c218880) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qapplication.cpp:3640
#18 0x00007fdfffa88258 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55b6495b7e70, event=0x7fdf6c218880) at /var/tmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/corelib/kernel/qcoreapplication.cpp:1064
#19 0x00007fdfffa8842e in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at /var/tmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/corelib/kernel/qcoreapplication.cpp:1462
#20 0x00007fdfffa8b603 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x55b64938baa0) at /var/tmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/corelib/kernel/qcoreapplication.cpp:1821
#21 0x00007fdfffa8b8a8 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=<optimized out>, event_type=<optimized out>) at /var/tmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/corelib/kernel/qcoreapplication.cpp:1680
#22 0x00007fdfffad81e3 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x55b64945c050) at /var/tmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/corelib/kernel/qeventdispatcher_glib.cpp:277
#23 0x00007fdffba83e94 in  () at /usr/lib64/libglib-2.0.so.0
#24 0x00007fdffba86f27 in  () at /usr/lib64/libglib-2.0.so.0
#25 0x00007fdffba8751c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#26 0x00007fdfffad7ce6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55b649462c60, flags=...) at /var/tmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#27 0x00007fdfffa86d2b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffd74ebacc0, flags=..., flags@entry=...) at /var/tmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/include/QtCore/../../src/corelib/global/qflags.h:69
#28 0x00007fdfffa8ecc0 in QCoreApplication::exec() () at /var/tmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/include/QtCore/../../src/corelib/global/qflags.h:121
#29 0x000055b6488d86d6 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/media-video/subtitlecomposer-0.8.0/work/subtitlecomposer-0.8.0/src/main.cpp:187
[Inferior 1 (process 1989286) detached]

Reported using DrKonqi
Comment 1 Mladen Milinkovic, Max 2024-02-14 12:20:31 UTC
Thanks for the report.
This is probably fixed with commit 0f99f801e3a4bf779167e15e151b14e8ca962f87.
Can you try building/testing current master?
Comment 2 Joe Breuer 2024-02-14 21:07:04 UTC
(In reply to Mladen Milinkovic, Max from comment #1)
> Thanks for the report.
> This is probably fixed with commit 0f99f801e3a4bf779167e15e151b14e8ca962f87.
> Can you try building/testing current master?

Thank you, that's a great idea!

Unfortunately, the master branch doesn't readily build on gentoo. The ebuild mentions some patches having to do with turning off unavailable tests - I'll have a deeper look tomorrow / "soon".
Comment 3 Joe Breuer 2024-02-15 08:31:41 UTC
On a fresh day, with sufficient coffee, I managed to pull in that "tests-optional" patchset.

And I'm happy to report that the crash is gone; I can play and seek to and past the point that always was a problem in 0.8.0 without any issues now.

How does KDE handle bug reports? Do you have/use a specific state for "it's fixed in git, but no release yet", or would this be just RESOLVED FIXED?
Comment 4 Mladen Milinkovic, Max 2024-02-15 13:33:05 UTC
(In reply to Joe Breuer from comment #3)
> On a fresh day, with sufficient coffee, I managed to pull in that
> "tests-optional" patchset.
> 
> And I'm happy to report that the crash is gone; I can play and seek to and
> past the point that always was a problem in 0.8.0 without any issues now.

Great! Thank you for reporting it.

> How does KDE handle bug reports? Do you have/use a specific state for "it's
> fixed in git, but no release yet", or would this be just RESOLVED FIXED?

Just flagged it as RESOLVED/FIXED... No need to worry about release here.