[Kmymoney-devel] [Bug 283538] New: Crash after transaction assignment
Ralf Habacker
ralf.habacker at freenet.de
Fri Oct 7 13:28:19 UTC 2011
https://bugs.kde.org/show_bug.cgi?id=283538
Summary: Crash after transaction assignment
Product: kmymoney4
Version: SVN trunk
Platform: Unlisted Binaries
OS/Version: MS Windows
Status: NEW
Severity: crash
Priority: NOR
Component: general
AssignedTo: kmymoney-devel at kde.org
ReportedBy: ralf.habacker at freenet.de
Created an attachment (id=64313)
--> (http://bugs.kde.org/attachment.cgi?id=64313)
ofx example file
Version: SVN trunk (using Devel)
OS: MS Windows
1. Opened
1. I imported the sgml examples of the libofx library int
2. I openend one of the trans
Reproducible: Always
Steps to Reproduce:
1. Start KMymoney
2. Create new file (I used euro, no checking account creating, german skr03
account type)
3. import the (appended) sgml examples of the libofx library (renamed to .ofx)
into account "Finanzkonten 1:1200 Bankkonto"
4. Open the first transaction, assign a category, change the day to current
date
5. press enter button
Actual Results:
it crashes
The stack trace is
QtGuid4.dll!QWidget::testAttribute_helper(Qt::WidgetAttribute attribute)
Zeile 10912 + 0x1b BytesC++
QtGuid4.dll!QWidget::testAttribute(Qt::WidgetAttribute attribute) Zeile
1032C++
QtGuid4.dll!QWinInputContext::update() Zeile 377 + 0xa BytesC++
QtGuid4.dll!QWidget::setInputMethodHints(QFlags<enum Qt::InputMethodHint>
hints) Zeile 9350C++
QtGuid4.dll!QDateTimeEditPrivate::init(const QVariant & var) Zeile 2373C++
QtGuid4.dll!QDateTimeEdit::QDateTimeEdit(const QVariant & var, QVariant::Type
parserType, QWidget * parent) Zeile 217C++
QtGuid4.dll!QDateEdit::QDateEdit(const QDate & date, QWidget * parent) Zeile
1609 + 0x4e BytesC++
kmm_widgets.dll!KMyMoneyDateEdit::KMyMoneyDateEdit(const QDate & date, QWidget
* parent) Zeile 60 + 0x22 BytesC++
kmm_widgets.dll!kMyMoneyDateInput::kMyMoneyDateInput(QWidget * parent,
Qt::AlignmentFlag flags) Zeile 125 + 0x2d BytesC++
kmymoney.exe!KMyMoneyTransactionForm::TransactionForm::slotSetTransaction(KMyMoneyRegister::Transaction
* transaction) Zeile 245 + 0xf BytesC++
kmymoney.exe!KMyMoneyTransactionForm::TransactionForm::clear() Zeile 222C++
kmymoney.exe!KGlobalLedgerView::clear() Zeile 333C++
kmymoney.exe!KGlobalLedgerView::loadView() Zeile 392C++
kmymoney.exe!KGlobalLedgerView::slotLoadView() Zeile 304C++
kmymoney.exe!KGlobalLedgerView::slotLeaveEditMode(const
KMyMoneyRegister::SelectedTransactions & list) Zeile 1302C++
kmymoney.exe!KGlobalLedgerView::qt_metacall(QMetaObject::Call _c, int _id,
void * * _a) Zeile 227 + 0xf BytesC++
QtCored4.dll!QMetaObject::metacall(QObject * object, QMetaObject::Call cl, int
idx, void * * argv) Zeile 238C++
QtCored4.dll!QMetaObject::activate(QObject * sender, const QMetaObject * m,
int local_signal_index, void * * argv) Zeile 3278 + 0x27 BytesC++
kmymoney.exe!TransactionEditor::finishEdit(const
KMyMoneyRegister::SelectedTransactions & _t1) Zeile 145 + 0x17 BytesC++
kmymoney.exe!TransactionEditor::~TransactionEditor() Zeile 92C++
kmymoney.exe!StdTransactionEditor::~StdTransactionEditor() Zeile 726 + 0x27
BytesC++
kmymoney.exe!StdTransactionEditor::`scalar deleting destructor'() + 0x16
BytesC++
kmymoney.exe!KMyMoneyApp::deleteTransactionEditor() Zeile 5160 + 0x23
BytesC++
kmymoney.exe!KMyMoneyApp::slotTransactionsEnter() Zeile 5226C++
kmymoney.exe!KMyMoneyApp::qt_metacall(QMetaObject::Call _c, int _id, void * *
_a) Zeile 481 + 0x8 BytesC++
QtCored4.dll!QMetaObject::metacall(QObject * object, QMetaObject::Call cl, int
idx, void * * argv) Zeile 238C++
QtCored4.dll!QMetaObject::activate(QObject * sender, const QMetaObject * m,
int local_signal_index, void * * argv) Zeile 3278 + 0x27 BytesC++
QtGuid4.dll!QAction::triggered(bool _t1) Zeile 263 + 0x15 BytesC++
QtGuid4.dll!QAction::activate(QAction::ActionEvent event) Zeile 1259C++
QtGuid4.dll!QAction::trigger() Zeile 218 + 0x11 BytesC++
QtGuid4.dll!QToolButton::nextCheckState() Zeile 1148C++
QtGuid4.dll!QAbstractButtonPrivate::click() Zeile 529C++
QtGuid4.dll!QAbstractButton::mouseReleaseEvent(QMouseEvent * e) Zeile 1122C++
QtGuid4.dll!QToolButton::mouseReleaseEvent(QMouseEvent * e) Zeile 722C++
QtGuid4.dll!QWidget::event(QEvent * event) Zeile 8296C++
QtGuid4.dll!QAbstractButton::event(QEvent * e) Zeile 1081C++
QtGuid4.dll!QToolButton::event(QEvent * event) Zeile 1164C++
QtGuid4.dll!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e)
Zeile 4481 + 0x11 BytesC++
QtGuid4.dll!QApplication::notify(QObject * receiver, QEvent * e) Zeile 4042 +
0x2f BytesC++
kdeui.dll!KApplication::notify(QObject * receiver, QEvent * event) Zeile 311
+ 0x13 BytesC++
QtCored4.dll!QCoreApplication::notifyInternal(QObject * receiver, QEvent *
event) Zeile 787 + 0x15 BytesC++
QtCored4.dll!QCoreApplication::sendSpontaneousEvent(QObject * receiver, QEvent
* event) Zeile 218 + 0x38 BytesC++
QtGuid4.dll!QApplicationPrivate::sendMouseEvent(QWidget * receiver,
QMouseEvent * event, QWidget * alienWidget, QWidget * nativeWidget, QWidget * *
buttonDown, QPointer<QWidget> & lastMouseReceiver, bool spontaneous) Zeile
3139 + 0xe BytesC++
QtGuid4.dll!QETWidget::translateMouseEvent(const tagMSG & msg) Zeile 3321 +
0x2a BytesC++
QtGuid4.dll!QtWndProc(HWND__ * hwnd, unsigned int message, unsigned int
wParam, long lParam) Zeile 1659 + 0xc BytesC++
user32.dll!75edc4e7()
[Unten angegebene Rahmen sind möglicherweise nicht korrekt und/oder fehlen,
keine Symbole geladen für user32.dll]
user32.dll!75edc5e7()
user32.dll!75edc590()
user32.dll!75edcc19()
user32.dll!75edcc70()
QtCored4.dll!QEventDispatcherWin32::processEvents(QFlags<enum
QEventLoop::ProcessEventsFlag> flags) Zeile 810C++
QtGuid4.dll!QGuiEventDispatcherWin32::processEvents(QFlags<enum
QEventLoop::ProcessEventsFlag> flags) Zeile 1170 + 0x15 BytesC++
QtCored4.dll!QEventLoop::processEvents(QFlags<enum
QEventLoop::ProcessEventsFlag> flags) Zeile 150C++
QtCored4.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag>
flags) Zeile 201 + 0x2d BytesC++
QtCored4.dll!QCoreApplication::exec() Zeile 1064 + 0x15 BytesC++
QtGuid4.dll!QApplication::exec() Zeile 3756C++
kmymoney.exe!runKMyMoney(KApplication * a, KStartupLogo * splash) Zeile 282 +
0x8 BytesC++
kmymoney.exe!main(int argc, char * * argv) Zeile 181 + 0xd BytesC++
kmymoney.exe!WinMain(HINSTANCE__ * instance, HINSTANCE__ * prevInstance, char
* __formal, int cmdShow) Zeile 131 + 0x12 BytesC++
kmymoney.exe!__tmainCRTStartup() Zeile 547 + 0x2c BytesC
kmymoney.exe!WinMainCRTStartup() Zeile 371C
kernel32.dll!772eed6c()
ntdll.dll!775437f5()
ntdll.dll!775437c8()
kmymoney.exe!Ui_LendBorrowWizardPageDecl::setupUi(QWizardPage *
LendBorrowWizardPageDecl) Zeile 114 + 0x1a BytesC++
In the below listed code snippet from strack frame 3
void QWinInputContext::update()
{
QWidget *w = focusWidget();
if(!w)
return;
Q_ASSERT(w->testAttribute(Qt::WA_WState_Created));
HIMC imc = getContext(w->effectiveWinId());
if (!imc)
return;
QFont f = qvariant_cast<QFont>(w->inputMethodQuery(Qt::ImFont));
HFONT hf;
hf = f.handle();
The first instruction returns the widget containing the current focus.
QWidget *w = focusWidget();
In the msvc ide i can see that the returned object has already been free'd.
- w 0x0c577270 {classname="QWidget" superclassname="QObject"}
QWidget *
+ data 0xfeeefeee {winid=??? widget_attributes=??? window_flags={...}
...} QWidgetData *
0x0C577270 ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe
ee fe ee îþîþîþîþîþîþîþîþîþîþîþîþî
0x0C577289 fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee
fe ee fe þîþîþîþîþîþîþîþîþîþîþîþîþ
0x0C5772A2 ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe
ee fe ee îþîþîþîþîþîþîþîþîþîþîþîþî
0x0C5772BB fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee
fe ee fe þîþîþîþîþîþîþîþîþîþîþîþîþ
0x0C5772D4 ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe
ee fe ee îþîþîþîþîþîþîþîþîþîþîþîþî
0x0C5772ED fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee
fe ee fe þîþîþîþîþîþîþîþîþîþîþîþîþ
0x0C577306 ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe ee fe
ee fe ee îþîþîþîþîþîþîþîþîþîþîþîþî
0x0C57731F fe ee fe ee fe ee fe ee fe
Accessing members of this object in QWidget::testAttribute_helper from stack
frame 1 is the reason for the crash.
Expected Results:
it should not crash
--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the KMyMoney-devel
mailing list