Bug 439219

Summary: exr thumbnailer crashes on empty file
Product: [Frameworks and Libraries] kio-extras Reporter: rdp65536
Component: Thumbnails and previewsAssignee: Plasma Bugs List <plasma-bugs>
Status: REPORTED ---    
Severity: crash CC: jodr666, kfm-devel, mircomir, sitter, someuniquename
Priority: NOR    
Version: 21.04.2   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: example file
kcrash report

Description rdp65536 2021-06-27 12:29:33 UTC
Created attachment 139687 [details]
example file

SUMMARY


STEPS TO REPRODUCE
1. extract attachment "example.tar.gz"
2. use dolphin to open the file "example"
3. kdeinit5 crashes with signal aborted (6)

OBSERVED RESULT
dolphin act normally but kdeinit5 crashes

EXPECTED RESULT
kdeinit5 should not crashed

SOFTWARE/OS VERSIONS
Operating System: KDE neon 5.22
KDE Plasma Version: 5.22.2
KDE Frameworks Version: 5.83.0
Qt Version: 5.15.3
Kernel Version: 5.4.0-77-generic (64-bit)
Graphics Platform: X11

ADDITIONAL INFORMATION
Comment 1 rdp65536 2021-06-27 12:30:09 UTC
Created attachment 139688 [details]
kcrash report

add kcrash report
Comment 2 rdp65536 2021-06-27 12:34:14 UTC
demo video
https://www.youtube.com/watch?v=MRHIQ8Scvt8
Comment 3 Tony 2021-06-28 03:15:39 UTC
Can reproduce this one on opensuse tumbleweed.

From journalctl -ex :

Jun 27 23:07:27 joder-pc kdeinit5[8368]: Could not open input file:  "/home/joder/Templates/example/test.axv"
Jun 27 23:07:27 joder-pc kdeinit5[8368]: Could not open input file:  "/home/joder/Templates/example/test.avf"
Jun 27 23:07:27 joder-pc ksmserver[8368]: terminate called after throwing an instance of 'Iex_2_5::InputExc'
Jun 27 23:07:27 joder-pc ksmserver[8368]:   what():  Cannot read image file "/home/joder/Templates/example/test.exr". Early end of file: read 0 out of 4 requested bytes.
Jun 27 23:07:27 joder-pc ksmserver[8368]: KCrash: Application 'kdeinit5' crashing...
Jun 27 23:07:27 joder-pc ksmserver[8368]: KCrash: Attempting to start /usr/lib64/libexec/drkonqi


[KCrash Handler]
#4  0x00007f8286a21322 in raise () from /lib64/libc.so.6
#5  0x00007f8286a0a864 in abort () from /lib64/libc.so.6
#6  0x00007f82867d69b6 in ?? () from /lib64/libstdc++.so.6
#7  0x00007f82867e219c in ?? () from /lib64/libstdc++.so.6
#8  0x00007f82867e2207 in std::terminate() () from /lib64/libstdc++.so.6
#9  0x00007f82867e24fd in __cxa_rethrow () from /lib64/libstdc++.so.6
#10 0x00007f82327bb63e in Imf_2_5::InputFile::InputFile (this=<optimized out>, fileName=<optimized out>, numThreads=<optimized out>, this=<optimized out>, fileName=<optimized out>, numThreads=<optimized out>) at /usr/src/debug/openexr-2.5.6-1.1.x86_64/OpenEXR/IlmImf/ImfInputFile.cpp:497
#11 0x00007f8223ec6616 in EXRCreator::create (this=<optimized out>, path=..., img=...) at /usr/src/debug/kio-extras5-21.07.70git.20210622T124821~932c70eb-ku.29.1.x86_64/thumbnail/exrcreator.cpp:32
#12 0x00007f828316ed60 in ThumbnailProtocol::createThumbnail (this=0x7ffcf7198da0, thumbnail=..., height=128, width=128, filePath=..., thumbCreator=0x5654540d1c30) at /usr/src/debug/kio-extras5-21.07.70git.20210622T124821~932c70eb-ku.29.1.x86_64/thumbnail/thumbnail.cpp:787
#13 ThumbnailProtocol::get (this=0x7ffcf7198da0, url=...) at /usr/src/debug/kio-extras5-21.07.70git.20210622T124821~932c70eb-ku.29.1.x86_64/thumbnail/thumbnail.cpp:249
#14 0x00007f8282e207be in KIO::SlaveBase::dispatch (this=0x7ffcf7198da0, command=67, data=...) at /usr/src/debug/kio-5.84.0git.20210626T012022~d6cf0d7fe-ku.13.2.x86_64/src/core/slavebase.cpp:1216
#15 0x00007f8282e18196 in KIO::SlaveBase::dispatchLoop (this=0x7ffcf7198da0) at /usr/src/debug/kio-5.84.0git.20210626T012022~d6cf0d7fe-ku.13.2.x86_64/src/core/slavebase.cpp:335
#16 0x00007f828316ba46 in kdemain (argc=<optimized out>, argv=0x565453c10fa0) at /usr/src/debug/kio-extras5-21.07.70git.20210622T124821~932c70eb-ku.29.1.x86_64/thumbnail/thumbnail.cpp:120
#17 0x0000565452693ae8 in launch (argc=argc@entry=4, _name=_name@entry=0x565453c10b08 "/usr/lib64/qt5/plugins/kf5/kio/thumbnail.so", args=0x565453c10ba5 "", args@entry=0x565453c10b34 "thumbnail", cwd=cwd@entry=0x0, envc=envc@entry=0, envs=<optimized out>, envs@entry=0x565453c10bad "", reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x565452696175 "0") at /usr/src/debug/kinit-5.84.0git.20210619T155826~9d3629e-ku.4.3.x86_64/src/kdeinit/kinit.cpp:692
#18 0x000056545269528b in handle_launcher_request (sock=7, who=<optimized out>) at /usr/src/debug/kinit-5.84.0git.20210619T155826~9d3629e-ku.4.3.x86_64/src/kdeinit/kinit.cpp:1130
#19 0x00005654526958c0 in handle_requests (waitForPid=waitForPid@entry=0) at /usr/src/debug/kinit-5.84.0git.20210619T155826~9d3629e-ku.4.3.x86_64/src/kdeinit/kinit.cpp:1323
#20 0x000056545269061a in main (argc=2, argv=<optimized out>) at /usr/src/debug/kinit-5.84.0git.20210619T155826~9d3629e-ku.4.3.x86_64/src/kdeinit/kinit.cpp:1761
[Inferior 1 (process 4395) detached]
Comment 4 Tony 2021-06-28 03:28:32 UTC
The file triggering the crash for me is : test.exr
Comment 5 rdp65536 2021-06-28 09:17:38 UTC
Thanks to @Tony, kdeinit5 didn't crash after test.exr was removed.
the STEPS TO REPRODUCE can simplify as:
1. type "touch test.exr" in konsole
2. view the file in dolphin
Comment 6 Tony 2021-07-28 20:08:55 UTC
*** Bug 440257 has been marked as a duplicate of this bug. ***
Comment 7 Mirco Miranda 2023-08-24 16:48:23 UTC
This MR should solve the issues with broken EXR files: https://invent.kde.org/network/kio-extras/-/merge_requests/276
Comment 8 Tony 2023-08-26 21:57:16 UTC
Cannot reproduce anymore with plasma 5.27
Comment 9 Mirco Miranda 2023-08-28 18:28:43 UTC
(In reply to Tony from comment #8)
> Cannot reproduce anymore with plasma 5.27

You are probably benefiting from a newer OpenEXR library.
The MR in question is to fix crashes with corrupted test case files provided by the OpenEXR developers.