Re: linux-next: Tree for Nov 1 (xconfig problem)

From: Thiago Macieira
Date: Mon Nov 02 2015 - 11:58:33 EST


This is a multi-part message in MIME format.
On Monday 02 November 2015 08:44:01 Randy Dunlap wrote:
> > Randy, we need a backtrace. The problem is on the function that called
> > first(). Can you make sure the crash generates a core dump, then get the
> > bt
> > from that?
>
> ASSERT: "!isEmpty()" in file /usr/include/QtCore/qlist.h, line 282
> ../scripts/kconfig/Makefile:22: recipe for target 'xconfig' failed
> make[2]: *** [xconfig] Aborted (core dumped)
[cut]
> #4 0x00007f858c3eec44 in qFatal(char const*, ...) ()
> at /usr/lib64/libQtCore.so.4
> #5 0x00007f858c3eec8a in () at /usr/lib64/libQtCore.so.4
> #6 0x00000000004206cc in ConfigList::updateSelection() ()

Thanks, Randy.

This seems to be it:

if (selectedItems().count() == 0)
return;

ConfigItem* item = (ConfigItem*)selectedItems().first();

Which means this shouldn't be happening. I don't know how the list could be
non-empty in one call and empty in the next. It's wasteful to call
selectedItems() twice (it's not a cheap function), but it shouldn't cause this
issue.

We can easily just cache the result and this is what the attached patch does,
but given that this error makes no sense to me, I cannot guarantee that you
don't have another problem elsewhere.

Boris, do you have another idea?
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center