[Interest] QObject: Cannot create children for a parent that is in a different thread.

Thiago Macieira thiago.macieira at intel.com
Tue Aug 18 23:30:38 CEST 2015


On Tuesday 18 August 2015 14:23:05 Thiago Macieira wrote:
> On Tuesday 18 August 2015 16:33:39 Celal SAVUR wrote:
> > Hello everyone,
> > 
> > I am keep getting this warning. Although I am not using thread. Do you
> > have
> > any idea?
> > 
> > QObject: Cannot create children for a parent that is in a different
> > thread.
> 
> I think you are using threads. Please run your application with
> QT_FATAL_WARNINGS=1 set in the environment and pastebin the backtrace.

I can tell from the pointer values that you have multiple threads:

> > (Parent is QHeaderView(0x1fee070), parent's thread is QThread(0x81dc70),
> > current thread is QThread(0x7fff88000b00)

The low-value pointers are heap allocations from the main thread's heap pool. 
The high pointer value for the second QThread is a heap allocation from a 
secondary thread's pool.

The pointer value isn't that of the QThread object, but of the internal 
QThreadData and that one is created inside each thread. Since we have a 
pointer that comes from the heap pool of an auxiliary thread, we conclude an 
auxiliary thread was started.

So you are using threads.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Interest mailing list