[Qt-interest] SIGSEGV when assigning a QByteArray

Josiah Bryan jbryan at productiveconcepts.com
Fri Sep 3 18:37:58 CEST 2010


gdb reports that after a ton of iterations, all of a sudden QByteArray 
crashes inside an "=" assignment:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208985328 (LWP 12157)]
QByteArray::operator= (this=0xbf8cc1bc, other=@0xb5421f70) at 
../../include/QtCore/../../src/corelib/arch/qatomic_i386.h:120
120     ../../include/QtCore/../../src/corelib/arch/qatomic_i386.h: No 
such file or directory.
         in ../../include/QtCore/../../src/corelib/arch/qatomic_i386.h
(gdb) bt
#0  QByteArray::operator= (this=0xbf8cc1bc, other=@0xb5421f70) at 
../../include/QtCore/../../src/corelib/arch/qatomic_i386.h:120
#1  0x0806a404 in VideoSource::frame (this=0xb5421f10) at VideoFrame.h:80
...

For reference, the VideoFrame class referred to is here: 
http://code.google.com/p/dviz/source/browse/trunk/src/livemix/VideoFrame.h#80


I'm not doing anything special with the bytearray - just assigning it 
and passing it around. It originates in one thread, then is passed to a 
second thread for rendering when requested. It's not a pointer, so I'm 
expecting Qt to automatically take care of memory management and not 
delete till all instances are discarded.

This crash is repeatable - but only if I let my program run a long time 
(20-30 minutes or more) - by run, I mean just show a video feed on the 
screen and let it sit there for 20-30 minutes, rendering the feed. So, 
reproducable - yes, but only after a looong time. It is, at least the 
last two crashes, always crashed at a same spot, and the same backtrace.

Any ideas on what could be happening or what I can do to debug further?

(And no, valgrind is no help - It's been running in valgrind for over an 
hour now and still no sign of a crash! But crashes in gdb every time 
within 30 minutes or so...)

Thanks in advance for any ideas..cheers!
-Josiah

-- 
Josiah Bryan
Productive Concepts, Inc.
jbryan at pciint.com
(765) 964-6009, ext. 224




More information about the Qt-interest-old mailing list