Bug Hunting Session
Bug 114243 - CRASH: Inserting link to .docx file in section
Summary: CRASH: Inserting link to .docx file in section
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: filters and storage (show other bugs)
Version:
(earliest affected)
6.0.0.0.beta1
Hardware: All All
: highest critical
Assignee: Michael Stahl (CIB)
URL:
Whiteboard: target:6.1.0 target:6.0.0.1
Keywords: bibisected, bisected, haveBacktrace, regression
Depends on:
Blocks:
 
Reported: 2017-12-04 17:29 UTC by Xisco Faulí
Modified: 2017-12-11 12:15 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments
gdb backtrace (25.03 KB, text/x-log)
2017-12-04 17:50 UTC, Xisco Faulí
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Xisco Faulí 2017-12-04 17:29:54 UTC
Steps to reproduce:
1. Go to Insert - Section
2. Select Link
3. Select a .DOCX file ( sample: attachment 86189 [details] )
-> CRASH

Expected Behaviour: 'Can't read content' message should be prompted instead

Reproduced in

Version: 6.1.0.0.alpha0+
Build ID: 889c72a7e54f241342f42b1b0a05858902228cbc
CPU threads: 4; OS: Linux 4.10; UI render: default; VCL: gtk3; 
Locale: ca-ES-valencia (ca_ES.UTF-8); Calc: group threaded
Comment 1 Xisco Faulí 2017-12-04 17:31:10 UTC
Regression introduced by:

author	Jan-Marek Glogowski <glogow@fbihome.de>	2017-10-09 15:26:53 +0200
committer	Jan-Marek Glogowski <glogow@fbihome.de>	2017-10-09 19:39:27 +0200
commit	6d7191a9bbbae1421edc7d94dccc040f622bc227 (patch)
tree	634e368a7af071053373c8cd86fbf4de97fee955
parent	a3a89fc81a47640d0cd63453f72717a8ddb3970d (diff)
tdf#112931 always signal AllUserEventsProcessed
If the last user event triggers a nested event loop, there is
no event in the nested loop, but AllUserEventsProcessed will
not be signaled, resulting in a busy loop in the gtk backend.

So just always signal AllUserEventsProcessed, if it was not
yet signaled.

While at it catch and std::abort on uncaught exceptions and fix
the default to have been signaled, so we won't signal on an
empty list on first run.

Bisected with: bibisect-linux64-6.0

Adding Cc: to Jan-Marek Glogowski
Comment 2 Xisco Faulí 2017-12-04 17:50:22 UTC
Created attachment 138216 [details]
gdb backtrace
Comment 3 Jan-Marek Glogowski 2017-12-08 20:22:34 UTC
That's the general try … catch (...) … abort(), when an event throws an exception while being processed; basically the same then the task handling in the scheduler. We can't handle this in any serious way, so just std::abort.

Generally the bug needs the same handling I used in bug 113284 comment 4 to find the origin of the caught exception.

Currently I don't have time to run the throw based backtracing. If someone beats me to it, I would be happy.
Comment 4 Commit Notification 2017-12-08 20:59:49 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=07c7b5441251b55be72256ae8c64138eecf6cb5f

tdf#114243 sot: catch exceptions in SotStorage::GetFormatID()

It will be available in 6.1.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 5 Michael Stahl (CIB) 2017-12-08 21:03:20 UTC
fixed on master
Comment 6 Commit Notification 2017-12-09 10:43:02 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "libreoffice-6-0":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=e0920fb441e5747e683af3a5748b893e4778b9f9&h=libreoffice-6-0

tdf#114243 sot: catch exceptions in SotStorage::GetFormatID()

It will be available in 6.0.0.1.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 7 Xisco Faulí 2017-12-11 12:15:38 UTC
Verified in

Version: 6.1.0.0.alpha0+
Build ID: 3af500580b1c82eabd60335c9ebc458a3f68850c
CPU threads: 4; OS: Linux 4.10; UI render: default; VCL: gtk3; 
Locale: ca-ES (ca_ES.UTF-8); Calc: group threaded