[Development] [meta-qt5] Qt5.8 qdbuscpp2xml broken for kde baloo?

Andreas Müller schnitzeltony at googlemail.com
Wed Feb 15 14:55:03 CET 2017


On Wed, Feb 15, 2017 at 9:10 AM, Andreas Müller
<schnitzeltony at googlemail.com> wrote:
> On Tue, Feb 14, 2017 at 9:34 PM, Thiago Macieira
> <thiago.macieira at intel.com> wrote:
>> Em terça-feira, 14 de fevereiro de 2017, às 10:08:27 PST, Andreas Müller via
>> Development escreveu:
>>> On Tue, Feb 14, 2017 at 12:18 AM, Andreas Müller
>>>
>>> <schnitzeltony at googlemail.com> wrote:
>>> > I just ran a gdb session but debug information gets lost somewhere -
>>> > only see non very helpful disassembler. Need to sort out where debug
>>> > information gets lost or paths are aligned to break gdb...
>>>
>>> OK -g option was missing in my build. It is based on commit
>>> 49dc9aa409d727824f26b246054a22b5a7dd5980 + 2 Patches mentioned
>>> earlier.
>>> I started debug session with qtcreator and interrupted on idle several
>>> times with same result - see attachment. Hope that helps...
>>
>> No, sorry, it didn't.
>>
>> Please do as I asked: run it inside gdb, then when it freezes, Ctrl+C and run
>> "bt" from the (gdb) prompt.
>>
> Meanwhile I installed glibc debug info packs.
>
> You sequence does not work as expected:
>
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from
> /home/a.mueller/tmp/oe-core-glibc/work/x86_64-linux/qtbase-native/5.8.0+gitAUTOINC+49dc9aa409-r0/image/home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/bin/qt5/qdbuscpp2xml...done.
> (gdb) Quit
> (gdb) bt
> No stack.
>
> If I attach to running qdbuscpp2xml I get what's attached - there is
> no reaction on Ctrl+C
>
I've looked into this: It is strange that we have two occurrences of
QDBusMetaTypeId::instance() in the backtrace. It seems that first call
of QDBusMetaTypeId::instance() causes another call on itself finally
which is blocked by glibc's __cxa_guard_acquire / syscall (SYS_futex,
gi, _GLIBCXX_FUTEX_WAIT, expected, 0). I think QDBusMetaTypeId
designed as singleton so calling QDBusMetaTypeId::instance() from
QDBusMetaTypeId's constructor causes glibc to deadlock the operation.

That's the sympthom..

Andreas



More information about the Development mailing list