News:

OS2World.com Forum is back !!!

Remember to visit OS2World at:
http://www.os2world.com

Main Menu

QT5 simplebrowser

Started by Remy, November 09, 2020, 09:26:54 PM

Previous topic - Next topic

Remy

Quote from: Lars on November 13, 2020, 08:32:03 AM
Can someone enlighten me why I would use the new highmem at all ? It does the very same thing as all the highmems that already exist but potentially it does them faster.
But it is a one time action to mark DLL code (and data) segments to load high. The change is persistent. You do not do it over and over again.

"The change is persistent."  Sure it is

'You do not do it over and over again.'  right, One time is enough

As you know, there is an issue into OS/2. When an application loads the dlls above 512 and when the application is closed, the dlls are unloaded but the corresponding memory range is than unusable... To prevent this, having an alltime active background process just loading the highmem dlls prevents the dlls to be unloaded and preserves the high storage space.   

Lars

Quote from: Dave Yeo on November 13, 2020, 09:15:57 AM
For me, it's just the utility I'm used to to do the marking. Qt5WebC.dll is 243 MBs in size and it seemed to be a candidate to be marked high. I did first run it on my ram drive, formatted as HPFS and marking it high worked. After a trp and losing my ram drive due to having use the power button to reboot, I tried it on a JFS volume and it would hang the system.

I see, but this is not a bug introduced by the use of the highmem tool but rather a bug in the OS memory management to properly deal with module objects (code or data) loaded into high memory which, at least from what you are reporting, even relates to the module loading process (where a file is read from disk and its contents loaded into memory).

Was the JFS volume a volume on a hard disk or also on the RAM drive ? If it was on the hard disk, that is really intimidating as it would indicate that even the IFS can introduce a problem in module load. If it was on a RAM drive, I'd more suspect that the RAM drive's use of memory (doing all those tricks to make memory above the 4GB physical address boundary accessible) interferes with the OS's provision of high memory.

All the highmem tools do the same: set some bits in the executable header that set segment properties.

Roderick Klein

Older versions of highmem.exe read the complete DLL when changing the DLL. And it seems this happens on JFS volumes the system hangs.
The new version of highmem fixes this as it only needs to modify the first part of the binary.

Dave Yeo

Quote from: Roderick Klein on November 13, 2020, 01:12:27 PM
Older versions of highmem.exe read the complete DLL when changing the DLL. And it seems this happens on JFS volumes the system hangs.
The new version of highmem fixes this as it only needs to modify the first part of the binary.

Exactly. the hang was on a JFS formatted hard drive partition when it was reading in the DLL to mark it. I've seen the same behaviour marking xul.dll but more sporadically and often a crtl-c would kill the highmem process.

Dmitrii Kuminov

#19
Hey, just my few cents. Stuff in /test is surely not for general public. So no bug reports etc. are accepted for that. The new highmem fixes some nasty bug in DosRead on JFS which hangs the system if an app tries to load a few hundred megabytes in one go. It's available in the exp repo as RPM now BTW. And you should NOT mark LIBCN0.DLL or LIBCX0.DLL for loading high — it will break virtually everything on your system.

As for the rest, Chromium behaves really faster and smoother here than Firefox in many situations (especially on heavy JS sites) and in general produces lesser CPU load. YouTube playback is slow not because of JS slowness or such, it's because of some incorrect time scale interpretation somewhere on the pipeline, it's just "ticks" 1 ms per 1 s or so. HTML5/JS animations themselves run in the right time scale (e.g. on qt.io). To be sorted out. But again, this is not for general use yet (although it already can do what FF can not since long - e.g. visiting online banking sites etc.). Please stay tuned and consider a donation to BWW if you want to see it ready for general use.
CPO of bww bitwise works GmbH

Dariusz Piatkowski

Hello Dimitriy,

Quote from: Dmitriy Kuminov on November 13, 2020, 09:31:46 PM
...The new highmem fixes some nasty bug in DosRead on JFS which hangs the system if an app tries to load a few hundred megabytes in one go. It's available in the exp repo as RPM now BTW. And you should NOT mark LIBCN0.DLL or LIBCX0.DLL for loading high — it will break virtually everything on your system...

Current 1.0.0 release is available in highmem-1.0.1-1.oc00.pentium4, will you continue with those updates as well, or will highmem.exe transition to the RPM package...OR...did you mean to say that the new highmem.exe is available as highmem-1.0.x-1.oc00.pentium4 RPM package on the EXP repo?

Sorry, may seem silly, but better to clarify as opposed to assuming anything. I suspect you meant the updated highmem RPM package as opposed to rolling it into the base RPM RPM package.

Dariusz Piatkowski

Just answered my own question...there is an updated highmem RPM package out there...

Quote from: Dariusz Piatkowski on November 13, 2020, 11:08:24 PM
Hello Dimitriy,

Quote from: Dmitriy Kuminov on November 13, 2020, 09:31:46 PM
...The new highmem fixes some nasty bug in DosRead on JFS which hangs the system if an app tries to load a few hundred megabytes in one go. It's available in the exp repo as RPM now BTW. And you should NOT mark LIBCN0.DLL or LIBCX0.DLL for loading high — it will break virtually everything on your system...

Current 1.0.0 release is available in highmem-1.0.1-1.oc00.pentium4, will you continue with those updates as well, or will highmem.exe transition to the RPM package...OR...did you mean to say that the new highmem.exe is available as highmem-1.0.x-1.oc00.pentium4 RPM package on the EXP repo?

Sorry, may seem silly, but better to clarify as opposed to assuming anything. I suspect you meant the updated highmem RPM package as opposed to rolling it into the base RPM RPM package.

Martin Iturbide

#22
Hi

Today I installed the "Simple Browser proof of concept" announced by Bitwise.

Quote
Proof of concept:
We released a proof of concept browser, which is limited in functionality. It lacks bookmarks, printing and more. This browser is to demonstrate, that a lot more websites are working. The Otter Browser in the end will have more functionality of course.
Here you can download the latest browser version. In the 7z download is a readme.txt file with details how run run the browser.
In order to run it, you need to update libc, libcx, libevent and ffmpeg-libs from Netlabs experimental repository.

I also installed "minizip" from the rpm/yum .

I get this error "SYS1804: The system cannot find the file XSLT1."

Which package has that DLL?

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

roberto


Dave Yeo

Also don't forget ffmpeg-legacy-libs or whatever it is called for Mozilla.

Igor

Unfortunately, it does not load ...


Loading DLL 'libcx0' --> C:\USR\LIB\LIBCX0.DLL.
Loading DLL 'libcn0' --> C:\USR\LIB\LIBCN0.DLL.
Loading DLL 'stdcpp6' --> C:\USR\LIB\STDCPP6.DLL.
Loading DLL 'Qt5Core' --> C:\USR\LIB\QT5CORE.DLL.
Loading DLL 'Qt5Wdgt' --> C:\USR\LIB\QT5WDGT.DLL.
Loading DLL 'Qt5WebW' --> NOT loaded!
Unable to load DLL 'Qt5WebW'.  DosLoadModule returned: 2
OS/2 reports 'EVNT217' contributed to the failure.
Loading DLL 'Qt5Gui' --> C:\USR\LIB\QT5GUI.DLL.
Loading DLL 'Qt5Net' --> C:\USR\LIB\QT5NET.DLL.
Loading DLL 'Qt5WebC' --> NOT loaded!
Unable to load DLL 'Qt5WebC'.  DosLoadModule returned: 2
OS/2 reports 'EVNT217' contributed to the failure.
Loading DLL 'gcc1' --> C:\USR\LIB\GCC1.DLL.

Martin Iturbide

#26
Hi

I updated/installed:  libc, libcx, libevent, ffmpeg-libs, libxslt, minizip.

If I run SimpleBrowse.exe directly (processor spikes up), it freeze my VM once I put a URL and press "enter".

But I tried, reading the readme, with "sh.exe run.sh" it worked.

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Dave Yeo

@Igor, looks like you don't have libevent installed.
@Martin, likely the important part is QTWEBENGINE_CHROMIUM_FLAGS=--single-process. Eventually, with luck, each tab will run in its own process so a crash will only take out the one tab.

Igor

Quote from: Dave Yeo on January 21, 2021, 04:33:58 AM
@Igor, looks like you don't have libevent installed.
Thank you very much! Started!
Please remove broken AVX support!


______________________________________________________________________

Exception Report - created 2021/01/21 13:57:58
______________________________________________________________________

OS2/eCS Version:  2.45
# of Processors:  4
Physical Memory:  3542 mb
Virt Addr Limit:  2752 mb
Exceptq Version:  7.11.3-shl (Jul  5 2016)

______________________________________________________________________

Exception C0000005 - Access Violation
______________________________________________________________________

Process:  I:\3\SIMPLEBROWSER.EXE (10/13/2020 18:33:21 1,837,431)
PID:      38 (56)
TID:      01 (1)
Priority: 200

Filename: C:\USR\LIB\QT5GUI.DLL (10/18/2019 07:37:27 3,996,145)
Address:  005B:16948443 (0001:00008443)
Cause:    Unknown access fault

______________________________________________________________________

Failing Instruction
______________________________________________________________________

16948435  JZ      0x16948581       (0f84 46010000)
1694843B  MOV     EBX, [ESP+0x2c]  (8b5c24 2c)
1694843F  MOV     ESI, EAX         (89c6)
16948441  XOR     EDX, EDX         (31d2)
16948443 >DB 0xc5                  (c5)
16948444  STD                      (fd)
16948445  OUTSD                    (6f)
16948446  AND     EAX, 0x1694d4b0  (25 b0d49416)

______________________________________________________________________

Registers
______________________________________________________________________

EAX : 20060F80   EBX  : 2004CB60   ECX : 00000090   EDX  : 00000000
ESI : 20060F80   EDI  : 00000089
ESP : 0083DB10   EBP  : 0083DB88   EIP : 16948443   EFLG : 00010246
CS  : 005B       CSLIM: FFFFFFFF   SS  : 0053       SSLIM: FFFFFFFF

EAX : read/write memory allocated by LIBCN0
EBX : read/write memory allocated by LIBCN0
ECX : not a valid address
EDX : not a valid address
ESI : read/write memory allocated by LIBCN0
EDI : not a valid address

______________________________________________________________________


roberto

Hello
The first tests with this browser I really liked, but if they have put it here, I understand that it is for us to comment on the bugs that we have found. But on the other hand it gives me the feeling that this is in preparation and many of the faults are already controlled. My question should we report the bugs? or it is not necessary.
saludos