Bug 387377 - Crash after trying open pptx directy from rar
Summary: Crash after trying open pptx directy from rar
Status: RESOLVED WORKSFORME
Alias: None
Product: calligragemini
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Dan Leinir Turthra Jensen
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2017-11-27 22:52 UTC by Sylwester
Modified: 2021-01-16 04:36 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (11.60 KB, text/plain)
2018-02-24 15:32 UTC, Edmund Kasprzak
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sylwester 2017-11-27 22:52:38 UTC
Application: ark (17.08.3)

Qt Version: 5.9.2
Frameworks Version: 5.40.0
Operating System: Linux 4.13.16-2-MANJARO x86_64
Distribution: "Manjaro Linux"

-- Information about the crash:
- What I was doing when the application crashed:

I downloaded a .rar. Opened it directly from Firefox download menu. This rar containses 4 pptx presentation. I wanted open one of them directly. Presentation has opened and crash infromation was generate imediately. 

I use Manjaro.

The crash can be reproduced every time.

-- Backtrace:
Application: Ark (ark), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f4ffa8c1800 (LWP 27750))]

Thread 4 (Thread 0x7f4fc45de700 (LWP 27819)):
#0  0x00007f4ff2cc138d in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f4ff6d2f48d in __gthread_cond_wait (__mutex=<optimized out>, __cond=<optimized out>) at /build/gcc-multilib/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:864
#2  0x00007f4ff6d2f48d in std::condition_variable::wait(std::unique_lock<std::mutex>&) (this=<optimized out>, __lock=...) at /build/gcc-multilib/src/gcc/libstdc++-v3/src/c++11/condition_variable.cc:53
#3  0x00007f4fca547869 in  () at /usr/lib/libQt5WebKit.so.5
#4  0x00007f4fca5479b9 in  () at /usr/lib/libQt5WebKit.so.5
#5  0x00007f4ff6d35a6f in std::execute_native_thread_routine(void*) (__p=0x564c1ba6df80) at /build/gcc-multilib/src/gcc/libstdc++-v3/src/c++11/thread.cc:83
#6  0x00007f4ff2cbb08a in start_thread () at /usr/lib/libpthread.so.0
#7  0x00007f4ff69ba47f in clone () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7f4fdade8700 (LWP 27752)):
#0  0x00007f4ff69aff7b in poll () at /usr/lib/libc.so.6
#1  0x00007f4ff0d0ded3 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f4ff0d0dfae in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f4ff72edcf4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f4ff729148b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f4ff70aa27e in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007f4ff4673376 in  () at /usr/lib/libQt5DBus.so.5
#7  0x00007f4ff70aefcb in  () at /usr/lib/libQt5Core.so.5
#8  0x00007f4ff2cbb08a in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f4ff69ba47f in clone () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7f4fe7ce6700 (LWP 27751)):
#0  0x00007f4ff69aff7b in poll () at /usr/lib/libc.so.6
#1  0x00007f4fefe9a8e0 in  () at /usr/lib/libxcb.so.1
#2  0x00007f4fefe9c679 in xcb_wait_for_event () at /usr/lib/libxcb.so.1
#3  0x00007f4fea88385a in  () at /usr/lib/libQt5XcbQpa.so.5
#4  0x00007f4ff70aefcb in  () at /usr/lib/libQt5Core.so.5
#5  0x00007f4ff2cbb08a in start_thread () at /usr/lib/libpthread.so.0
#6  0x00007f4ff69ba47f in clone () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7f4ffa8c1800 (LWP 27750)):
[KCrash Handler]
#5  0x00007f4ff7a1bb90 in  () at /usr/lib/libQt5Gui.so.5
#6  0x00007f4ff7a2a7e4 in  () at /usr/lib/libQt5Gui.so.5
#7  0x00007f4ff7a29b3f in  () at /usr/lib/libQt5Gui.so.5
#8  0x00007f4ff7a550d6 in  () at /usr/lib/libQt5Gui.so.5
#9  0x00007f4ff7a5ac94 in  () at /usr/lib/libQt5Gui.so.5
#10 0x00007f4ff7a79cb4 in QPainter::drawImage(QRectF const&, QImage const&, QRectF const&, QFlags<Qt::ImageConversionFlag>) () at /usr/lib/libQt5Gui.so.5
#11 0x00007f4fc063d44d in Libemf::OutputPainterStrategy::stretchDiBits(Libemf::StretchDiBitsRecord&) () at /usr/lib/libkovectorimage.so.15
#12 0x00007f4fc062fa9f in Libemf::Parser::readRecord(QDataStream&) () at /usr/lib/libkovectorimage.so.15
#13 0x00007f4fc063039c in Libemf::Parser::loadFromStream(QDataStream&) () at /usr/lib/libkovectorimage.so.15
#14 0x00007f4fc06309eb in Libemf::Parser::load(QByteArray const&) () at /usr/lib/libkovectorimage.so.15
#15 0x00007f4fc08655e8 in  () at /usr/lib/qt/plugins/calligra/shapes/calligra_shape_vector.so
#16 0x00007f4fc0865845 in  () at /usr/lib/qt/plugins/calligra/shapes/calligra_shape_vector.so
#17 0x00007f4fc086593a in  () at /usr/lib/qt/plugins/calligra/shapes/calligra_shape_vector.so
#18 0x00007f4fc0863c3b in  () at /usr/lib/qt/plugins/calligra/shapes/calligra_shape_vector.so
#19 0x00007f4fcca03ab5 in KoShapePainter::paint(QPainter&, KoViewConverter&) () at /usr/lib/libflake.so.15
#20 0x00007f4fcdca4aee in KoPAPage::paintPage(QPainter&, KoZoomHandler&) () at /usr/lib/libkopageapp.so.15
#21 0x00007f4fcdca13cb in KoPAPageBase::generateThumbnail(QSize const&) () at /usr/lib/libkopageapp.so.15
#22 0x00007f4fcdca14cc in KoPAPageBase::thumbnail(QSize const&) () at /usr/lib/libkopageapp.so.15
#23 0x00007f4fcdedd5a1 in OkularOdpGenerator::generatePixmap(Okular::PixmapRequest*) () at /usr/lib/libkookularGenerator_odp.so.15
#24 0x00007f4fcf778c1f in  () at /usr/lib/libOkular5Core.so.7
#25 0x00007f4fcf77a74b in  () at /usr/lib/libOkular5Core.so.7
#26 0x00007f4fcdedd5dd in OkularOdpGenerator::generatePixmap(Okular::PixmapRequest*) () at /usr/lib/libkookularGenerator_odp.so.15
#27 0x00007f4fcf778c1f in  () at /usr/lib/libOkular5Core.so.7
#28 0x00007f4fcf77a74b in  () at /usr/lib/libOkular5Core.so.7
#29 0x00007f4fcdedd5dd in OkularOdpGenerator::generatePixmap(Okular::PixmapRequest*) () at /usr/lib/libkookularGenerator_odp.so.15
#30 0x00007f4fcf778c1f in  () at /usr/lib/libOkular5Core.so.7
#31 0x00007f4fcf77a74b in  () at /usr/lib/libOkular5Core.so.7
#32 0x00007f4fcdedd5dd in OkularOdpGenerator::generatePixmap(Okular::PixmapRequest*) () at /usr/lib/libkookularGenerator_odp.so.15
#33 0x00007f4fcf778c1f in  () at /usr/lib/libOkular5Core.so.7
#34 0x00007f4fcf77a74b in  () at /usr/lib/libOkular5Core.so.7
#35 0x00007f4fcdedd5dd in OkularOdpGenerator::generatePixmap(Okular::PixmapRequest*) () at /usr/lib/libkookularGenerator_odp.so.15
#36 0x00007f4fcf778c1f in  () at /usr/lib/libOkular5Core.so.7
#37 0x00007f4fcf77a74b in  () at /usr/lib/libOkular5Core.so.7
#38 0x00007f4fcdedd5dd in OkularOdpGenerator::generatePixmap(Okular::PixmapRequest*) () at /usr/lib/libkookularGenerator_odp.so.15
#39 0x00007f4fcf778c1f in  () at /usr/lib/libOkular5Core.so.7
#40 0x00007f4fcf77981a in Okular::Document::requestPixmaps(QLinkedList<Okular::PixmapRequest*> const&, QFlags<Okular::Document::PixmapRequestFlag>) () at /usr/lib/libOkular5Core.so.7
#41 0x00007f4fcfb3a76f in  () at /usr/lib/qt/plugins/okularpart.so
#42 0x00007f4fcfb3a946 in  () at /usr/lib/qt/plugins/okularpart.so
#43 0x00007f4fcfb3ab89 in  () at /usr/lib/qt/plugins/okularpart.so
#44 0x00007f4ff72c2c16 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5
#45 0x00007f4ff72cfb48 in QTimer::timeout(QTimer::QPrivateSignal) () at /usr/lib/libQt5Core.so.5
#46 0x00007f4ff72cfeb9 in QTimer::timerEvent(QTimerEvent*) () at /usr/lib/libQt5Core.so.5
#47 0x00007f4ff72c361b in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#48 0x00007f4ff7fb0f2c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#49 0x00007f4ff7fb8a06 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#50 0x00007f4ff7293060 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#51 0x00007f4ff72ed118 in QTimerInfoList::activateTimers() () at /usr/lib/libQt5Core.so.5
#52 0x00007f4ff72ed912 in  () at /usr/lib/libQt5Core.so.5
#53 0x00007f4ff0d0c270 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#54 0x00007f4ff0d0df69 in  () at /usr/lib/libglib-2.0.so.0
#55 0x00007f4ff0d0dfae in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#56 0x00007f4ff72edcd1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#57 0x00007f4ff729148b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#58 0x00007f4ff729a4d8 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#59 0x0000564c1a903d86 in  ()
#60 0x00007f4ff68e4f6a in __libc_start_main () at /usr/lib/libc.so.6
#61 0x0000564c1a904dba in _start ()

Reported using DrKonqi
Comment 1 Edmund Kasprzak 2018-02-12 20:34:42 UTC
Does it happen on this specific rar file only or maybe just one specific pptx?
What is your default app that should open pptx ?

I packed some pptx that I have, some I downloaded, some I created quickly into a rar archive. I have no problem opening all of these.

Can you share some problematic file?
Comment 2 Sylwester 2018-02-15 14:38:14 UTC
(In reply to Edmund Kasprzak from comment #1)
> Does it happen on this specific rar file only or maybe just one specific
> pptx?
> What is your default app that should open pptx ?
> 
> I packed some pptx that I have, some I downloaded, some I created quickly
> into a rar archive. I have no problem opening all of these.
> 
> Can you share some problematic file?

I don't know this would be the same files as crashed that day. It was 3months ago and my download history is to 17 December. And in new version on Firefox I can't search history by date.

I don't remember crashing program that day (libreoffice or okular) but I guess presentation is closed because temporary file is deleted when ark is crashed. And temporary file is in ramdisk. But I am not sure this work that way. 

I am not sure about sharing this files in public. But if you are interested I can send it directly to you or any interested person. Just e-mail me. In this archive there ark crash in one of four .pptx file.
Comment 3 Edmund Kasprzak 2018-02-24 15:32:04 UTC
Created attachment 110968 [details]
New crash information added by DrKonqi

ark (17.12.2) using Qt 5.10.0

- What I was doing when the application crashed:
1. Open RAR archive
2. Open .pptx file

- Custom settings of the application:

It happens only when okular odp plugin is installed

-- Backtrace (Reduced):
#6  0x00007f58b5e2812c in convertIndexedToARGB32PM (buffer=0x7ffd677e6670, src=0x7ffd677e6670, count=7, clut=0x0) at painting/qdrawhelper.cpp:488
#7  0x00007f58b5e423d2 in BlendSrcGeneric::fetch (len=<optimized out>, y=45, x=37, this=0x7ffd677e45d0) at painting/qdrawhelper.cpp:3968
#8  handleSpans<BlendSrcGeneric> (count=count@entry=8, spans=spans@entry=0x7ffd677f0770, data=data@entry=0x3913e80, handler=...) at painting/qdrawhelper.cpp:3912
#9  0x00007f58b5e40d0d in blend_src_generic_rgb64 (count=8, spans=0x7ffd677f0770, userData=0x3913e80) at painting/qdrawhelper.cpp:4030
#10 0x00007f58b6092333 in fillRect_normalized (r=..., data=data@entry=0x3913e80, pe=pe@entry=0x3913a90) at painting/qpaintengine_raster.cpp:1479
Comment 4 Edmund Kasprzak 2018-02-24 15:58:09 UTC
Some more info:

The main problem is actually with "preview" function in ark.

If okular odp backend is not installed, then "preview" function for pptx file is just "open pptx in ark"
So, double click on pptx (inside ark) just opens another ark and everything is fine.

Also, when doing right-click --> open/open with - everything is fine, as in that situation ark extracts file in temp location and opens it with external app (okular here) and just passes location of file to app (okular).


--- ISSUE happens ---
If okular odp backend is installed, then "preview" option in ark is used via okular (odp backed makes it possible to open pptx files in okular).
In that scenario, double click on pptx in ark calls "preview" function and tries to open an embedded okular-preview inside ark window (probably that part - "inside ark window" could be important...)

For sure, it's something specific to some pptx files, as I am able to "preview" other pptx files in the same archive without any problem. 

Original author of the bug (Sylwester) doesn't want to share that rar-with-pptx file publicly, but he can share it privately and I received it from him.

The issue is clearly not in ark itself but as a combination of ark and okular/okular-odp-backend.
But not specific to just okular/okular-odp as okular opens these files without any problem, also from ark using right-click -->open/open with. Crash happens only using preview function (which uses okular-odp-backend when it's installed).

Let me know if some more testing or information are needed.
Comment 5 Elvis Angelaccio 2018-02-24 16:07:24 UTC
@Edmund: can you send me the offending rar file via email?
Comment 6 Elvis Angelaccio 2018-02-25 13:03:01 UTC
Moving to Calligra Gemini.

Got the test file from Edmund and the offending .pptx file crashes Calligra as well, which in turn makes both Okular and Ark crash.

@Calligra devs: if you need the test file, please ask either me or Edmund via email.
Comment 7 Justin Zobel 2020-12-17 05:35:26 UTC
Thank you for the crash report.

As it has been a while since this was reported, can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved.

I have set the bug status to "needsinfo" pending your response, please change back to "reported" or "resolved/worksforme" when you respond, thank you.
Comment 8 Bug Janitor Service 2021-01-01 04:37:47 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 9 Bug Janitor Service 2021-01-16 04:36:41 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!