Hi Przemek,

 

In the last few weeks I tried to test in a Vista environment the hbqt and
hbxbp libraries with the hbide, demoxpb and demoqt.

The scope of my tests is the Qt 4.5 last patch release (4.5.3) and the new
Qt 4.6 first released (4.6.0) with two development environments:

1.      TDM-MinGW with GCC 4.4.1.

2.      VS2008 with the latest SP2.

The all test variants goes well, just in two cases I encountered GPF-s:

A.     demoqt and Qt 4.5.3 with TDM-MinGW

B.     demoqt and Qt 4.6.0 with TDM-MinGW

In both cases the crash appears with default build at the first delete
operator execution tentative.

In the GDB with the Application Verifier enabled the crash appears as:

warning: HEAP[demoqt.exe]:

warning: Invalid address specified to RtlSizeHeap( 003B0000, 01A99C08 )

 

 

Program received signal SIGTRAP, Trace/breakpoint trap.

0x77068b2f in ntdll!DbgUiConvertStateChangeStructure ()

    from C:\Windows\system32\ntdll.dll

 

After searching for similar issues on the net, I concluded that the conflict
appears due to the dual memory handling conflicts in this environment.

Going deeper in this issue, I had positive test with USE_DL_PREFIX macro
define at habour default build. An alternative solution is the harbour
default build with HB_FM_STD_ALLOC macro define.

If we build the harbour with cpp mode or build the demoqt with MT and
default harbour build, everything is OK, the demoqt exits without crash.

 

My question is, do we need to force  the USE_DL_PREFIX macro for the mingw
default builds as for MSC?

 

Or maybe there are some other approaches like  HB_FM_STD_ALLOC macro
definition.

 

Best regards,

István

 

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

Reply via email to