Bug 117984 - Crash when cutting an 3d object in Draw
Summary: Crash when cutting an 3d object in Draw
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Draw (show other bugs)
Version:
(earliest affected)
6.2.0.0.alpha0+
Hardware: All All
: medium normal
Assignee: Armin Le Grand
URL:
Whiteboard: target:6.2.0 target:6.1.0.1
Keywords: bibisected, bisected, regression
: 118041 (view as bug list)
Depends on:
Blocks: Regressions-AW080
  Show dependency treegraph
 
Reported: 2018-06-03 16:16 UTC by Telesto
Modified: 2018-06-26 08:15 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments
bt with debug symbols (7.31 KB, text/plain)
2018-06-03 18:59 UTC, Julien Nabet
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Telesto 2018-06-03 16:16:37 UTC
Description:
Crash when cutting an 3d object in Draw (spin-off of bug 117911)

Steps to Reproduce:
1. Launch Draw
2. Insert or any other image https://wiki.documentfoundation.org/images/0/01/BHS_large_6.1_beta1_test.png
3. Convert to 3D object 
4. Cut -> crash

Actual Results:  
Crash

Expected Results:
No crash


Reproducible: Always


User Profile Reset: No



Additional Info:
Version: 6.2.0.0.alpha0+
Build ID: 5cbf6e936dfa402bc3b9c6cd2745f64fc71e0cc0
CPU threads: 4; OS: Windows 6.3; UI render: default; 
TinderBox: Win-x86@42, Branch:master, Time: 2018-06-03_02:10:48
Locale: nl-NL (nl_NL); Calc: CL


User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Comment 1 MM 2018-06-03 18:01:02 UTC
Confirmed on ubuntu 16.04 x64 with Version: 6.2.0.0.alpha0+
Build ID: 25fdc074528a39ff8aacf74c8db888ec9ef19a97
CPU threads: 2; OS: Linux 4.4; UI render: default; VCL: gtk2; 
TinderBox: Linux-rpm_deb-x86_64@70-TDF, Branch:master, Time: 2018-06-01_23:47:11
Locale: en-US (en_US.UTF-8); Calc: threaded

Unconfirmed with Version: 6.1.0.0.alpha1+
Build ID: 47dc3115f12ff16dc326b6edd12c46e6a6ef1843
CPU threads: 2; OS: Linux 4.4; UI render: default; VCL: gtk2; 
TinderBox: Linux-rpm_deb-x86_64@70-TDF, Branch:master, Time: 2018-05-17_00:32:17
Locale: en-US (en_US.UTF-8); Calc: 

It already crashes when converting to 3d (or 3d rotation object), no need to cut the image.
Comment 2 Julien Nabet 2018-06-03 18:59:35 UTC
Created attachment 142496 [details]
bt with debug symbols

On pc Debian x86-64 with master sources updated 2 days ago, I had a crash but when converting the image.
Perhaps it's linked.
Comment 3 Xisco Faulí 2018-06-03 22:01:23 UTC
In my case,

it crashes if I insert one image, convert it to 3D, I insert another image and I convert it to 3D
Comment 4 Xisco Faulí 2018-06-03 22:36:06 UTC
Regression introduced by:

author	Armin Le Grand <Armin.Le.Grand@cib.de>	2018-05-18 16:15:02 +0200
committer	Armin Le Grand <Armin.Le.Grand@cib.de>	2018-05-19 00:29:26 +0200
commit e1a8338876bd161de4e9d9a4b22d4bc5335f7cee (patch)
tree 4e24e44f240d2638d4163b15475da9fa4cd8cd02
parent 44a468323f3f011c41f892117f418987f9c98477 (diff)
tdf#116979 Fixed 3D operator= to correct copy/paste

Bisected with: bibisect-linux64-6.1

Adding Cc: to Armin Le Grand
Comment 5 Armin Le Grand 2018-06-06 07:54:55 UTC
Could not reproduce 1st description in current master.
Could reproduce with Comment 3 description.

Stack shows 3D parallelized renderer (see ScenePrimitive2D::create2DDecomposition) on stack, some 3D renderer parts active (thread-pool threads).
One of these is stuck in ~Bitmap, ~MapMode where MapMode seems to have a cow-wrapper.
See mapmode.hxx line 70 typedef:

    typedef o3tl::cow_wrapper< ImplMapMode > ImplType;

All stuff used during parallelized calls *has* to be thread, safe, thus this should be

    typedef o3tl::cow_wrapper< ImplMapMode, o3tl::ThreadSafeRefCountingPolicy > ImplType;

probably. In the past we had repeating but not reproducable crashes in parallelized 3D rendering, maybe we got it nailed now. This again may be an effect of the AW080 cleanups when it made it reproducable now.
Comment 6 Commit Notification 2018-06-06 11:38:21 UTC
Armin Le Grand committed a patch related to this issue.
It has been pushed to "master":

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

tdf#117984 Make MapMode thread-safe

It will be available in 6.2.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 7 Armin Le Grand 2018-06-06 11:38:55 UTC
Change in master, done. Checked with two 3D objects, all fine.
Comment 8 Telesto 2018-06-07 07:11:14 UTC
*** Bug 118041 has been marked as a duplicate of this bug. ***
Comment 9 Xisco Faulí 2018-06-07 08:18:25 UTC
Cherry-picked to 6-1 https://gerrit.libreoffice.org/#/c/55411/
Comment 10 Xisco Faulí 2018-06-08 10:53:13 UTC
Verified in

Version: 6.2.0.0.alpha0+
Build ID: 2a7f74900fb646235b74d4c9bd4690e44edc3ed4
CPU threads: 4; OS: Linux 4.13; UI render: default; VCL: gtk3; 
Locale: ca-ES (ca_ES.UTF-8); Calc: group threaded

@Armin, thanks for fixing this!!

OTOH, while testing this, I found bug 118066
Comment 11 Telesto 2018-06-08 12:13:46 UTC
(In reply to Xisco Faulí from comment #10)
> OTOH, while testing this, I found bug 118066.
->  I was already aware, see bug 117911, but never-mind ;-)
Comment 12 Commit Notification 2018-06-11 15:40:29 UTC
Armin Le Grand committed a patch related to this issue.
It has been pushed to "libreoffice-6-1":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=86bc5ae13a530c02734e4cb0210bb259c86dc6c6&h=libreoffice-6-1

tdf#117984 Make MapMode thread-safe

It will be available in 6.1.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 13 Xisco Faulí 2018-06-22 13:55:50 UTC
Hi Armin,
Could you briefly explain why this issue has been reopened?
Comment 14 Armin Le Grand 2018-06-26 07:18:51 UTC
@Xisco: By error - sorry ;-)