Crash

Submitted by markus on 2008-04-08

Hi,

fraqtive 0.4.0 reproducably crashes when continuously zooming into complex regions. System is FreeBSD 7.0 with Qt 4.3.4. Here is a backtrace:

markus@cheops:/usr/ports/graphics/fraqtive/work/fraqtive-0.4.0/release # gdb ./fraqtive
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...
(gdb) r
Starting program: /usr/ports/graphics/fraqtive/work/fraqtive-0.4.0/release/fraqtive
[New LWP 100171]
[New Thread 0x803501120 (LWP 100171)]
[New Thread 0x803501290 (LWP 100203)]
[New Thread 0x803501400 (LWP 100204)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x803501120 (LWP 100171)]
0x0000000000415487 in DataFunctions::drawImage (image=@0x8035ed580, data=0x8035190f0, region=@0x7fffffffde30, mapper=@0x7fffffffddc0, antiAliasing=Variable "antiAliasing" is not available.
) at datafunctions.cpp:260
260 color[ i ][ 1 ] = mapper.map( src[ i * stride ] );
(gdb) bt
#0 0x0000000000415487 in DataFunctions::drawImage (image=@0x8035ed580, data=0x8035190f0, region=@0x7fffffffde30, mapper=@0x7fffffffddc0, antiAliasing=Variable "antiAliasing" is not available.
) at datafunctions.cpp:260
#1 0x000000000042ab30 in ImageView::drawImage (this=0x8035ed540, data=0x8035190f0, region=@0x7fffffffde30) at imageview.cpp:142
#2 0x000000000042aff8 in ImageView::partialUpdate (this=0x8035ed540, data=0x8035190f0) at imageview.cpp:119
#3 0x000000000041eb3f in FractalPresenter::customEvent (this=0x8035190c0, e=Variable "e" is not available.
) at fractalpresenter.cpp:202
#4 0x0000000801fad221 in QObject::event (this=0x8035190c0, e=Variable "e" is not available.
) at kernel/qobject.cpp:1165
#5 0x00000008008c0f1e in QApplicationPrivate::notify_helper (this=0x80350e140, receiver=0x8035190c0, e=0x8036010a0) at kernel/qapplication.cpp:3563
#6 0x00000008008c6ef8 in QApplication::notify (this=0x7fffffffe6f0, receiver=0x8035190c0, e=0x8036010a0) at kernel/qapplication.cpp:3122
#7 0x0000000801f9f6a0 in QCoreApplication::notifyInternal (this=0x7fffffffe6f0, receiver=0x8035190c0, event=0x8036010a0) at kernel/qcoreapplication.cpp:537
#8 0x0000000801fa07f5 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x803513080) at qcoreapplication.h:207
#9 0x0000000801fa09d5 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=-1) at kernel/qcoreapplication.cpp:1009
#10 0x0000000801fbebef in postEventSourceDispatch (s=Variable "s" is not available.
) at kernel/qeventdispatcher_glib.cpp:214
#11 0x000000080237c874 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.0
#12 0x000000080237fb2d in g_main_context_check () from /usr/local/lib/libglib-2.0.so.0
#13 0x000000080237ffee in g_main_context_iteration () from /usr/local/lib/libglib-2.0.so.0
#14 0x0000000801fbf17e in QEventDispatcherGlib::processEvents (this=0x803516090, flags=@0x7fffffffe5f0) at kernel/qeventdispatcher_glib.cpp:345
#15 0x000000080092f70f in QGuiEventDispatcherGlib::processEvents (this=Variable "this" is not available.
) at kernel/qguieventdispatcher_glib.cpp:198
#16 0x0000000801f9ecd3 in QEventLoop::processEvents (this=Variable "this" is not available.
) at kernel/qeventloop.cpp:147
#17 0x0000000801f9ee08 in QEventLoop::exec (this=0x7fffffffe690, flags=@0x7fffffffe6a0) at kernel/qeventloop.cpp:189
#18 0x0000000801fa0ac2 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:766
#19 0x00000008008c0638 in QApplication::exec () at kernel/qapplication.cpp:3060
#20 0x000000000042dbe3 in main (argc=1, argv=Variable "argv" is not available.
) at main.cpp:16
(gdb)

Markus

This bug was already reported here. It's fixed in trunk and it shouldn't occur anymore in the next version (which will be released around next Monday).

Regards,
Michał