Bug 104105 - CRASH when closing Conditional Formatting window in a database report - VCL lifecycle
Summary: CRASH when closing Conditional Formatting window in a database report - VCL l...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Base (show other bugs)
Version:
(earliest affected)
5.2.3.3 release
Hardware: All All
: high critical
Assignee: Julien Nabet
URL:
Whiteboard: target:5.4.0 target:5.3.0.1 target:5.2.5
Keywords: haveBacktrace, regression
Depends on:
Blocks: Conditional-Formatting
  Show dependency treegraph
 
Reported: 2016-11-22 11:11 UTC by Alex Thurgood
Modified: 2017-07-17 09:35 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments
backtrace from lldb debugging session (27.74 KB, text/plain)
2016-11-22 11:14 UTC, Alex Thurgood
Details
typescript of valgrind session (3.84 MB, text/plain)
2016-12-08 20:09 UTC, Terrence Enger
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Thurgood 2016-11-22 11:11:00 UTC
Description:
Closing a Conditional Formatting dialog window via the "window close" button causes LibreOffice to crash reproducibly. This appears from the lldb trace to be a VCL threading problem.

Steps to Reproduce:
1. Open attached ODB file.
2. Activate macros
3. Open the first report in Edit mode.
4. Click on the Team text field, and then menu Format > Conditional Formatting.
5. Close Conditional Formatting window by clicking on the "close window" button.
6. Crash - LibreOffice recovery mode is launched.

Actual Results:  
The app crashes and launches LO in recovery mode.

Expected Results:
The app should not crash.


Reproducible: Always

User Profile Reset: No

Additional Info:


User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:49.0) Gecko/20100101 Firefox/49.0
Comment 1 Alex Thurgood 2016-11-22 11:12:31 UTC
The crash occurred when reproducing bug 104057. The test file is available in that bug report.

https://bugs.documentfoundation.org/attachment.cgi?id=128896
Comment 2 Alex Thurgood 2016-11-22 11:14:53 UTC
Created attachment 128936 [details]
backtrace from lldb debugging session
Comment 3 Michael Meeks 2016-11-22 12:33:47 UTC
Why a VCL threading problem ? =) I would suggest that this is reproduced on Linux, and we get a valgrind trace - looks like a FMR/W to me. Odd thing is the async event callback should hold a nice VclPtr reference on the frame there which should preserve us from this sort of evil.
Comment 4 Julien Nabet 2016-11-22 12:48:43 UTC
Alex: in general on MacOs, I fail to retrieve an interesting bt. I only have assembly thing. I also think "make debugrun" doesn't work on MacOs.
Concerning Valgrind, I don't think it works on MacOS 10.12

Since I'm  stuck on Linux because of http://nabble.documentfoundation.org/Build-fail-on-Linux-ExternalProject-nss-mk-td4199999.html.
I can't help at all.
(Hope binutils Debian package will be fixed soon :( )
Comment 5 Terrence Enger 2016-12-08 20:09:45 UTC
Created attachment 129406 [details]
typescript of valgrind session

This typescript is from a local build of LibreOffice commit ae923f94,
committed 2016-12-06, configured ...
    CC=ccache /usr/bin/gcc
    CXX=ccache /usr/bin/g++
    --enable-option-checking=fatal
    --enable-dbgutil
    --enable-debug
    --without-system-postgresql
    --without-myspell-dicts
    --with-extra-buildid
    --without-doxygen
    --with-external-tar=/home/terry/lo_hacking/git/src
    --without-package-format
built and running on debain-stretch.

I departed in that

(a) Around line 34978 of the typescript, I twice right-clicked on the
    team name and then closed the pop-up menu.

(b) Around line 35980 of the typescript, I closed the Conditional
    Formatting dialog.  The program did not crash, and I continued to
    close successively the report design, the main database window and
    the Start Center.

HTH,
Terry.
Comment 6 Julien Nabet 2016-12-08 21:41:12 UTC
On pc Debian x86-64 with master sources updated today, I don't reproduce this with rendering=gtk3 but I could reproduce this with rendering=gen.

I noticed this on console:
warn:legacy.osl:4129:1:vcl/source/window/window.cxx:273: Window ( 7VclVBox()) with live children destroyed:  N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE()
Window ( 7VclVBox()) with live children destroyed:  N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE() N5rptui9ConditionE()
Comment 7 Julien Nabet 2016-12-08 23:32:56 UTC
Patch submitted for review here: https://gerrit.libreoffice.org/#/c/31775/
Comment 8 Commit Notification 2016-12-09 06:10:57 UTC
Julien Nabet committed a patch related to this issue.
It has been pushed to "master":

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

tdf#104105: fix Vcl lifecycle in CondFormat (reportdesign)

It will be available in 5.4.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 9 Commit Notification 2016-12-09 06:13:16 UTC
Julien Nabet committed a patch related to this issue.
It has been pushed to "libreoffice-5-3":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=987984ea21f1688eddfc124292f5e4b931d7d138&h=libreoffice-5-3

tdf#104105: fix Vcl lifecycle in CondFormat (reportdesign)

It will be available in 5.3.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 10 Julien Nabet 2016-12-09 06:15:59 UTC
The patch for 5.2 branch is on review, see https://gerrit.libreoffice.org/#/c/31780/1
Comment 11 Commit Notification 2016-12-09 07:42:25 UTC
Julien Nabet committed a patch related to this issue.
It has been pushed to "libreoffice-5-2":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=f7a61c6c462ef188b82ade6c36d0c0bce1fe7f26&h=libreoffice-5-2

tdf#104105: fix Vcl lifecycle in CondFormat (reportdesign)

It will be available in 5.2.5.

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.