Version: 1.1.3 (KOffice 1.6.3) (using KDE KDE 3.5.6) Installed from: Ubuntu Packages OS: Linux How to reproduce the bug: - Create a table with more that 101 fields - Edit the table - select the last field The application crashes. The reason for the crash is: Variable MAX_FIELDS is set to 101 in widget/tableview/kexidataawarepropertyset.cpp Some vectors are sized based on this value. Suggestion: - Increase MAX_FIELDS value to allow supporting big flat tables (around 200 could be fine) - Implement error handling to avoid crashes
Can you provide a backtrace of the crash please? Read http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports for more info.
Created attachment 21303 [details] backtrace and original file
Pasting the bt here, since that makes it easier for bug hunters. [KCrash handler] #6 0xb69a5656 in QObject::connect () from /usr/lib/libqt-mt.so.3 #7 0xb6969afc in QGuardedPtrPrivate::reconnect () from /usr/lib/libqt-mt.so.3 #8 0xb7bc4bb5 in KexiMainWindowImpl::propertySetSwitched () from /usr/lib/libkeximain.so.2 #9 0xb7c7ae99 in KexiViewBase::propertySetSwitched () from /usr/lib/libkexicore.so.2 #10 0xb58c94d5 in KexiTableDesignerView::propertySetSwitched () from /usr/lib/kde3/kexihandler_table.so #11 0xb76e7a1b in KexiDataAwarePropertySet::slotCellSelected () from /usr/lib/libkexidatatable.so.2 #12 0xb770ad92 in KexiDataAwarePropertySet::qt_invoke () from /usr/lib/libkexidatatable.so.2 #13 0xb69a39b8 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #14 0xb76eee91 in KexiTableView::cellSelected () from /usr/lib/libkexidatatable.so.2 #15 0xb76f6e09 in KexiDataAwareObjectInterface::setCursorPosition () from /usr/lib/libkexidatatable.so.2 #16 0xb76ec8a2 in KexiTableView::handleContentsMousePressOrRelease () from /usr/lib/libkexidatatable.so.2 #17 0xb76ee5b6 in KexiTableView::contentsMousePressEvent () from /usr/lib/libkexidatatable.so.2 #18 0xb6ad9001 in QScrollView::viewportMousePressEvent () from /usr/lib/libqt-mt.so.3 #19 0xb6ada474 in QScrollView::eventFilter () from /usr/lib/libqt-mt.so.3 #20 0xb76f1fa7 in KexiTableView::eventFilter () from /usr/lib/libkexidatatable.so.2 #21 0xb69a2e38 in QObject::activate_filters () from /usr/lib/libqt-mt.so.3 #22 0xb69a2eb6 in QObject::event () from /usr/lib/libqt-mt.so.3 #23 0xb69da58f in QWidget::event () from /usr/lib/libqt-mt.so.3 #24 0xb693aa60 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3 #25 0xb693cc1e in QApplication::notify () from /usr/lib/libqt-mt.so.3 #26 0xb70fece2 in KApplication::notify () from /usr/lib/libkdecore.so.4 #27 0xb68cd25d in QApplication::sendSpontaneousEvent () from /usr/lib/libqt-mt.so.3 #28 0xb68cbec2 in QETWidget::translateMouseEvent () from /usr/lib/libqt-mt.so.3 #29 0xb68c9fac in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3 #30 0xb68e1180 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3 #31 0xb6955136 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3 #32 0xb6954f46 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3 #33 0xb693c609 in QApplication::exec () from /usr/lib/libqt-mt.so.3 #34 0xb7f258da in kdemain () from /usr/lib/libkdeinit_kexi.so #35 0x08048552 in ?? () #36 0xb7cdbebc in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6 #37 0x080484a1 in ?? ()
I guess this is already fixed: r688748 | staniek | 2007-07-16 20:56:24 +0200 (Mon, 16 Jul 2007) - thoushand objects can be handled by internal dictionaries now, not hundred
Hope 1009 fields could be sane limit. Note that there is no tarball available (yet?), the fix is in SVN only. For convenience I provided this patch now: http://kexi-project.org/wiki/wikiview/index.php?Kexi1.1.3_Patches