Hi Viktor,

> This is very easy to implement, only needs one extra 'mt=yes' line 
> in contrib/hbqt/hbqt[s].hbc files.

> However, before we do this, I'd like know if this is indeed the 
> _real_ solution to the problem. Turning on MT mode decreases performance 
> by ~30% (AFAIR) in mingw, so it's not a costless option. 

Here I can share just my experiences with the harbour Qt implementation
testing. I spent a lot of time to clarify the build problems with 4.6 and
after the successful building the resulted executable testing. My first
conclusion was that C++ mode force to the whole build results strange GPF
free executables. BTW I repeated these test with the previous Qt 4.5.3 and
the results was the same with the native Windows and linux (Fedora 12)
cross-builds: the C mode generates executables with strange GPF-s. As I
understand from your mails this was specific to my development environment,
hard to understand taking into consideration the cross-build experiences. So
I tried to enter deeper in this issue with the recommended TDM Mingw
offering GCC 4.4.1. and without forcing the C++ mode building.

See below a debug log (at the end of this mail).

In this log there are thread activities, so I tried to check that all the
things are ok serving multithreading. I was very surprised that the default
build offers just ST mode. After switching to the MT mode, the resulting
executables in C mode in native Windows and linux cross-builds do not
present the mentioned strange GPF-s. So please consider these just
experiments and not "theory".

Best regards,
István
  
GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-mingw32"...
(gdb) run
Starting program: c:\Downloads\harbour\contrib\hbide/hbide.exe
[New thread 2508.0x994]
warning:           new_QApplication                0 B 7884 KB
warning:           new_QWidget                     0 B 10180 KB
warning:           new_QVariant                    0 B 10188 KB
warning:   YES release_QVariant                    0 B 10204 KB
warning:           new_QEventLoop                  0 B 10316 KB
warning:           new_QPoint                      0 B 10548 KB
warning:           new_QPoint                      0 B 10548 KB
warning:   YES release_QPoint                      0 B 10548 KB
warning:   YES release_QPoint                      0 B 10548 KB
warning:           new_QSize                       0 B 10552 KB
warning:           new_QSize                       0 B 10552 KB
warning:   YES release_QSize                       0 B 10552 KB
warning:   YES release_QSize                       0 B 10552 KB
warning:           new_QTabWidget                  0 B 11052 KB
warning:           new_QTreeWidget                 0 B 12528 KB
warning:           new_QColor                      0 B 12872 KB
warning:   YES release_QColor                      0 B 12876 KB
warning:           new_QTreeWidgetItem             0 B 13292 KB
warning:           new_QTreeWidgetItem             0 B 13700 KB
warning:           new_QTreeWidgetItem             0 B 13700 KB
warning:           new_QTreeWidgetItem             0 B 13700 KB
warning:           new_QTreeWidgetItem             0 B 13744 KB
warning:           new_QTreeWidgetItem             0 B 13744 KB
warning:           new_QTreeWidgetItem             0 B 13744 KB
warning:           new_QTreeWidgetItem             0 B 13744 KB
warning:           new_QTreeWidgetItem             0 B 13744 KB
warning:           new_QTreeWidgetItem             0 B 13744 KB
warning:           new_QTreeWidgetItem             0 B 13744 KB
warning:           new_QTreeWidgetItem             0 B 13744 KB
warning:           new_QTreeWidgetItem             0 B 13744 KB
warning:           new_QTreeWidgetItem             0 B 13744 KB
warning:           new_QDockWidget                 0 B 14060 KB
warning:           new_QListView                   0 B 14124 KB
warning:           new_QStringList                 0 B 14128 KB
warning:           new_QStringListModel            0 B 14132 KB
warning:           new_QDockWidget                 0 B 14228 KB
[New thread 2508.0xa84]
[New thread 2508.0x1740]
warning:           new_QTextEdit                   0 B 15136 KB
warning:           new_QDockWidget                 0 B 15172 KB
warning:           new_QTextEdit                   0 B 15192 KB
warning:           new_QDockWidget                 0 B 15212 KB
warning:           new_QTextEdit                   0 B 15236 KB
warning:           new_QGridLayout                 0 B 15336 KB
warning:           new_QSplitter                   0 B 15416 KB
warning:           new_QTextCursor                 0 B 15464 KB
warning:           new_QFont                       0 B 15468 KB
warning:           new_QFontInfo                   0 B 15476 KB
warning:           new_QMenuBar                    0 B 15588 KB
warning:           new_QMenu                       0 B 15684 KB
warning:           new_QAction                     0 B 15744 KB
warning:           new_QAction                     0 B 15756 KB
warning:           new_QAction                     0 B 15760 KB
warning:           new_QMenu                       0 B 15764 KB
warning:           new_QAction                     0 B 15812 KB
warning:           new_QAction                     0 B 15816 KB
warning:           new_QAction                     0 B 15816 KB
warning:           new_QAction                     0 B 15816 KB
warning:           new_QAction                     0 B 15820 KB
warning:           new_QAction                     0 B 15820 KB
warning:           new_QAction                     0 B 15824 KB
warning:           new_QAction                     0 B 15824 KB
warning:           new_QToolBar                    0 B 15920 KB
warning:           new_QAction                     0 B 15936 KB
warning:           new_QAction                     0 B 15948 KB
warning:           new_QAction                     0 B 15956 KB
warning:           new_QAction                     0 B 15956 KB
warning:           new_QAction                     0 B 15956 KB
warning:           new_QAction                     0 B 15964 KB
warning:           new_QAction                     0 B 15964 KB
warning:           new_QAction                     0 B 15968 KB
warning:           new_QAction                     0 B 15972 KB
warning:           new_QAction                     0 B 15976 KB
warning:           new_QAction                     0 B 15976 KB
warning:           new_QAction                     0 B 15980 KB
warning:           new_QAction                     0 B 15984 KB
warning:           new_QAction                     0 B 15988 KB
warning:           new_QAction                     0 B 15992 KB
warning:           new_QAction                     0 B 15996 KB
warning:           new_QAction                     0 B 16000 KB
warning:           new_QAction                     0 B 16008 KB
warning:           new_QAction                     0 B 16008 KB
warning:           new_QAction                     0 B 16012 KB
warning:           new_QAction                     0 B 16020 KB
warning:           new_QAction                     0 B 16024 KB
warning:           new_QAction                     0 B 16028 KB
warning:           new_QAction                     0 B 16036 KB
warning:           new_QAction                     0 B 16040 KB
warning:           new_QAction                     0 B 16044 KB
warning:           new_QAction                     0 B 16052 KB
warning:           new_QAction                     0 B 16056 KB
warning:           new_QAction                     0 B 16060 KB
warning:           new_QAction                     0 B 16068 KB
warning:           new_QStatusBar                  0 B 16172 KB
warning:           new_QLabel                      0 B 16296 KB
warning:           new_QRect                       0 B 19388 KB
warning:   YES release_QRect                       0 B 19388 KB
warning:           new_QLabel                      0 B 20076 KB
warning:           new_QRect                       0 B 20076 KB
warning:   YES release_QRect                       0 B 20076 KB
warning:           new_QLabel                      0 B 20076 KB
warning:           new_QRect                       0 B 20076 KB
warning:   YES release_QRect                       0 B 20076 KB
warning:           new_QLabel                      0 B 20076 KB
warning:           new_QRect                       0 B 20076 KB
warning:   YES release_QRect                       0 B 20076 KB
warning:           new_QLabel                      0 B 20076 KB
warning:           new_QRect                       0 B 20076 KB
warning:   YES release_QRect                       0 B 20076 KB
warning:           new_QLabel                      0 B 20076 KB
warning:           new_QRect                       0 B 20076 KB
warning:   YES release_QRect                       0 B 20076 KB
warning:           new_QLabel                      0 B 20076 KB
warning:           new_QRect                       0 B 20076 KB
warning:   YES release_QRect                       0 B 20076 KB
warning:           new_QLabel                      0 B 20076 KB
warning:           new_QRect                       0 B 20076 KB
warning:   YES release_QRect                       0 B 20076 KB
warning:           new_QLabel                      0 B 20076 KB
warning:           new_QRect                       0 B 20076 KB
warning:   YES release_QRect                       0 B 20076 KB
warning:           new_QLabel                      0 B 20076 KB
warning:           new_QRect                       0 B 20076 KB
warning:   YES release_QRect                       0 B 20076 KB
warning:           new_QRect                       0 B 20104 KB
warning:   YES release_QRect                       0 B 20104 KB
warning:           new_QRect                       0 B 20640 KB
warning:   YES release_QRect                       0 B 20640 KB
warning:           new_QRect                       0 B 20676 KB
warning:   YES release_QRect                       0 B 20676 KB
warning:           new_QRect                       0 B 20676 KB
warning:   YES release_QRect                       0 B 20676 KB
warning:           new_QRect                       0 B 20676 KB
warning:   YES release_QRect                       0 B 20676 KB
warning:           new_QRect                       0 B 20676 KB
warning:   YES release_QRect                       0 B 20676 KB
warning:           new_QRect                       0 B 20676 KB
warning:   YES release_QRect                       0 B 20676 KB
warning:           new_QRect                       0 B 20692 KB
warning:   YES release_QRect                       0 B 20692 KB
warning:           new_QRect                       0 B 20692 KB
warning:   YES release_QRect                       0 B 20692 KB
warning:           new_QRect                       0 B 20696 KB
warning:   YES release_QRect                       0 B 20696 KB
warning:           new_QRect                       0 B 20696 KB
warning:   YES release_QRect                       0 B 20696 KB
warning:           new_QRect                       0 B 20696 KB
warning:   YES release_QRect                       0 B 20696 KB
warning:           new_QRect                       0 B 20696 KB
warning:   YES release_QRect                       0 B 20696 KB
warning:           new_QRect                       0 B 20696 KB
warning:   YES release_QRect                       0 B 20696 KB
warning:           new_QRect                       0 B 20700 KB
warning:   YES release_QRect                       0 B 20700 KB
warning:           new_QRect                       0 B 20700 KB
warning:   YES release_QRect                       0 B 20700 KB
warning:           new_QRect                       0 B 20700 KB
warning:   YES release_QRect                       0 B 20700 KB
warning:           new_QRect                       0 B 20732 KB
warning:   YES release_QRect                       0 B 20732 KB
warning:           new_QRect                       0 B 20840 KB
warning:   YES release_QRect                       0 B 20840 KB
warning:           new_QMenu                       0 B 20912 KB
warning:           new_QPoint                      0 B 20912 KB
[New thread 2508.0x790]
warning:           new_QRect                       0 B 21004 KB
warning:   YES release_QRect                       0 B 21004 KB
[New thread 2508.0x1020]
[New thread 2508.0x13f0]
Error: dll starting at 0x71170000 not found.
Error: dll starting at 0x4080000 not found.
warning: Lowest section in C:\Windows\system32\normaliz.dll is .text at
00401000

Error: dll starting at 0x70c30000 not found.
BFD: C:\Windows\system32\SLC.dll: Warning: Ignoring section flag
IMAGE_SCN_MEM_N
OT_PAGED in section .reloc
BFD: C:\Windows\system32\SLC.dll: Warning: Ignoring section flag
IMAGE_SCN_MEM_N
OT_PAGED in section .reloc
[New thread 2508.0x408]
warning:           new_QFileDialog                 0 B 28408 KB
warning:           new_QRect                       0 B 28436 KB
warning:   YES release_QRect                       0 B 28436 KB
Error: dll starting at 0x60250000 not found.
Error: dll starting at 0x711b0000 not found.
Error: dll starting at 0x5060000 not found.
warning:           new_QRect                       0 B 34196 KB
warning:   YES release_QRect                       0 B 34196 KB
warning:           new_QRect                       0 B 36008 KB
warning:   YES release_QRect                       0 B 36008 KB
warning:           new_QStringList                 0 B 36016 KB
warning:   YES release_QStringList                 0 B 36020 KB
warning:           new_QFile                       0 B 36020 KB
warning:           new_QUiLoader                   0 B 62404 KB
warning:   YES release_QFile                       0 B 63192 KB
warning:   YES release_QUiLoader                   0 B 63192 KB
warning:           new_QRect                       0 B 63328 KB
warning:   YES release_QRect                       0 B 63328 KB
warning:           new_QRect                       0 B 63328 KB
warning:   YES release_QRect                       0 B 63328 KB
[New thread 2508.0xb6c]
warning:           new_QRect                       0 B 65468 KB
warning:   YES release_QRect                       0 B 65468 KB
warning:       QT_DISCONNECT_SIGNAL: YES    clicked()
warning:       QT_DISCONNECT_SIGNAL: YES    clicked()
warning:       QT_DISCONNECT_SIGNAL: YES    clicked()
warning:       QT_DISCONNECT_SIGNAL: YES    currentChanged(int)
warning:   YES release_QMenu                       0 B 65504 KB
warning:   YES release_QPoint                      0 B 65504 KB
warning: Critical error detected c0000374


Program received signal SIGTRAP, Trace/breakpoint trap.
0x77018b2f in ntdll!DbgUiConvertStateChangeStructure ()
   from C:\Windows\system32\ntdll.dll
(gdb) bt
#0  0x77018b2f in ntdll!DbgUiConvertStateChangeStructure ()
   from C:\Windows\system32\ntdll.dll
#1  0x7707facb in ntdll!RtlpNtMakeTemporaryKey ()
   from C:\Windows\system32\ntdll.dll
#2  0x77080704 in ntdll!RtlpNtMakeTemporaryKey ()
   from C:\Windows\system32\ntdll.dll
#3  0x770807f2 in ntdll!RtlpNtMakeTemporaryKey ()
   from C:\Windows\system32\ntdll.dll
#4  0x7703fc25 in ntdll!EtwpNotificationThread ()
   from C:\Windows\system32\ntdll.dll
#5  0x76629a26 in KERNEL32!HeapLock () from C:\Windows\system32\kernel32.dll
#6  0x75699c03 in msvcrt!free () from C:\Windows\system32\msvcrt.dll
#7  0x00ba0000 in ?? ()
#8  0x00000000 in ?? ()
(gdb)
 


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

Reply via email to