Author Topic: Qt6 Application Testing  (Read 405003 times)

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5355
  • Karma: +127/-1
    • View Profile
Re: Qt6 Application Testing
« Reply #705 on: January 01, 2025, 03:04:05 am »
Paul is using a newer GCC (12.4.0 or such) then available by RPM (9.2.0)
Personally, I have SET GCCOPT=-static-libgcc in my environment to avoid these problems with stuff I build.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2512
  • Karma: +190/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #706 on: January 01, 2025, 03:34:04 am »
Just for grins, I tried moving QTWebEngine stuff from 6.2 to the 6.6 directories and tried to run Dooble, but it said 'QT6Charts' was missing. That's when I noticed that some of the DLL's in the 6.6 build have different names than the equivalent ones in 6.2, so stuff will need to be re-built for this version (or DLL names kept the same).

<sihg> I thought the patches for DLL names *were* consistent across the Qt versions, seems I'm wrong. I'll try fix that today!

I'll also add -static-libgcc to eliminate the need for gcc1... something must have changed there....

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2512
  • Karma: +190/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #707 on: January 01, 2025, 09:09:48 pm »
Just for grins, I tried moving QTWebEngine stuff from 6.2 to the 6.6 directories and tried to run Dooble, but it said 'QT6Charts' was missing. That's when I noticed that some of the DLL's in the 6.6 build have different names than the equivalent ones in 6.2, so stuff will need to be re-built for this version (or DLL names kept the same).

<sihg> I thought the patches for DLL names *were* consistent across the Qt versions, seems I'm wrong. I'll try fix that today!

I'll also add -static-libgcc to eliminate the need for gcc1... something must have changed there....
I forgot about -static-libgcc but https://smedley.id.au/tmp/qt6-6.6.3-noqtwebengine-os2-20250102-gcc14.zip should have compatible DLL names with 6.2.x

David McKenna

  • Hero Member
  • *****
  • Posts: 875
  • Karma: +30/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #708 on: January 01, 2025, 09:52:44 pm »
 Thanks Paul... I was able to get Dooble working with this one once I copied the webengine parts from 6.2!

 Tea and NotePadNext don't work - silent exits with both now. Media-Downloader, Soduku, LibreCAD, Strong Password Generator, and Focuswriter all run.

Regards,



« Last Edit: January 01, 2025, 10:07:41 pm by David McKenna »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2512
  • Karma: +190/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #709 on: January 02, 2025, 01:21:34 am »
This is great news! I'll aim to work on some of the newly introduced bugs that break some of the examples, but I'm very relieved that the webengine from 6.2 continues to work!

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2512
  • Karma: +190/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #710 on: January 02, 2025, 08:04:43 am »
Paul is using a newer GCC (12.4.0 or such) then available by RPM (9.2.0)
GCC 14.2.0 actually :)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2512
  • Karma: +190/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #711 on: January 02, 2025, 08:20:07 am »
OK, went thru the examples. Here is a list of what does NOT work by \examples\subdirectory:

dbus - none work (no dbus running)

GUI->RHIWindow Error 'Failed to create RHI backend' then SIGABRT

Help->contextsensitivehelp: runs but doesn't work right - errors about not connecting to SQL Database

Multimedia - none work (because no backend), but in this version they actually run with an error saying no backend

Network - nothing works, but they run with various socket errors, except http which crashes.

Positioning - run but don't work

QML- all crash SIGSEGV

QMLTest - all crash SIGSEGV

Quick - most crash with SIGSEGV. A few start with 'Maximum call stack size exceeded' error but don't work.

QuickControls - some SIGSEGV, some say they can't load some component. None work.

SpatialAudio - runs but no backend.

Websockets - no crash, but nothing does anything. A couple 'Websocket not a type' errors.

Widgets -> desktop nothing works
              -> draganddrop-> deposit doesn't work
              -> touch doesn't work

 LibreCAD, Soduku, and QT password generator I mentioned  above work with version 6.6. All the others in that list either hung the machine, or gave a message saying it could not find a library (presumably because the name was changed).

Regards,
Some quick comments here....
GUI->RHIWindow needs opengl - hence it doesn't work.
Network - the ones I tried work fine.
positioning\logfilepositionsource works for me - the other positioning example seems to need a serial port
QML/Quick - I see the same with many ending with 'Maximum call stack size exceeded' which rings a bell from earlier qtdeclarative builds... (Yep, we were seeing it back in https://www.os2world.com/forum/index.php?topic=3252.450)
« Last Edit: January 02, 2025, 08:21:38 am by Paul Smedley »

David McKenna

  • Hero Member
  • *****
  • Posts: 875
  • Karma: +30/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #712 on: January 02, 2025, 02:03:56 pm »
Paul,

  I went back and inspected the Network examples in more detail - here is what I see here:

BlockingFortuneClient - seems to run, but the server does not send a message, see below.

BroadcastSender - seems to work but

BroadcastReceiver - does not show anything received from the sender

dnslookup - works

FortuneServer - get an error window 'Unable to start the server. Unsupported socket operation' Click 'OK' and a blank window opens.

FortuneClient - runs, but nothing to receive.

http - works - downloads a file, but then ends with a SIGABRT and exceptq file

MultiCastSender - works

MultiCastReceiver - works - shows message in console 'QNativeSocketEngine: has PendingDatagrams() was called in QAbstractSocket::Unconnected state.' Maybe just a notice?

Network-chat - ran 2 instances, both run, but no message gets from one to the other in either direction.

rsslisting - works

SecureSocketClient - seems to work, but eventually get error window 'The TLS/SSL connection has been closed.' If I send a message I get a 'bad request' error in it.

Secureudpserver - works

Secureudpclient - works

ThreadedFortuneServer - runs, but get error window 'Unable to start the server. Unsupported Socket Operation.' Hit 'OK' and a blank window appears.

Torrent - seems to work, I can start to download a torrent file, but quickly get a SIGABRT and exceptq file.

 Those are the details from my system. Maybe there is a difference in our environments?

Regards,


Paul Smedley

  • Hero Member
  • *****
  • Posts: 2512
  • Karma: +190/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #713 on: January 02, 2025, 11:57:47 pm »
No, I think I just got lucky with the 2 or 3 folders I tried. On a positive, I found a hack for the stack size error from qtdeclarative, so look out later today for an updated package that includes that.

Also trying to fix sharedmemory, I thought I'd found the missing code this morning, but still getting the same error from sharedmemory.exe

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2512
  • Karma: +190/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #714 on: January 03, 2025, 03:48:02 am »
Also trying to fix sharedmemory, I thought I'd found the missing code this morning, but still getting the same error from sharedmemory.exe

 Qt 6.6 shared memory/semaphore code is in https://github.com/psmedley/qt6-base-os2/tree/6.6.x/src/corelib/ipc - still missing some glue to make it work, sharedmemory.exe is still showing errors which I don't (yet) understand (see screenshot)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2512
  • Karma: +190/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #715 on: January 03, 2025, 07:24:32 am »
OK it was trying to use sysv_shm and sysv_sem - I've now worked how how to properly disable these on OS/2 and an rebuilding qtbase.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2512
  • Karma: +190/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #716 on: January 04, 2025, 03:49:42 am »
OK it was trying to use sysv_shm and sysv_sem - I've now worked how how to properly disable these on OS/2 and an rebuilding qtbase.
Took a lot more time that I expected, mainly cos OS/2 API is foreign to me :) but I have QSharedMemory working now. Some bits are a bit hacky, but time to move on to some of the breaks in the networking examples....

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2512
  • Karma: +190/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #717 on: January 04, 2025, 05:39:21 am »
https://smedley.id.au/tmp/qt6-6.6.3-noqtwebengine-os2-20250104-gcc14.zip

Changes:
sharedmemory example now works
quick/qml examples now work, not withstanding the known issues in https://github.com/psmedley/qt6-declarative-os2/issues/2

Off to look into the networking examples now... OK tried a couple, I might have 'accidentally' fixed these. threadedfortuneserver (for example) works.

re: http I get the same error - will investigate, but 6.2.x has the same crash.
« Last Edit: January 04, 2025, 05:44:36 am by Paul Smedley »

TeLLie

  • Sr. Member
  • ****
  • Posts: 278
  • Karma: +16/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #718 on: January 04, 2025, 01:40:30 pm »
hi all

please try the latest Nomacs...

http://rpm.netlabs.org/test/QT6/nomacs-3.19.1-os2-qt6210-5012025.7z

greetz Elbert

David McKenna

  • Hero Member
  • *****
  • Posts: 875
  • Karma: +30/-0
    • View Profile
Re: Qt6 Application Testing
« Reply #719 on: January 04, 2025, 05:20:55 pm »
 Thanks Paul - this is a big improvement. All network examples work here except 'http'(SIGSEGV) and Torrent (seems to work, but doesn't actually download anything, but no crash now). The qmlchartsgallery, quick, and quickcontrols examples mostly run but don't work right and see a lot of 'Maximum stack size exceeded' errors, but no crashes now (even when I move the 'shared' folder to the root and update the qmldir file). The ones without a 'shared' subdirectory seem to work.

 Tried Tellie's nomacs with this build and it seems to work fine (if I put it in my C:\usr\local directory - won't work just unzipped). Tea and NotePadNext now work with this version too. Thanks!

Regards,
« Last Edit: January 05, 2025, 12:17:59 am by David McKenna »