Recent Posts

Pages: [1] 2 3 ... 10
1
Programming / Re: [gcc] libgomp?
« Last post by Jochen Schäfer on Today at 09:40:49 am »
libgomp is AFAIK a library for optimizing multithreading programs. That's certainly not an easy port to do.
2
Mauro,

I don't have any good idea about what you changed that allowed this trap to occur.  If you have a backup of the VM, you could try reapplying your recent changes until the trap returns.

The trap screen looks vaguely familiar but I've not yet located my work notes to verify this.  My current suspect is a floating point exception that is mishandled by IBM's 14.106 W4 kernel.  What happens is the kernel's trap 0x10 handler neglects to push a required parameter on the stack.  This causes the common fault handler to get confused and decide that the exception occurred when the kernel was running in v8086 mode, which is incorrect.  The result is the exception handler traps and the kernel panics with the 60000, 9084 panic id.

This defect has been corrected in the ArcaOS 14.201 W4 kernel.
3
Applications / Re: OO v4.18
« Last post by Steven Levine on Today at 08:30:01 am »
Tellie,

Based on what you posted, this does not look like a DLL issue.  It looks more like a NULL pointer issue.

You might consider posting the full exceptq report.  It may contain relevant information that you might not recognize as relevant.  If you do, please make sure to use the most recent exceptq available at www.warpcave.com/betas.  It includes some enhancement that can make working with gcc apps a bit easier.

Also, make sure you have debuginfo installed for the DLLs mentioned in the Call Stack or the Symbols on the Stack sections.

FWIW, NULL pointer errors typically occur because there's an unexpectly missing resource or because the app runs out of memory and neglected to check for this.  Given that your exception occurs at startup, I would suspect the former cause is more likely.

I agree with others that you should consider trying 4.1.11.  Otherwise, there's no way to know if it will resolve your issue.

4
Programming / Re: Qt6 Application Testing
« Last post by Paul Smedley on Today at 02:34:58 am »
Qt-base-os2 issue #53 does talk about using the high-res timer. dmik pointed out that libcn supports clock_gettime(CLOCK_MONOTONIC) which interfaces with the high-res timer directly and planned to enable the UNIX implementation (qelapsedtimer_unix.cpp). Might be worth looking at.

Yeah https://github.com/bitwiseworks/qtbase-os2/issues/53 is interesting. I will definitely look in to this. Now whether the webenginewidget code uses the qttimer is another issue. Enhancing the resolution of the timer in qtbase may actually make zero change to webengine if the timing issues are within chromium.

Edit: https://smedley.id.au/tmp/Qt6Core-6.2.11-os2-qelapsedtimer_unix-20250122.zip uses qelapsedtimer_unix.cpp instead of qelapsedtimer_generic.cpp. NB: Minimally tested this (lack of time) - YMMV.... but dooble still loads pages :)
5
Hardware / Re: USBCOM big problem
« Last post by Doug Clark on Today at 01:23:38 am »
Igor,

I am using an USB-RS232 adapter that uses the PL2303 chip with the AOS  USBCOM.SYS driver.  You can find the adapter on Amazon by searching for
   BENFEI USB to Serial Adapter, USB to RS-232 Male (9-pin) DB9 Serial Cable
It costs about $10

That adapter works fine with my own, very simple, program that talks to a IBM 6094-20 lighted keyboard.  The program sends and receives data through the COM port, however the device does not use the RS232 control signals DTR, DSR, CTS, RTS

That same adapter does not work when trying to connect the DOS program LapLink through a COM port assigned to the adapter to another computer.  LapLink reports that the COM port does not exist, while the OS/2 MODE command says that it does.  However LapLink also refuses to recognize any COM port on my Quatech 8 port serial card - I suspect that problem is related to the interrupts LapLink expects to be with a specific COM port and the fact that the 8 port serial card is a PCI card and the interrupts that are assigned at boot up do not match the standard COM1-COM4 interrupts.

I also have a graphics tablet (ACECAD) which will not work when connected to the USB-RS232 adapter, or when it is connected to a port on the QuaTech 8 port serial card - but will work when connected to a serial port on the motherboard.  I am guessing it is the same interrupt issue.

So if you are getting an error message from OS/2 when you issue a MODE command in a Command Prompt window on a COM port provided by the USB-RS232 adapter, then I am guessing you have an issue between the adapter and the driver.  It looks like you are using COM5 for your USB-RS232 adapter, so the command would be MODE COM5.  If the MODE command returns OK but your application says the COM port does not exist then you have a different issue.   I tried various combinations of switches/parameters with USBCOM.SYS and no combination would make LapLink work with the USB-RS232 adapter.  (I tried LapLink simply because I know it does all sorts of interesting things with a COM port and it was handy.)

If this is possible for you, have you thought about trying to connect to a COM port on your motherboard - assuming you are using a desktop computer and the motherboard has a COM port header?
6
Programming / Re: Qt6 Application Testing
« Last post by Dave Yeo on January 21, 2025, 10:57:50 pm »
Qt-base-os2 issue #53 does talk about using the high-res timer. dmik pointed out that libcn supports clock_gettime(CLOCK_MONOTONIC) which interfaces with the high-res timer directly and planned to enable the UNIX implementation (qelapsedtimer_unix.cpp). Might be worth looking at.
As for NSPR, which uses the environment variable NSPR_OS2_NO_HIRES_TIMER=1 to turn it off, no command line parameter as far as I know. ArcaOS does (did?) add the environment variable to config.sys
I tried yum remove nspr to see the dependencies.
Code: [Select]
---> Package adobe-source-code-pro-fonts.noarch 0:2.030.1.050-1.oc00 will be erased
---> Package adobe-source-sans-pro-fonts.noarch 0:2.020-1.oc00 will be erased
---> Package dbus-common.noarch 1:1.13.12-1.oc00 will be erased
---> Package lzlib-devel.pentium4 0:1.14-1.oc00 will be erased
---> Package os2-base-fhs.i686 0:0.0.0-19.oc00 will be erased
---> Package os2-base-unixtools-path.pentium4 0:0.0.1-3.oc00 will be erased
---> Package pci-ids.noarch 0:2023.11.11-0.oc00 will be erased
---> Package sgml-common.noarch 0:0.6.3-45.oc00 will be erased
---> Package xml-common.noarch 0:0.6.3-45.oc00 will be erased
--> Finished Dependency Resolution
Error: Trying to remove "yum", which is protected

So a couple of dependencies, dbus perhaps xml might use NSPR. Though some of the dependencies look weird, fonts?
At one time it was common for computers to have a BIOS option to turn off the hi-res timer, shame this one doesn't.
7
Programming / Re: [gcc] libgomp?
« Last post by Mentore on January 21, 2025, 10:55:57 pm »
IIRC, PortableGL is header only and libgomp is only needed for some examples.

Hi Jochen, yes you're right in both. But I'm still wondering how come we don't have libGomp in OS/2 GCC, I feel this could be useful. I also tried something but seems building it separatedly is kind of a huge beast to tame. Will have a deeper look tomorrow (it's 11 PM here now).

Mentore
8
Programming / Re: Qt6 Application Testing
« Last post by Remy on January 21, 2025, 10:52:31 pm »
You have checked where the setting is used but is there no code using hires while it should not ? (setting ignored, missing code to ignore the const  ::))
Placebo  ::)  just tell it to my system which I have to reboot 2 or 3 times per day using Dooble.... (frozen, hung)

* Firefox is outdated for many sites *

Regards

Note: I have no skills into this code. Doing several searches on internet, I found some qt developers using webengine having resolved hires timing issues using process cycles instead (is it possible ?)   

Even if qt6 on OS/2 *is* using hires timing (I have NFI) I cannot understand how that webengine flag is making any difference. The link I posted is where qtwebengine interprets flags - it cannot interpret the flag on OS/2, so the flag is ignored.

I am also *not* a programmer. I can barely write a hello world in C without googling it. How about you inject a deliberate typo into the flag you;'re using with hires and see if you still see the same 'improvements' - that might confirm Dave's thoughts on timing.

Will give it a try and post back
9
Comments, Suggestions & Questions / Re: OS/2 Licensing
« Last post by Dave Yeo on January 21, 2025, 10:25:43 pm »
The problem as far as I know is not Microsoft but all the other companies IBM used as contractors.
Many of them don't even exist any more so finding out who owns rights might be a nightmare.

Seems a bit surprising that the kernel used contractors, device drivers yes.

Quote
When the OS/2 kernel source was leaked (20 years ago?) the people I talked to told me they were able to build and use everything that was there. They also told me that according to text in the code there was a lot of subcontractors that kept their copyright. It was not like a Linux kernel where everything has the same license.

Interesting.
I remember hearing rumours that the PowerPC version of OS/2 didn't have as many licensing problems and IBM even considered open sourcing it. It would have needed device drivers, network stack etc as well as an LX loader to run regular OS/2 programs. If  it had been released with a good license at the right time, who knows where it may have gone.

Quote
If IBM still have some big customers with OS/2 installations they support then they definitely have the code and the tools to build it. Not that many people know how to build it though.

I remember Scott saying what a bitch it was to build, and he was the kernel maintainer.
I've also heard rumors that, yes some big customers (banks?) did have the source.

Quote
Yes, the divide between kernel and device drivers makes it easier to support more modern hardware. Less stuff in the kernel makes it easier to expand it from the outside.

But in the end, without open source it will fail, it's quite amazing that modern CPU's still supports 30+ years old code. The only way to save anything imho is to use the Linux kernel and build a "personality" on top. But there are no resources nor business case any more.

Well the last kernel updates were more like 20 years age. They included supporting SSE etc and fixed some timing issues to boot on what then was modern hardware, they seem to have future proofed it enough that the later kernels can still boot on fairly modern hardware. My Warp 4 install still boots on my 7th generation I5, WPS fails to load though.
The ReactOS kernel would maybe be a better choice to support OS/2. NT did start as OS/2 v3 NT, supported OS/2 1.x binaries up to Win2k or XP and I had a Byte issue, from perhaps '94, with a little news article about MS getting the 2.x Presentation Manager running on NT.
10
Comments, Suggestions & Questions / Re: OS/2 Licensing
« Last post by Martin Iturbide on January 21, 2025, 09:51:58 pm »
The only way to save anything imho is to use the Linux kernel and build a "personality" on top. But there are no resources nor business case any more.

This is why today I put my faith in AI to help a developer to open source clone OS/2.  ;D ;D ;D ;D
Pages: [1] 2 3 ... 10