View Issue Details

IDProjectCategoryView StatusLast Update
0023161LazarusWidgetsetpublic2012-10-20 08:19
ReporterJuha Manninen Assigned ToZeljan Rikalo  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version1.1 (SVN) 
Summary0023161: Lazarus with QT bindings crashed when mouse moves over a hint
DescriptionThis is related to the crashes I had earlier with QT bindings but it is not identical.
However this is the first time I can fully reproduce the error.
I have Turbopower IPro installed. It affects the hint window.

To reproduce:
1. Find a property that has a big hint window. TEdit.Text or TComboBox.Text is good.
2. Keep mouse pointer over the property so the hint window opens.
3. Move the mouse pointer upwards on the hint window. Around the second paragraph counting from below it crashes.

Note, the crash does not happen because a hint window would close during an event. The mouse pointer is over the hint and it stays open until the crash.

The "second paragraph from below" does not make sense to me but that is how it happens.
I got similar crashes also with smaller hint windows but I could not fully reproduce it then.

The attached screenshot shows unit Object Inspector. Mouse is over "Text" at line 1590.

Linux Mint 64-bit, AMD 3-core computer, KDE 4.9.2, QT 4.8.2.
Distlay card was upgraded to GeForce GT 630 since the last reports but it should not affect this issue.
Additional InformationProgram received signal SIGSEGV, Segmentation fault.
0x00000000005d81fc in fpc_check_object ()
(gdb) bt
#0 0x00000000005d81fc in fpc_check_object ()
0000001 0x00007fffffffcd70 in ?? ()
0000002 0x0000000000942f1d in CANSENDLCLMESSAGE (this=0x7fffcecdc290) at qt/qtwidgets.pas:2119
0000003 0x0000000000946bae in SLOTMOUSEMOVE (this=0x7fffcecdc290, SENDER=0x2299b50, EVENT=0x7fffffffd620) at qt/qtwidgets.pas:3496
0000004 0x00000000009436a0 in EVENTFILTER (this=0x7fffcecdc290, SENDER=0x2299b50, EVENT=0x7fffffffd620) at qt/qtwidgets.pas:2385
0000005 0x000000000096868a in EVENTFILTER (this=0x7fffcecdc290, SENDER=0x2299b50, EVENT=0x7fffffffd620) at qt/qtwidgets.pas:14358
0000006 0x0000000000969ecf in VIEWPORTEVENTFILTER (this=0x7fffcfb2bdb0, EVENT=0x7fffffffd620, RETVAL=0x7fffffffd06f) at qt/qtwidgets.pas:14830
0000007 0x00007ffff7727b7d in QLCLAbstractScrollArea::viewportEvent(QEvent*) () from /usr/local/lib/libQt4Pas.so.5
0000008 0x00007ffff3d71498 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0x2299b50, event=0x7fffcecdc290) at kernel/qcoreapplication.cpp:1025
0000009 0x00007ffff45e177f in notify_helper (e=0x7fffffffd620, receiver=0x2299b50, this=0x20f9bf0) at kernel/qapplication.cpp:4552
0000010 QApplicationPrivate::notify_helper (this=0x20f9bf0, receiver=0x2299b50, e=0x7fffffffd620) at kernel/qapplication.cpp:4528
0000011 0x00007ffff45e6f2f in QApplication::notify (this=<optimized out>, receiver=0x7fffcecdc290, e=0x7fffffffd620) at kernel/qapplication.cpp:4099
0000012 0x00007ffff3d7130c in QCoreApplication::notifyInternal (this=0x20f9bd0, receiver=0x2299b50, event=0x7fffffffd620) at kernel/qcoreapplication.cpp:915
0000013 0x00007ffff45e2782 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
0000014 QApplicationPrivate::sendMouseEvent (receiver=0x2299b50, event=0x7fffffffd620, alienWidget=0x2299b50, nativeWidget=0x2791270, buttonDown=0x0, lastMouseReceiver=..., spontaneous=true)
    at kernel/qapplication.cpp:3167
0000015 0x00007ffff4661b15 in QETWidget::translateMouseEvent (this=0x2791270, event=<optimized out>) at kernel/qapplication_x11.cpp:4617
0000016 0x00007ffff4660ace in QApplication::x11ProcessEvent (this=0x20f9bd0, event=0x7fffffffdef0) at kernel/qapplication_x11.cpp:3732
0000017 0x00007ffff468a052 in x11EventSourceDispatch (s=0x20fc990, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
0000018 0x00007ffff1a85d53 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
0000019 0x00007ffff1a860a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
0000020 0x00007ffff1a86164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
0000021 0x00007ffff3da089f in QEventDispatcherGlib::processEvents (this=0x20fa250, flags=...) at kernel/qeventdispatcher_glib.cpp:424
0000022 0x00007ffff4689cde in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
0000023 0x00007ffff3d7558f in QCoreApplication::processEvents (flags=...) at kernel/qcoreapplication.cpp:1102
0000024 0x00007ffff76a629f in QCoreApplication_processEvents () from /usr/local/lib/libQt4Pas.so.5
0000025 0x0000000000812fce in APPWAITMESSAGE (this=0x7ffff7f7df50) at qt/qtobject.inc:269
0000026 0x0000000000636181 in IDLE (this=0x7ffff7f7c350, WAIT=true) at include/application.inc:411
0000027 0x0000000000639fc7 in HANDLEMESSAGE (this=0x7ffff7f7c350) at include/application.inc:1275
0000028 0x000000000063a715 in RUNLOOP (this=0x7ffff7f7c350) at include/application.inc:1407
0000029 0x0000000000812fb6 in APPRUN (this=0x7ffff7f7df50, ALOOP=...) at qt/qtobject.inc:252
0000030 0x000000000063a699 in RUN (this=0x7ffff7f7c350) at include/application.inc:1395
0000031 0x00000000005d6053 in main () at lazarus.pp:115
TagsNo tags attached.
Fixed in Revision39141
LazTarget-
WidgetsetQT
Attached Files

Activities

2012-10-18 21:51

 

ComboBoxHint.jpg (62,323 bytes)   
ComboBoxHint.jpg (62,323 bytes)   

Zeljan Rikalo

2012-10-19 05:44

developer   ~0063284

What do I need to install ? Turbopower IPro is enough ? or there's something else I need to configure ?

Zeljan Rikalo

2012-10-19 06:16

developer   ~0063286

Very interesting. I've just changed getVisible by IsValidHandle in CanSendLCLMessage and got another stack trace which finishes it's life in qt library.
Program received signal SIGSEGV, Segmentation fault.
QCoreApplication::notifyInternal (this=0x9b9ddf0, receiver=0x9dccac8, event=0xbfffda80) at kernel/qcoreapplication.cpp:775
775 ++threadData->loopLevel;
(gdb) bt
#0 QCoreApplication::notifyInternal (this=0x9b9ddf0, receiver=0x9dccac8, event=0xbfffda80) at kernel/qcoreapplication.cpp:775
0000001 0x021bfa73 in sendEvent (this=0xa053e78, spontaneous=false) at ../../src/corelib/kernel/qcoreapplication.h:215
0000002 QWidgetPrivate::hideChildren (this=0xa053e78, spontaneous=false) at kernel/qwidget.cpp:7823
0000003 0x021bf9ab in QWidgetPrivate::hideChildren (this=0xa0519a8, spontaneous=false) at kernel/qwidget.cpp:7818
0000004 0x021bf9ab in QWidgetPrivate::hideChildren (this=0x9c09c08, spontaneous=false) at kernel/qwidget.cpp:7818
0000005 0x021bfbe5 in QWidgetPrivate::hide_helper (this=0x9c09c08) at kernel/qwidget.cpp:7562
0000006 0x021c8f90 in QWidget::setVisible (this=0x9e381d0, visible=false) at kernel/qwidget.cpp:7734
0000007 0x02be62bd in QWidget_setVisible (handle=0x9e381d0, visible=false) at src/qwidget_c.cpp:848
0000008 0x0828b36f in TQTWIDGET__SETVISIBLE (AVISIBLE=false, this=<error reading variable>) at ./qt/qtwidgets.pas:4462
0000009 0x082a190f in TQTHINTWINDOW__SETVISIBLE (AVISIBLE=false, this=<error reading variable>) at ./qt/qtwidgets.pas:15491
0000010 0x082bca1a in TQTWSCUSTOMFORM__SHOWHIDE (AWINCONTROL=0xb38dcd60, pvmt=0xb7b3a260) at ./qt/qtwsforms.pp:519
0000011 0x08200296 in TWINCONTROL__DOSENDSHOWHIDETOINTERFACE (this=<error reading variable>) at ./include/wincontrol.inc:8169
0000012 0x082007b3 in TWINCONTROL__CMSHOWINGCHANGED (MESSAGE=..., this=<error reading variable>) at ./include/wincontrol.inc:8353
0000013 0x080a2d40 in TCUSTOMFORM__CMSHOWINGCHANGED (MESSAGE=..., this=<error reading variable>) at ./include/customform.inc:641
0000014 0x08074246 in SYSTEM_TOBJECT_$__DISPATCH$formal ()
0000015 0x080a2c80 in TCUSTOMFORM__WMHELP (MESSAGE=..., this=<error reading variable>) at ./include/customform.inc:628
0000016 0x081f9bae in TWINCONTROL__WNDPROC (MESSAGE=..., this=<error reading variable>) at ./include/wincontrol.inc:5322
0000017 0x080a45d7 in TCUSTOMFORM__WNDPROC (THEMESSAGE=..., this=<error reading variable>) at ./include/customform.inc:1436
0000018 0x082049e6 in TCONTROL__PERFORM (MSG=45081, WPARAM=0, LPARAM=0, this=<error reading variable>) at ./include/control.inc:1443
---Type <return> to continue, or q <return> to quit---
0000019 0x081f7999 in CHANGESHOWING (BSHOW=false, parentfp=0xbfffdf38) at ./include/wincontrol.inc:4306
0000020 0x081f7901 in TWINCONTROL__UPDATESHOWING (this=<error reading variable>) at ./include/wincontrol.inc:4356
0000021 0x080a781d in TCUSTOMFORM__UPDATESHOWING (this=<error reading variable>) at ./include/customform.inc:2687
0000022 0x081fb139 in TWINCONTROL__UPDATECONTROLSTATE (this=<error reading variable>) at ./include/wincontrol.inc:6164
0000023 0x08200142 in TWINCONTROL__CMVISIBLECHANGED (MESSAGE=..., this=<error reading variable>) at ./include/wincontrol.inc:8115
0000024 0x08074246 in SYSTEM_TOBJECT_$__DISPATCH$formal ()
0000025 0x082000f0 in TWINCONTROL__GETDEVICECONTEXT (WINDOWHANDLE=45067, this=<error reading variable>) at ./include/wincontrol.inc:8100
0000026 0x081f9bae in TWINCONTROL__WNDPROC (MESSAGE=..., this=<error reading variable>) at ./include/wincontrol.inc:5322
0000027 0x080a45d7 in TCUSTOMFORM__WNDPROC (THEMESSAGE=..., this=<error reading variable>) at ./include/customform.inc:1436
0000028 0x082049e6 in TCONTROL__PERFORM (MSG=45067, WPARAM=0, LPARAM=0, this=<error reading variable>) at ./include/control.inc:1443
0000029 0x0820b6ff in TCONTROL__SETVISIBLE (VALUE=false, this=<error reading variable>) at ./include/control.inc:4252
0000030 0x080a2955 in TCUSTOMFORM__SETVISIBLE (VALUE=false, this=<error reading variable>) at ./include/customform.inc:491
0000031 0x084beddc in TSOURCENOTEBOOK__HIDEHINT (this=<error reading variable>) at sourceeditor.pp:6878
0000032 0x084bf297 in TSOURCENOTEBOOK__MAYBEHIDEHINT (this=<error reading variable>) at sourceeditor.pp:6938
0000033 0x084c28b4 in TSOURCENOTEBOOK__ONAPPLICATIONUSERINPUT (SENDER=0xb0f97090, MSG=512, this=<error reading variable>)
    at sourceeditor.pp:7984
0000034 0x080b03ba in TAPPLICATION__NOTIFYUSERINPUTHANDLER (SENDER=0xb0f97090, MSG=512, this=<error reading variable>)
    at ./include/application.inc:1628
0000035 0x0809e235 in NOTIFYAPPLICATIONUSERINPUT (TARGET=0xb0f97090, MSG=512) at forms.pp:1762
---Type <return> to continue, or q <return> to quit---
0000036 0x08289589 in TQTWIDGET__SLOTMOUSEMOVE (SENDER=0xa055048, EVENT=0xbfffe7e4, this=<error reading variable>) at ./qt/qtwidgets.pas:3497
0000037 0x082876b8 in TQTWIDGET__EVENTFILTER (SENDER=0xa055048, EVENT=0xbfffe7e4, this=<error reading variable>) at ./qt/qtwidgets.pas:2388
0000038 0x0829f59d in TQTVIEWPORT__EVENTFILTER (SENDER=0xa055048, EVENT=0xbfffe7e4, this=<error reading variable>) at ./qt/qtwidgets.pas:14364
0000039 0x082a03e6 in TQTCUSTOMCONTROL__VIEWPORTEVENTFILTER (EVENT=0xbfffe7e4, RETVAL=0xbfffe31f, this=<error reading variable>)
    at ./qt/qtwidgets.pas:14836
0000040 0x02c787c3 in QLCLAbstractScrollArea::viewportEvent (this=0x9dccac8, event=0xbfffe7e4) at src/qlclabstractscrollarea.h:40
0000041 0x02659295 in viewportEvent (this=0x9beea78, o=0xa055048, e=0xbfffe7e4) at widgets/qabstractscrollarea_p.h:100
0000042 QAbstractScrollAreaFilter::eventFilter (this=0x9beea78, o=0xa055048, e=0xbfffe7e4) at widgets/qabstractscrollarea_p.h:116
0000043 0x073f6fea in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x9b9de00, receiver=0xa055048, event=0xbfffe7e4)
    at kernel/qcoreapplication.cpp:902
0000044 0x0216aea1 in QApplicationPrivate::notify_helper (this=0x9b9de00, receiver=0xa055048, e=0xbfffe7e4) at kernel/qapplication.cpp:4477
0000045 0x0217058d in QApplication::notify (this=0x9b9ddf0, receiver=0xa055048, e=0xbfffe7e4) at kernel/qapplication.cpp:4042
0000046 0x073f6e33 in QCoreApplication::notifyInternal (this=0x9b9ddf0, receiver=0xa055048, event=0xbfffe7e4) at kernel/qcoreapplication.cpp:787
0000047 0x0216be58 in sendSpontaneousEvent (receiver=0xa055048, event=0xbfffe7e4, alienWidget=0xa055048, nativeWidget=0x9e381d0, buttonDown=
    0x2ad1f00, lastMouseReceiver=..., spontaneous=true) at ../../src/corelib/kernel/qcoreapplication.h:218
0000048 QApplicationPrivate::sendMouseEvent (receiver=0xa055048, event=0xbfffe7e4, alienWidget=0xa055048, nativeWidget=0x9e381d0, buttonDown=
    0x2ad1f00, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3139
0000049 0x021f5ca4 in QETWidget::translateMouseEvent (this=0x9e381d0, event=0xbfffed1c) at kernel/qapplication_x11.cpp:4467
0000050 0x021f40d7 in QApplication::x11ProcessEvent (this=0x9b9ddf0, event=0xbfffed1c) at kernel/qapplication_x11.cpp:3593
---Type <return> to continue, or q <return> to quit---
0000051 0x0221f510 in x11EventSourceDispatch (s=0x9ba1340, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:148
0000052 0x00388192 in g_main_dispatch (context=0x9ba0490) at gmain.c:2149
#53 g_main_context_dispatch (context=0x9ba0490) at gmain.c:2702
#54 0x00388978 in g_main_context_iterate (context=0x9ba0490, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2780
0000055 0x00388c35 in g_main_context_iteration (context=0x9ba0490, may_block=1) at gmain.c:2843
0000056 0x07424bcd in QEventDispatcherGlib::processEvents (this=0x9b8d980, flags=...) at kernel/qeventdispatcher_glib.cpp:422
0000057 0x0221f186 in QGuiEventDispatcherGlib::processEvents (this=0x9b8d980, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
0000058 0x073fb002 in QCoreApplication::processEvents (flags=...) at kernel/qcoreapplication.cpp:979
0000059 0x02bb6419 in QCoreApplication_processEvents (flags=4) at src/qcoreapplication_c.cpp:105
0000060 0x081d7b33 in TQTWIDGETSET__APPWAITMESSAGE (this=<error reading variable>) at ./qt/qtobject.inc:269
0000061 0x080ad00f in TAPPLICATION__IDLE (WAIT=true, this=<error reading variable>) at ./include/application.inc:411
0000062 0x080af690 in TAPPLICATION__HANDLEMESSAGE (this=<error reading variable>) at ./include/application.inc:1275
0000063 0x080afa8e in TAPPLICATION__RUNLOOP (this=<error reading variable>) at ./include/application.inc:1407
0000064 0x081d7b11 in TQTWIDGETSET__APPRUN (ALOOP=0x80afa50 <TAPPLICATION__RUNLOOP>, this=<error reading variable>) at ./qt/qtobject.inc:252
0000065 0x080afa41 in TAPPLICATION__RUN (this=<error reading variable>) at ./include/application.inc:1395

Zeljan Rikalo

2012-10-19 09:28

developer   ~0063292

Please test and close if ok.

Juha Manninen

2012-10-20 08:19

developer   ~0063309

It works, thanks.
Now I realize the hint window was actually closing when the crash happened.

Issue History

Date Modified Username Field Change
2012-10-18 21:49 Juha Manninen New Issue
2012-10-18 21:49 Juha Manninen LazTarget => -
2012-10-18 21:49 Juha Manninen Widgetset => QT
2012-10-18 21:50 Juha Manninen Status new => assigned
2012-10-18 21:50 Juha Manninen Assigned To => Zeljan Rikalo
2012-10-18 21:51 Juha Manninen File Added: ComboBoxHint.jpg
2012-10-18 22:09 Juha Manninen Description Updated
2012-10-18 22:30 Juha Manninen Description Updated
2012-10-19 05:44 Zeljan Rikalo Note Added: 0063284
2012-10-19 05:44 Zeljan Rikalo Status assigned => feedback
2012-10-19 06:16 Zeljan Rikalo Note Added: 0063286
2012-10-19 09:28 Zeljan Rikalo Fixed in Revision => 39141
2012-10-19 09:28 Zeljan Rikalo Status feedback => resolved
2012-10-19 09:28 Zeljan Rikalo Resolution open => fixed
2012-10-19 09:28 Zeljan Rikalo Note Added: 0063292
2012-10-20 08:19 Juha Manninen Status resolved => closed
2012-10-20 08:19 Juha Manninen Note Added: 0063309