Pritpal:

Tests with Harbour fresh checkout:
 * $Id: ChangeLog 14189 2010-03-19 13:11:59Z vszakats $
 2010-03-19 14:04 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)


os2qt development has moved to Qt462
Current tests with os2qt462 r701

so we have a newer Harbour and newer os2Qt462

With our 4 specific error cases
- one has been fixed (a)
- one changed behaviour (c)
- two remain with same behaviour (b, d)


a) demoqt.prg
 Case: QT_QWIDGET_RESIZE(0)
       PMMERGE 3:0007f6f8
 Fixed
 For first time in history I see demoqt.exe running on OS/2


b) demoqt.prg, MsgInfo( "Testing" ) added
 Case: Object destruction
       LIBC063 0:000669ca
 Remain
 Question: Is this a common problem in hbqt in rest of platforms, or
exist only in OS/2 ?

This is (1,2) output:

------------------------------------

demoqt.prg:127:MAIN(): HB_TR_ALWAYS
demoqt.prg:128:MAIN(): HB_TR_ALWAYS -----------------b-----------------

Exception c0000005 at address 0x1de369ca

    Exception Code:C0000005
    Exception Address:1DE369CA
    EAX:00000001  EBX:0290FC8C  ECX:0290FC94  EDX:00000001
    ESI:00000000  EDI:00000000  EBP:0030FB68
    CS:EIP:005B:1DE369CA  SS:ESP:0053:0030FB50
    DS:0053  ES:0053  FS:150B  GS:0000
    Flags:00010246
Called from MSGINFO(605) in demoqt.prg
Called from MAIN(131) in demoqt.prg

Killed by SIGSEGV
pid=0x45d1 ppid=0x459d tid=0x0001 slot=0x00a4 pri=0x0200 mc=0x0001
E:\HARBOUR103C\HARBOUR\CONTRIB\HBQT\TESTS\DEMOQT.EXE
LIBC063 0:000669ca
cs:eip=005b:1de369ca      ss:esp=0053:0030fb50      ebp=0030fb68
 ds=0053      es=0053      fs=150b      gs=0000     efl=00010246
eax=00000001 ebx=0290fc8c ecx=0290fc94 edx=00000001 edi=00000000
esi=00000000
Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it.

------------------------------------


c) hbide project
 Case: hbide crash at startup
       LIBC063 0:000669ca
 Changed behaviour

My description was, for previous behaviour:
-----------------------------
New failure

When run, show logo, build window with content and CRASH in 5 seconds
without human intervention. Tested many times and same behaviour

Something changed in hbqt*, hbide. With 13976 was running with some
failures, but do not crash in 5 seconds
Initial window size is different in both versions
-----------------------------


In current behaviour, show logo and never build window, then crash

This is (1,2) output:

------------------------------------

idemisc.prg:925:HBIDE_DBG(): HB_TR_ALWAYS NIL
QWidget::setLayout: Attempting to set QLayout "" on QDockWidget
"dockProjectTree", which already has a layout
QWidget::setLayout: Attempting to set QLayout "" on QDockWidget
"dockEditorTabs", which already has a layout
QWidget::setLayout: Attempting to set QLayout "" on QDockWidget
"dockFuncList", which already has a layout
QWidget::setLayout: Attempting to set QLayout "" on QDockWidget
"dockSkltnsTree", which already has a layout
QWidget::setLayout: Attempting to set QLayout "" on QDockWidget
"dockHelp", which already has a layout
QWidget::setLayout: Attempting to set QLayout "" on QDockWidget
"dockSkeleton", which already has a layout
QWidget::setLayout: Attempting to set QLayout "" on QDockWidget
"dockFindInFiles", which already has a layout
QWidget::setLayout: Attempting to set QLayout "" on QDockWidget
"dockThemes", which already has a layout
QWidget::setLayout: Attempting to set QLayout "" on QDockWidget
"dockProperties", which already has a layout
QWidget::setLayout: Attempting to set QLayout "" on QDockWidget
"dockEnvironments", which already has a layout
QWidget::setLayout: Attempting to set QLayout "" on QDockWidget
"dockCompileResults", which already has a layout
QWidget::setLayout: Attempting to set QLayout "" on QDockWidget
"dockLinkResults", which already has a layout
QWidget::setLayout: Attempting to set QLayout "" on QDockWidget
"dockOutputResults", which already has a layout
QWidget::setLayout: Attempting to set QLayout "" on QDockWidget
"dockDocViewer", which already has a layout
QWidget::setLayout: Attempting to set QLayout "" on QDockWidget
"dockDocWriter", which already has a layout
QWidget::setLayout: Attempting to set QLayout "" on QDockWidget
"dockFunctions", which already has a layout

Exception c0000005 at address 0x1de369ca

    Exception Code:C0000005
    Exception Address:1DE369CA
    EAX:00000001  EBX:02C00F6C  ECX:02C00F74  EDX:00000001
    ESI:00000000  EDI:02C00F9C  EBP:005CFCE8
    CS:EIP:005B:1DE369CA  SS:ESP:0053:005CFCD0
    DS:0053  ES:0053  FS:150B  GS:0000
    Flags:00010246
Called from HBIDE:CREATE(487) in hbide.prg
Called from MAIN(117) in hbide.prg

Killed by SIGSEGV
pid=0x45f7 ppid=0x459d tid=0x0001 slot=0x00a2 pri=0x0200 mc=0x0001
E:\HARBOUR103C\HARBOUR\CONTRIB\HBIDE\HBIDE.EXE
LIBC063 0:000669ca
cs:eip=005b:1de369ca      ss:esp=0053:005cfcd0      ebp=005cfce8
 ds=0053      es=0053      fs=150b      gs=0000     efl=00010246
eax=00000001 ebx=02c00f6c ecx=02c00f74 edx=00000001 edi=02c00f9c
esi=00000000
Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it.
------------------------------------


d) demoxbp.prg
 Case: QPIXMAP:SCALED(0)
       LIBC063 0:000669ca
 Remain

This is (1,2) output:

------------------------------------

Exception c0000005 at address 0x1de369ca

    Exception Code:C0000005
    Exception Address:1DE369CA
    EAX:00000001  EBX:02A9D15C  ECX:02A9D164  EDX:00000001
    ESI:00000000  EDI:02A9D124  EBP:0039F728
    CS:EIP:005B:1DE369CA  SS:ESP:0053:0039F710
    DS:0053  ES:0053  FS:150B  GS:0000
    Flags:00010246
Called from QPIXMAP:SCALED(0) in ../../../TQPixmap.prg
Called from XBPSTATUSBAR:SETPOINTER(0) in ../../../xbpwindow.prg
Called from BUILD_STATUSBAR(531) in demoxbp.prg
Called from BUILDADIALOG(168) in demoxbp.prg
Called from _BUILDADIALOG(107) in demoxbp.prg
Called from MAIN(98) in demoxbp.prg

Killed by SIGSEGV
pid=0x4612 ppid=0x459d tid=0x0001 slot=0x0096 pri=0x0200 mc=0x0001
E:\HARBOUR103C\HARBOUR\CONTRIB\HBXBP\TESTS\DEMOXBP.EXE
LIBC063 0:000669ca
cs:eip=005b:1de369ca      ss:esp=0053:0039f710      ebp=0039f728
 ds=0053      es=0053      fs=150b      gs=0000     efl=00010246
eax=00000001 ebx=02a9d15c ecx=02a9d164 edx=00000001 edi=02a9d124
esi=00000000
Process dumping was disabled, use DUMPPROC / PROCDUMP to enable it.
------------------------------------


Previously I reported cases to NetLabs/osqt development

Below are included last response from Dmitry, his "general thoughts" may
be useful

David Macias


David Macias wrote:

... coming from Ticket 133 "API_FPU_CW_Wrappers.h errors"

We have our firsts Harbour+os2gcc442+hbqt+qt461 applications running,
but with
errors still
Many crashes with "Killed by SIGSEGV"

I'm not familiar with Harbour, so the information you provide here
doesn't give
me enough detail to say what can cause the crashes you have.

First of all, you need to build a debug version of Qt and a debug
version of
Harbour and then try to reproduce your crashes using these debug builds
-- I
don't know about Harbour, but Qt may print some useful messages to the
console
that can give us a hint.

Next, if the above doesn't help, you will need to get an OS/2 debugger
and run
the debug build from there. Using the debugger, we will be able to get
the call
stack at a time of the crash and therefore locate the exact place in the
source
code responsible for this.

Ask me if you need more details on how to get all this debug stuff.

Now, here are some general thoughts on the problems you mentioned.

Regarding broken classes. Of course, there may still be some
OS/2-specific bugs
in our port of Qt, but all key classes generally "behave properly", at
least in
a hundred Qt applications me and other people tried and tested -- you
can see it
yourself if you install the demos and examples package and try to run
applications out there.

Regarding the order of size events, I must say that Qt for OS/2 indeed
may (and
sometimes will) generate events in a different order compared to other
platforms: this often depends on the Presentation Manager and there is
nothing
we can do about it. In general, application should not rely on the
particular
event order because it is not guaranteed by the design of Qt.

Regarding the object destruction in Qt. I don't know if this is relevant
or not,
but Qt uses a lot of global and local static objects (in terms of C++)
that get
automatically constructed at program startup and destroyed at
termination. In
C++, the order in which these objects are constructed and destructed, is
not
guaranteed. I found one bug related to this issue in Qt itself (see r599
in the
SVN) but there may be more.



_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to