Author Topic: Qt6 Development  (Read 233097 times)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2095
  • Karma: +160/-0
    • View Profile
Re: Qt6
« Reply #405 on: January 09, 2023, 11:01:29 pm »
After resetting the profile, it seems to load HTTPS from any drive. Did finally get a trp, breakpoint.

I saw a couple of those Breakpoint traps too - I guess that means there's a breakpoint set in the code somewhere? I'll have to go looking.

Where is the Dooble profile? in %HOME% I guess? Interesting... I'm going to go through the patches to net\cert\* more closely this evening and look for anything I may have misapplied.

Cheers,

Paul.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4805
  • Karma: +99/-1
    • View Profile
Re: Qt6
« Reply #406 on: January 10, 2023, 12:49:36 am »
Yes, the profile is in %HOME%/.dooble, there's also a way to reset it under settings.
In Mozilla, the int 3"s are there to trap when memory gets screwy. Your Dooble vanishes a lot here, os2world (not the forum) for example seems to always trigger the vanishing act.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2095
  • Karma: +160/-0
    • View Profile
Re: Qt6
« Reply #407 on: January 10, 2023, 01:20:36 am »
Possibly related to the profile corruption (assuming it uses sqlite) is https://github.com/psmedley/qt6-webengine-os2/issues/2 I'll try look into it tonight.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4805
  • Karma: +99/-1
    • View Profile
Re: Qt6
« Reply #408 on: January 10, 2023, 02:03:07 am »
Sqlite3 dropped OS/2 support long ago and patching it is a bitch, especially trying to patch the almalgation, really they introduced a new way to support other OS's.
I take it that the system sqlite3 is too old?
Dooble does use sqlite3,
Code: [Select]
W:\Home\.dooble>file dooble_accepted_or_blocked_domains.db
dooble_accepted_or_blocked_domains.db: SQLite 3.x database, last written using SQLite version 3028000

No wal (write ahead log/journal) like Mozilla uses to help recover from a crash. IIRC there's also another way of doing journal-ling that Win32 (and Linux?) uses with sqlite3 to help recover from crashes.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2095
  • Karma: +160/-0
    • View Profile
Re: Qt6
« Reply #409 on: January 10, 2023, 02:46:52 am »
Hey Dave, to be honest, I'm not sure how to enable system sqlite3 - BWW had patched/replaced the amalgamation with a newer version than what was included in 5.15.... I'm naively thinking that the amalgamation is mainly a concatenation of the individual source files, and there can't be that many required patches, and it can't be that hard :) I'll have more to say this evening.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4805
  • Karma: +99/-1
    • View Profile
Re: Qt6
« Reply #410 on: January 10, 2023, 02:53:40 am »
Yes, the amalgamation is basically concatenated source, though I think there was more to it.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2095
  • Karma: +160/-0
    • View Profile
Re: Qt6
« Reply #411 on: January 10, 2023, 05:12:25 am »
Yes, the amalgamation is basically concatenated source, though I think there was more to it.
Actually, it looks like I can just run the script at https://github.com/psmedley/qt6-webengine-os2/blob/main/src/3rdparty/chromium/third_party/sqlite/scripts/generate_amalgamation.py to regenerate the amalgamation files.....

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2095
  • Karma: +160/-0
    • View Profile
Re: Qt6
« Reply #412 on: January 10, 2023, 09:01:18 am »
Hey Rich,
could be one of those cases where due to our 8.3 DLL convention, we have multiple DLL's with the same name

Just a thought... It often seems like getting a usable 8.3 DLL name out of some of these build systems is quite a chore. Wouldn't it be easier to let these packages use whatever name they want, then in a post-processing step, update the file and module names as needed? This could be done at build-time or later in a batch coordinated by a control file.

If you're interested, let me know. I'd probably implement it in REXX (which is pretty good for patching binaries) but deliver it as an .exe so you wouldn't have to run 'cmd.exe'. And... since I'll probably recycle some of the REXX I wrote for MozTurbo, the util could also mark the DLL for high-mem, if desired.

Definitely interested - but this approach would also require changes to cmake to make cmake NOT shorten the names. I also suspect this might not work for some of the Qml issues, where Qt seems to be looking for the 'original' name.

Cheers,

Paul

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2095
  • Karma: +160/-0
    • View Profile
Re: Qt6
« Reply #413 on: January 10, 2023, 09:31:16 am »
A few small fixes in https://smedley.id.au/tmp/qt6webee-20220110.zip

I've already run highmem on the DLL. I'm also posting this from Dooble from Qt6 :)

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4805
  • Karma: +99/-1
    • View Profile
Re: Qt6
« Reply #414 on: January 10, 2023, 05:11:35 pm »
After this update, Dooble won't fully load most web pages, instead simply vanishing. New profile didn't help either.

Rich Walsh

  • Sr. Member
  • ****
  • Posts: 337
  • Karma: +23/-0
  • ONU! (OS/2 is NOT Unix!)
    • View Profile
Re: Qt6
« Reply #415 on: January 10, 2023, 08:05:00 pm »
could be one of those cases where due to our 8.3 DLL convention, we have multiple DLL's with the same name
Wouldn't it be easier to let these packages use whatever name they want, then in a post-processing step, update the file and module names as needed? This could be done at build-time or later in a batch coordinated by a control file.

Definitely interested - but this approach would also require changes to cmake to make cmake NOT shorten the names. I also suspect this might not work for some of the Qml issues, where Qt seems to be looking for the 'original' name.

The goal is to be helpful across a range of projects without requiring you to go out of your way to use it. Perhaps one of these use cases will fit your needs now or later:

* Basic usage:    mk83 qt6webengine.dll qt6weben

* Avoid name collisions:    mk83 qt6webee.dll qt6weben

* Coordinate renames using a control file:    mk83 qt6webengine.dll /F qt6dlls.txt
(where 'qt6dlls.txt' is a simple plain-text file with entries like "qt6webengine.dll qt6weben").

* Batch rename after a build:    mk83 /X qt6dlls.txt
(this assumes the control file contains qualified filenames so they can be found)

These are the scenarios that come to mind. If it seems worth the effort, I'll proceed.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2095
  • Karma: +160/-0
    • View Profile
Re: Qt6
« Reply #416 on: January 10, 2023, 09:29:20 pm »
After this update, Dooble won't fully load most web pages, instead simply vanishing. New profile didn't help either.
Interesting, I didn't see this in my limited testing. The only quirk I noticed was that some pages looked like they had loaded, but rendered a grey page instead of the actual page. There really weren't that many changes, so hard to understand how things broke. I assume you tried rebooting?

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4805
  • Karma: +99/-1
    • View Profile
Re: Qt6
« Reply #417 on: January 10, 2023, 11:39:07 pm »
Yes, tried rebooting. I don't think one page fully loaded whereas before most fully loaded. Tested things like the BBC, CBC, Github, Bitbucket and here.
Guess I should revisit trying to build NSS, it is weird as it uses the NSPR4 build system but it sure reminds me of how the Mozilla apps vanished (no where as much though) when using the latest system NSPR4/NSS.

Remy

  • Hero Member
  • *****
  • Posts: 646
  • Karma: +9/-1
    • View Profile
Re: Qt6
« Reply #418 on: January 11, 2023, 02:37:04 am »
Yes, tried rebooting. I don't think one page fully loaded whereas before most fully loaded. Tested things like the BBC, CBC, Github, Bitbucket and here.
Guess I should revisit trying to build NSS, it is weird as it uses the NSPR4 build system but it sure reminds me of how the Mozilla apps vanished (no where as much though) when using the latest system NSPR4/NSS.

Not enough storage ?

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2095
  • Karma: +160/-0
    • View Profile
Re: Qt6
« Reply #419 on: January 11, 2023, 03:02:54 am »
Hey Dave,

Yes, tried rebooting. I don't think one page fully loaded whereas before most fully loaded. Tested things like the BBC, CBC, Github, Bitbucket and here.
Guess I should revisit trying to build NSS, it is weird as it uses the NSPR4 build system but it sure reminds me of how the Mozilla apps vanished (no where as much though) when using the latest system NSPR4/NSS.

Well we definitely ARE using nss... I'll revisit the changes in https://github.com/psmedley/qt6-webengine-os2/commit/7e86e5c1bf36fa83f41030cfa1599284d0deb8ed this evening - whilst they do align better with 5.15.x, there are other changes in that code too that may be causing us issues (noting the net_fetcher warnings, something is definitely not quite right for our platform.

I also noticed there are a couple of unittests there, so I'll see if they built and try running them.