Bug 98425 - assertion, GtkYieldMutex::ThreadsLeave, gtkinst.cxx:311
Summary: assertion, GtkYieldMutex::ThreadsLeave, gtkinst.cxx:311
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Base (show other bugs)
Version:
(earliest affected)
5.2.0.0.alpha0+
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Caolán McNamara
URL:
Whiteboard: target:5.2.0
Keywords: bibisected, haveBacktrace
Depends on:
Blocks:
 
Reported: 2016-03-04 20:48 UTC by Terrence Enger
Modified: 2016-10-25 19:09 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments
gdb on the core file (18.23 KB, text/plain)
2016-03-04 20:48 UTC, Terrence Enger
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Terrence Enger 2016-03-04 20:48:09 UTC
Created attachment 123300 [details]
gdb on the core file

STR
(1) Run LibreOffice naming the bibliography database on the command
    line.  My command line, in checkout from the daily Linux dbgutil
    repository, was (all on one line) ...
        opt/program/soffice 
            --norestore --nologo
            -env:UserInstallation=file:///tmp/user_20160304
            opt/presets/database/biblio.odb

    The program presents window "biblio.odb - LibreOfficeDev Base 5.2 ...".

(2) Take menu options Edit > Database > Properties... .  The program
    displays dialog "Database Properties", tab "Advanced Properties".

(3) Drag the mouse through Path to the dBASE files.  For me, the
    program highlighted "/tmp/user_20160304/user/database/biblio".

(4) Type "<Ctrl>+C".
    Expected : The path will be copied to the clipboard.
    Observed : Assertion.


The attached gdb output is from commit 9582fd9, fetched 2016-03-01
16:30 UTC, lightly hacked, configured ...

    CC=ccache /usr/bin/gcc
    CXX=ccache /usr/bin/g++
    --enable-option-checking=fatal
    --enable-dbgutil
    --enable-debug
    --enable-crashdump
    --without-system-postgresql
    --without-myspell-dicts
    --with-extra-buildid
    --without-doxygen
    --with-external-tar=/home/terry/lo_hacking/git/src

built and running on debian-stretch Xfce desktop.  The assertion also
happens with GNOME Classic desktop.

In frame #18 mnCount is 1.  Why did `assert(mnCount != 0);` fail?
Comment 1 Terrence Enger 2016-03-04 20:49:55 UTC
Setting keywords haveBacktrace regression bibisected.

Working in the daily Linux dbgutil bibisect repository, I see from
`git bisect good` (whitespace added) ...

    3ced19fb42a4f07171ba32e659a22f2a1a78f9cf is the first bad commit
    commit 3ced19fb42a4f07171ba32e659a22f2a1a78f9cf
    Author: Miklos Vajna <vmiklos@collabora.co.uk>
    Date:   Fri Feb 12 05:47:22 2016 +0100

        2016-02-12: source-hash-0ab6332f97ec8b12d96f43834febea21e0b39f6a

    :100644 100644 a623442e10aebfe6556d4f5bdebd2c4c16f75752
        b9a06fd4f997483de3415a577ea7eafd9b06e8c2 M	build-info.txt
    :040000 040000 7d53aa54cdab3b37d82ffa32e8cb2cd4a608cacf
        31606dce0152a6f93bdbaf5d3f991b50ee871505 M	opt

and from `git bisect log` (whitespace added) ...

    # bad: [0b7a45a0705675545c658b765204d616308c5dd5]
        2016-03-01: source-hash-817f6bd75e98a321c238b5906bfcb031908914b2
    # good: [dd88a67325785e8af7c999d73cedea31e82365b0]
        2016-02-10: source-hash-fea95da81260bc7eabe7ece595829009b2db3e62
    git bisect start '0b7a45a0705675545c658b765204d616308c5dd5'
        'dd88a67325785e8af7c999d73cedea31e82365b0'
    # bad: [4c16d7bf6022004a663eedaba71954b468d0e2be]
        2016-02-20: source-hash-1684e347cd16ce91ecf27d94691b185a0110cc34
    git bisect bad 4c16d7bf6022004a663eedaba71954b468d0e2be
    # bad: [be5f152debf636ef25421c77132594594000342f]
        2016-02-15: source-hash-a8232b30687879f31768b89f4ff0bcf9457a7e77
    git bisect bad be5f152debf636ef25421c77132594594000342f
    # bad: [3ced19fb42a4f07171ba32e659a22f2a1a78f9cf]
        2016-02-12: source-hash-0ab6332f97ec8b12d96f43834febea21e0b39f6a
    git bisect bad 3ced19fb42a4f07171ba32e659a22f2a1a78f9cf
    # good: [cafe073abea383cca2582142f45a9e1f85e549cd]
        2016-02-11: source-hash-a6f876d45bd4e41a7143594a6cb11b6893a0f620
    git bisect good cafe073abea383cca2582142f45a9e1f85e549cd
    # first bad commit: [3ced19fb42a4f07171ba32e659a22f2a1a78f9cf]
        2016-02-12: source-hash-0ab6332f97ec8b12d96f43834febea21e0b39f6a
Comment 2 Joel Madero 2016-03-04 21:08:24 UTC
@Terrence - everyone knows you provide solid reports. Just push them to NEW :)
Comment 3 Julien Nabet 2016-03-04 21:32:12 UTC
On pc Debian x86-64 with master sources updated today (f5e131b2bcd2c88a47e5988d5f319bffd767c4dc), I reproduced this with SAL_USE_VCLPLUGIN=gtk3
No crash with SAL_USE_VCLPLUGIN=gen or SAL_USE_VCLPLUGIN=gtk.

Caolan: thought you might be interested in this one since it seems gtk3 only.
Comment 4 Terrence Enger 2016-03-05 01:56:00 UTC
@Joel,

Thank you for the vote of confidence.  I shall try to remember.

Meanwhile, I think that your comment about gtk3 vs. gtk is valuable.
Comment 5 Commit Notification 2016-03-07 10:39:16 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

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

Resolves: tdf#98425 gtk3: grab the SolarMutex when setting the clipboard

It will be available in 5.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 6 Terrence Enger 2016-03-07 18:15:39 UTC
Thank you, Caolán.  I fear that I am having mixed results.  But these
are in a lightly hacked environment on which I have as well applied a
few individual patches from master "by hand".  So, unless this comment
immediately suggests something to you, you should not take it too
seriously yet.  I expect to be able to update my daily bibisect repo
and my source repo tomorrow, and I shall make this new problem--if it
persists--into a bug report of its own.

If I open the bibliography database from the list of recent files in
Start Center, I can copy "Path to dBase files" and paste it into
emacs.  Very good.  However, if I name the bibliography database on
the the command line, LibreOffice terminates quickly with terminal
output (whitespace added to avoid bugzilla's line wrapping) ...

    terry@lynn-stretch:~/lo_hacking/git/libo6$ instdir/program/soffice
        --norestore --nologo -env:UserInstallation=file:///tmp/user_20160307
        instdir/user/database/biblio
    warn:vcl:23077:1:vcl/unx/generic/fontmanager/fontmanager.cxx:1343:
        Could not OpenTTFont
        "/usr/share/fonts/woff/font-awesome/fontawesome-webfont.woff"

    warn:filter.config:23077:1:
        filter/source/config/cache/typedetection.cxx:455:
        caught Exception "Could not open stream for
        <file:///home/terry/lo_hacking/git/libo6/instdir/user/database/biblio>"
        while querying type of
        <file:///home/terry/lo_hacking/git/libo6/instdir/user/database/biblio>
    warn:fwk.dispatch:23077:1:framework/source/dispatch/loaddispatcher.cxx:132:
        caught LoadEnvException 0 "type detection failed" while dispatching
        <file:///home/terry/lo_hacking/git/libo6/instdir/user/database/biblio>
    warn:tools.debug:23077:1:tools/source/debug/debug.cxx:72:
        no DbgTestSolarMutex function set
Comment 7 Caolán McNamara 2016-03-08 09:30:25 UTC
I don't see the other problem, while I did see the first. You can check if SAL_USE_VCLPLUGIN=gtk has an impact on the second problem
Comment 8 Terrence Enger 2016-03-08 16:29:14 UTC
I am setting bug status VERIFIED FIXED.

The assertion I complained of in comment 6 has gone away.  I do not
know what I am doing differently today.  In particular, I have not
built LibreOffice in the meantime.  Envvar SAL_USE_VCLPLUGIN=gtk makes
no difference.  Sigh!  I plan no further action.

Thank you, Caolán, for your patience.