Bug 483242 - Gwenview crashes on opening video
Summary: Gwenview crashes on opening video
Status: RESOLVED FIXED
Alias: None
Product: gwenview
Classification: Applications
Component: general (show other bugs)
Version: 24.02.0
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Gwenview Bugs
URL:
Keywords: qt6
Depends on:
Blocks:
 
Reported: 2024-03-11 14:18 UTC by Dm
Modified: 2024-03-23 11:01 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 24.02.1


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dm 2024-03-11 14:18:52 UTC
SUMMARY
Gwenview crashes on opening video when switching from image to video and when opening with gwenview after update to Plasma 6

STEPS TO REPRODUCE
1. Open a folder with images and video
2. Switch to next image until video file
3. Crash

1. Right click on a video in Dolphin
2. Open with Gwenview
3. Crash

1. In terminal: gwenview /path/to/video.mp4
2. Crash

OBSERVED RESULT


EXPECTED RESULT
Video plays

SOFTWARE/OS VERSIONS
Operating System: KDE neon 6.0
KDE Plasma Version: 6.0.0
KDE Frameworks Version: 6.0.0
Qt Version: 6.6.2
Kernel Version: 6.5.0-25-generic (64-bit)
Graphics Platform: Wayland
Processors: 12 × Intel® Core™ i7-8750H CPU @ 2.20GHz
Memory: 15.3 ГиБ of RAM
Graphics Processor: Mesa Intel® UHD Graphics 630
Manufacturer: Dell Inc.
Product Name: XPS 15 9570

ADDITIONAL INFORMATION
Terminal output
kf.i18n.kuit: "Unknown subcue ':whatsthis,' in UI marker in context {@info:whatsthis, %1 the action's text}."
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/jxl"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/qoi"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-aptus-mos"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-arq"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-bay"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-bmq"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-canon-cr3"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-cap"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-cine"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-cs1"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-dc2"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-drf"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-dxo"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-epson-eip"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-epson-erf"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-fff"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-hasselblad-3fr"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-iiq"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-kodak-dcs"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-kodak-kc2"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-mamiya-mef"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-mfw"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-minolta-mdc"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-mng"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-nikon-nrw"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-obm"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-ori"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-ptx"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-pxn"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-qtk"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-r3d"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-raw"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-rdc"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-rwl"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-rwz"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-samsung-srw"
org.kde.kdegraphics.gwenview.lib: Unresolved mime type  "image/x-sti"
org.kde.kdegraphics.gwenview.lib: Unresolved raw mime type  "image/x-nikon-nrw"
org.kde.kdegraphics.gwenview.lib: Unresolved raw mime type  "image/x-samsung-srw"
ASSERT: "!(max < min)" in file /usr/include/x86_64-linux-gnu/qt6/QtCore/qminmax.h, line 46
Comment 1 Nicolas Fella 2024-03-11 19:16:10 UTC
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=127246359964928) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=127246359964928) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=127246359964928, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x000073badf442476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x000073badf4287f3 in __GI_abort () at ./stdlib/abort.c:79
#5  0x000073bae00db017 in qAbort () at ./src/corelib/global/qglobal.cpp:161
#6  0x000073bae00d64e5 in qt_message_fatal<QString&> (message=..., context=...) at ./src/corelib/global/qlogging.cpp:2003
#7  qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, context=..., msg=<optimized out>, ap=ap@entry=0x7ffff695f000) at ./src/corelib/global/qlogging.cpp:378
#8  0x000073bae00dba43 in QMessageLogger::fatal (this=<optimized out>, msg=<optimized out>) at ./src/corelib/global/qlogging.cpp:901
#9  0x000073bae00a9c94 in qt_assert (assertion=assertion@entry=0x73bae258cb49 "!(max < min)", file=file@entry=0x73bae258c6c0 "/usr/include/x86_64-linux-gnu/qt6/QtCore/qminmax.h", line=line@entry=46) at ./src/corelib/global/qassert.cpp:68
#10 0x000073bae2498b72 in qBound<int>(int const&, int const&, int const&) [clone .part.0] [clone .lto_priv.0] (max=<optimized out>, val=<optimized out>, min=<optimized out>) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qminmax.h:46
#11 0x000073bae249d3c1 in qBound<int> (max=<optimized out>, val=<synthetic pointer>: <optimized out>, min=<optimized out>) at ./lib/hud/hudslider.cpp:309
#12 Gwenview::HudSlider::setValue (this=<optimized out>, value=<optimized out>) at ./lib/hud/hudslider.cpp:287
#13 0x000073bae257c4ef in Gwenview::HudSlider::setRange(int, int) [clone .constprop.0] (this=this@entry=0x6134ff58b7e0, max=<optimized out>, min=<optimized out>) at ./lib/hud/hudslider.cpp:270
#14 0x000073bae24df609 in Gwenview::VideoViewAdapter::updatePlayUi (this=0x6134ff47eb60) at ./lib/documentview/videoviewadapter.cpp:324
#15 0x000073bae24e1c2a in Gwenview::VideoViewAdapter::VideoViewAdapter (this=<optimized out>, this=<optimized out>) at ./lib/documentview/videoviewadapter.cpp:251
#16 0x000073bae24d5025 in Gwenview::DocumentView::createAdapterForDocument (this=0x6134ff4129f0) at ./lib/documentview/documentview.cpp:538
#17 0x000073bae24d524f in Gwenview::DocumentView::finishOpenUrl (this=0x6134ff4129f0) at ./lib/documentview/documentview.cpp:598
#18 0x000073badffc9572 in QObject::event (this=0x6134ff4129f0, e=0x6134ff42ac80) at ./src/corelib/kernel/qobject.cpp:1437
#19 0x000073bae11f40eb in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x6134ff4129f0, e=0x6134ff42ac80) at ./src/widgets/kernel/qapplication.cpp:3296
#20 0x000073bae0063e18 in QCoreApplication::notifyInternal2 (receiver=0x6134ff4129f0, event=event@entry=0x6134ff42ac80) at ./src/corelib/kernel/qcoreapplication.cpp:1121
#21 0x000073bae0063e5d in QCoreApplication::sendEvent (receiver=<optimized out>, event=event@entry=0x6134ff42ac80) at ./src/corelib/kernel/qcoreapplication.cpp:1539
#22 0x000073bae0064530 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x6134fec7d360) at ./src/corelib/kernel/qcoreapplication.cpp:1901
#23 0x000073badfe632f7 in postEventSourceDispatch (s=0x6134fecaf290) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:243
#24 0x000073bade0c9d3b in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x000073bade11f258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x000073bade0c73e3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x000073badfe5e1f0 in QEventDispatcherGlib::processEvents (this=0x6134fec40a80, flags=...) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:393
#28 0x000073bae006604b in QEventLoop::exec (this=this@entry=0x7ffff695f7e0, flags=..., flags@entry=...) at ./src/corelib/global/qflags.h:34
#29 0x000073bae0067c7c in QCoreApplication::exec () at ./src/corelib/global/qflags.h:74
#30 0x000073bae04e9a20 in QGuiApplication::exec () at ./src/gui/kernel/qguiapplication.cpp:1925
#31 0x000073bae11f1689 in QApplication::exec () at ./src/widgets/kernel/qapplication.cpp:2574
#32 0x00006134fdb6a4af in main (argc=<optimized out>, argv=<optimized out>) at ./app/main.cpp:205
Comment 2 Bug Janitor Service 2024-03-11 20:10:30 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/gwenview/-/merge_requests/260
Comment 3 Nicolas Fella 2024-03-18 12:32:28 UTC
Git commit 3c867476843659035ca8585d372434163f846685 by Nicolas Fella.
Committed on 18/03/2024 at 12:31.
Pushed by nicolasfella into branch 'master'.

Only set slider range when there is a valid media object

When e.g. the player is stopped we get a totalTime of -1, which causes an assert down the line

M  +4    -1    lib/documentview/videoviewadapter.cpp

https://invent.kde.org/graphics/gwenview/-/commit/3c867476843659035ca8585d372434163f846685
Comment 4 Nicolas Fella 2024-03-18 12:32:40 UTC
Git commit 104a9a47975a4b15410be64d75c97a173c7578d4 by Nicolas Fella.
Committed on 18/03/2024 at 12:32.
Pushed by nicolasfella into branch 'release/24.02'.

Only set slider range when there is a valid media object

When e.g. the player is stopped we get a totalTime of -1, which causes an assert down the line
(cherry picked from commit 3c867476843659035ca8585d372434163f846685)

M  +4    -1    lib/documentview/videoviewadapter.cpp

https://invent.kde.org/graphics/gwenview/-/commit/104a9a47975a4b15410be64d75c97a173c7578d4