[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