Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Lars

Pages: [1] 2 3 4
1
Hallo,

I have a RAM disk and environment var "TMPDIR" is pointing to it (other vars like TMP, TEMP and EPFITMPDIR are instead pointing to a hard drive directory).
Effectively it´s "set TMPDIR = Z:\" where Z: is the RAM disk drive letter.
It seems that as soon as I start an app that was ported from Unix (and therefore will in some way use LIBC etc.) then, a directory "runtime-root" is created in the root of Z:

I could care less as it will be gone on the next bootup but it seems to negatively impact the initial run of such an app. Why is this directory created and how can I prevent it from being created ?

2
Applications / Implemented DUMPFS.IFS as a 32-bit IFS
« on: March 29, 2022, 08:09:09 pm »
Hallo,

I am referring to:
https://www.os2site.com/sw/drivers/filesystem/dumpfs.zip

As you might know, this package contains a modified OS2DUMP and a specialized IFS for supporting trap dumps.
I have now reimplemented the "DUMPFS.IFS" contained in that package as a 32-bit version. That means, it supports dumps > 2 GB. I have also added (minimum) EA support so that the partition contents properly display in the WPS and also on the commandline. Of course, you can also use PMDF.EXE on that dump file (without the need to copy it to another partition as was true for the original DUMPFS.IFS).

Additionally I have implemented some reduced write support so that you can copy a trap dump file to that dump partition. Of course, copying the dump file to another partition (for example, a JFS partition) also works.

Would anybody be willing to test ? It does still have a few quirks here and there but in principle it should work (at least, it does on my system).

I have limited its use to an LVM managed system (that is OS2DASD.DMD/OS2LVM.DMD , sorry, but original Warp3 or Warp4 are not supported) in order to have optimal read/copy/write throughput.

Just drop me a note if you want a test version.


3
General Discussion / Email Address Valery Sedletzki ?
« on: March 08, 2022, 08:17:11 am »
Hi,

can anyone provide me with an email address of Valery Sedletzki ?

@Valery: if you listen, just drop me your email address in the private area. I need your help on FSDs :-)

Thanks !

4
Hallo,

for anyone who plans to write an OS/2 IFS, I have found the basis of the OS/2 IFS specification. It goes back to OS/2 1.2 (16-bit OS/2) times but it gives valuable additional info even today.

Download this document
https://patentimages.storage.googleapis.com/23/69/45/f6a4cb501938a9/EP0415346A2.pdf

and you will find enclosed the "OS/2 1.2 IFS Patent Documentation". It's 196 double pages.
I have neatly extracted that into a PDF and also did a page turn of 90°, except for double page 11 that needs a 270° turn :-)

Regards,
Lars

5
Utilities / VirtualBox, OS/2 guest, running with > 1 core. Success !?
« on: January 21, 2022, 07:45:49 am »
Hi,

my past experience with Virtualbox and running an OS/2 guest with > 1 core was that VirtualBox would hang very quickly and I always had to revert back to 1 core.

With Virtualbox 6.1.32 which was recently released, I find this in the change log:
Quote
VMM: Workaround for OS/2 guest unstability on newer AMD CPUs due to a missing TLB flush in OS/2 (bug #20625)

My host OS is Win 10 and my CPU is an Intel 8-core but I thought "so what, just give it a try" and I activated 2 cores for the OS/2 guest virtual machine.
And lo and behold, it seems to work ok. As a test, I rebuilt my complete USB driver stack which starts quite a few parallel processes (I think nmake starts multiple processes if the dependencies allow) and that always used to hang pretty quickly in the past when using > 1 core.

So, I believe this not just fixes a problem with AMD CPUs but a general problem with handling the TLB, at least for OS/2 guests (I suppose this somehow interacts with OS/2 memory management where the OS/2 memory management might have some pecularities which make it distinct).

Can somebody confirm that ?

6
Setup & Installation / Installing Python 3 (from netlabs exp) does not work
« on: September 09, 2021, 10:15:48 am »
I had nothing better to do so I attempted to install python 3 via ANPM.
I get this error:

python-pycurl-7.19.5.1-2.oc00.pentium4 benötigt python27.dll

However, I do have a file "python27.dll" in \usr\lib and I have no probs at all with the currently installed python 2.7.

I then tried:

yum install python3 and get this:
Code: [Select]
Einrichten des Installationsprozess
Löse Abhängigkeiten auf
--> Führe Transaktionsprüfung aus
---> Paket python3.pentium4 0:3.9.5-5.oc00 markiert, um installiert zu werden
--> Verarbeite Abhängigkeiten: python3-libs = 3.9.5-5.oc00 für Paket: python3-3.9.5-5.oc00.pentium4
--> Verarbeite Abhängigkeiten: python39.dll für Paket: python3-3.9.5-5.oc00.pentium4
--> Führe Transaktionsprüfung aus
---> Paket python-libs.pentium4 0:2.7.6-25.oc00 markiert, um veraltet zu werden
--> Verarbeite Abhängigkeiten: python-libs = 2.7.6-25.oc00 für Paket: python-2.7.6-25.oc00.pentium4
--> Verarbeite Abhängigkeiten: python27.dll für Paket: yum-metadata-parser-1.1.4-7.oc00.pentium4
Package python-libs is obsoleted by python3-libs, but obsoleting package does not provide for requirements
--> Verarbeite Abhängigkeiten: python27.dll für Paket: python2-rpm-4.13.0-19.oc00.pentium4
Package python-libs is obsoleted by python3-libs, but obsoleting package does not provide for requirements
--> Verarbeite Abhängigkeiten: python27.dll für Paket: python-2.7.6-25.oc00.pentium4
--> Verarbeite Abhängigkeiten: python27.dll für Paket: python-pycurl-7.19.5.1-2.oc00.pentium4
Package python-libs is obsoleted by python3-libs, but obsoleting package does not provide for requirements
---> Paket python3-libs.pentium4 0:3.9.5-5.oc00 markiert, um obsoleting zu werden
--> Führe Transaktionsprüfung aus
---> Paket python.pentium4 0:2.7.6-25.oc00 markiert, um veraltet zu werden
--> Verarbeite Abhängigkeiten: python(abi) = 2.7 für Paket: yum-metadata-parser-1.1.4-7.oc00.pentium4
Package python is obsoleted by python-unversioned-command, but obsoleting package does not provide for requirements
--> Verarbeite Abhängigkeiten: python(abi) = 2.7 für Paket: urlgrabber-3.10.1-10.oc00.noarch
Package python is obsoleted by python-unversioned-command, but obsoleting package does not provide for requirements
--> Verarbeite Abhängigkeiten: python(abi) = 2.7 für Paket: python2-rpm-4.13.0-19.oc00.pentium4
Package python is obsoleted by python-unversioned-command, but obsoleting package does not provide for requirements
--> Verarbeite Abhängigkeiten: python(abi) = 2.7 für Paket: yum-3.4.3-13.oc00.pentium4
Package python is obsoleted by python-unversioned-command, but obsoleting package does not provide for requirements
---> Paket python-libs.pentium4 0:2.7.6-25.oc00 markiert, um veraltet zu werden
--> Verarbeite Abhängigkeiten: python27.dll für Paket: yum-metadata-parser-1.1.4-7.oc00.pentium4
Package python-libs is obsoleted by python3-libs, but obsoleting package does not provide for requirements
--> Verarbeite Abhängigkeiten: python27.dll für Paket: python2-rpm-4.13.0-19.oc00.pentium4
Package python-libs is obsoleted by python3-libs, but obsoleting package does not provide for requirements
--> Verarbeite Abhängigkeiten: python27.dll für Paket: python-pycurl-7.19.5.1-2.oc00.pentium4
Package python-libs is obsoleted by python3-libs, but obsoleting package does not provide for requirements
---> Paket python-unversioned-command.pentium4 0:3.9.5-5.oc00 markiert, um obsoleting zu werden
--> Verarbeite Abhängigkeiten: /@unixroot/usr/bin/python2 für Paket: cmake-rpm-macros-3.15.3-1.oc00.noarch
Package python is obsoleted by python-unversioned-command, but obsoleting package does not provide for requirements
--> Abhängigkeitsauflösung beendet
 Sie können versuchen mit --skip-broken das Problem zu umgehen.
 You could try running: rpm -Va --nofiles --nodigest

This gives me the impression that there is a conflict with the already installed python 2.7

Unfortunately I cannot catch all screen output of "yum install python3" but I also get this:
Code: [Select]
Fehler: Paket: yum-3.4.3-13.oc00.pentium4 (installed)
            Benötigt: python(abi) = 2.7
            Entfernen: python-2.7.6-25.oc00.pentium4 (installed)
                python(abi) = 2.7
            Überholt durch: python-unversioned-command-3.9.5-5.oc00.pentium4 (netlabs-exp)
                Nicht gefunden

However, attempting to install "python-unversioned-command-3.9.5-5.oc00.pentium4" again gets me to this error:

python-pycurl-7.19.5.1-2.oc00.pentium4 benötigt python27.dll

Needless to say, running with "--skip-broken" or "rpm -Va --nofiles --nodigest" does not make a difference.

What further confuses me is that I have "python" (and various related packages) installed but I now see that there also exists a "python2.7" in netlabs-exp with various related packages. So how would I be able to replace "python" with "python2.7" ?


7
Hardware / Virtualbox, eCS and USB 12.08
« on: April 11, 2021, 10:04:26 pm »
I am using eCS under Virtualbox (currently version 6.1.16).
I just tried to install USB 12.08, as a first test, I only enabled USB 2.0 (OHCI and EHCI) under Virtualbox.
However, when I restart the system, the desktop will hang. I attempted to repair the desktop and also tried to restart multiple times but the result is always the same. I reverted back to my own USB driver set and the desktop will properly populate. I had commented out any drivers that might cause a problem.

Anyone have any experience with USB 12.08 under Virtualbox ? Only with ArcaOS or also with eCS ?

8
Hardware / Anyone know a cheap USB audio standard 2.0 device (playback) ?
« on: February 20, 2021, 11:52:54 am »
Can anyone point me to a "audio standard 2.0" device ? The very cheap devices usually implement "audio standard 1.0" but I need "audio standard 2.0" in order to test. Hopefully, I can find something that is not overly expensive.

Here is how you can find out about what you have:
1) get lsusb.exe. This tool allows you to list the complete descriptor contents of a USB device
2) run "lsusb.exe". It will list all attached devices with their vendorid:productid. You will have to guess what is what by attaching and detaching USB devices.
3) run "lsusb.exe -v -d vendorid:productid where "vendorid" and "productid" are the numbers from step 2.Pipe the tool output into a file.
4) in that file, search for something like this:
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               1.00
        wTotalLength           38
        bInCollection           1
        baInterfaceNr( 0)       1

If "bcdADC" says 1.00 then you have an audio standard 1.0 device. If it says 2.00, then you have an audio standard 2.0 device.

The problem is that if I search in Amazon or elsewhere, they never give that level of detail in their stupid product descriptions.



9
Networking / tracing AFINETK.SYS
« on: November 14, 2020, 01:38:14 pm »
Fortunately, OS/2 provides some low level tools that allow tracing of arbitrary binaries, even if you don't have the source code.
I have now set up tracing for AFINETK.SYS for one of the more common traps that happens at EIP=xxxxx382.

What I can say is that the stack (I mean SS:ESP, not the TCPIP Stack) is being overwritten which leads to addresses to ethernet frames (where the frames memory is located in the MAC driver calling into AFINETK.SYS) being overwritten which eventually leads to a trap when accessing that address.
I am not yet clear of what driver is overwriting the stack: it's either AFINETK.SYS itself or the MAC driver that calls into AFINETK.SYS and that passes over that buffer address.
As I am currently working on FXWRAP.SYS, I'll try to add some logic to prevent the MAC from receiving interrupts during the time it calls into the protocol driver (AFINETK.SYS being the target, with FXWRAP.SYS being the "man in the middle"). Let's see if that reduces or eliminates the traps (when FXWRAP.SYS is active, if it is not, it will unfortunately be bypassed).
If it does, then that would be proof that the MAC driver is running into problems passing over ethernet frames during interrupt time and a new (frame receive) interrupt occuring while it is being busy doing that.

10
Networking / patched AFINETK.SYS: anyone willing to test ?
« on: November 08, 2020, 06:05:46 pm »
There are quite a few bug reports in the AN bug tracker regarding AFINETK.SYS crashing with a trap.

I have now taken a stab in the dark and patched AFINETK.SYS (following a suspicion that I have, it's trial and error) and would like to know from anyone having experienced traps in AFINETK.SYS if that improves the situation and reduces or removes any traps you may have with AFINETK.SYS.

Please not that I left AFINET.SYS unmodified but I guess nobody uses this driver any more (and it's superseded by AFINETK.SYS for any kernel that supports KEE which is about any kernel in use by now).

Let me know by private message where to send it to in case you are interested.

Lars

11
I am trying to use an ftp client within a OS/2 guest running on win 10 host.
Using Virtualbox, I "selected bridged networking" for the guest. The guest receives it's IP address via DHCP. By the way, I am using a WiFi connection from the host to the router and therefore, the selected adapter for the "bridged networking" connection is the WiFi adapter.

From the guest I can ping the outside world, let's say "www.microsoft.com". I can also use a web browser.
What I cannot get to work is using an ftp client from the guest. I tried the standard OS/2 ftp client and also "nftp" but both ftp clients eventually fail to communicate with port 21 (I guess that is the target port of the ftp server I attempt to connect to ?).

Can anyone tell me what I need to change either in my router or on my Win 10 host so that I can run an ftp client from the guest ?


12
I am writing a small tool (or rather, a DLL routine that integrates into the VAC workframe) to search in each archive file of a ZIP file if it contains a keyword/keystring or not.
The first approach was to unzip each archive file from the ZIP to stdout via "unzip -p" and pipe into "find" which then searches for the keyword and gives the proper return code if the keyword was found or not.
That worked but was incredibly slow (for the ZIP file size I was working on). I now decided to run "unzip -c" on the complete ZIP and pipe the output into memory. The "-c" instead of the "-p" will also add the archive names, preceding the archive content, which provides the discriminator to individually search each archive content for the keystring.
The problem is that I need to allocate enough memory for the unzipped content. I just allocated 100 MB (which is eventually freed) but that is potentially a large waste of memory.
Is there an easy and efficient way to determine the overall sum size of the UNZIPPED archive files contained in a ZIP file ?
I need something that I can integrate into an application, not a standalone solution.

13
Networking / Virtualbox, NAT and using ICAT
« on: April 20, 2020, 08:54:02 pm »
Hallo,

I have OS/2 running as a guest under Virtualbox on a Win 10 machine. Within that virtual machine I want to run ICAT in UDP mode.
Then I have a MUT which is running native OS/2 with the debug kernel.
The 2 machines are connected to my router, both use WIFI. The router has IP address 192.168.178.1.

1) the MUT has a statically assigned IP address of 192.168.178.120.
2) the MUT needs to run KDBNET.SYS t so that you can connect via UDP and KDBNET.SYS needs to know the MUTs IP address and a netmask. I have set up IP address 192.168.178.120 and netmask 255.255.255.0.
3) the OS/2 guest is using DHCP. In the past I had also configured with a static IP address in the 192.168.178.x range but occasionally I want to connect to another WIFI access point than my home network in which case this approach will fail (at least I don't know how to make that work).
4) ICAT (executing in the OS/2 guest) requires a target IP address (of the MUT) and a port for correct operation. In the past, I had been using "bridged networking" for the OS/2 guest and I specified 192.168.178.120 as the IP address and port 1000 (the default) which worked fine. Note that port 1001 is also used for the KBDNET connection.

Bridged networking works very unreliably with a WIFI connection and often fails in requesting an IP address via DHCP. Therefore I switched to NAT.
The OS/2 guest now has good network connectivity, but the IP address of my OS/2 guest now is in the range of 10.0.2.x. That results in ICAT failing to connect to the MUT.
What do I have to set up where in order for the connection to succeed ? Do I need to specify some port forwarding for the NAT and if yes which one ?
Or do I need to specify some routes ? If yes, where, in the OS/2 guest or in the MUT ?


Lars

14
Utilities / VLC traps Panorama driver
« on: April 04, 2020, 09:24:26 pm »
Hi,

when I attempt to play an AVI movie in VLC, then VLC will trap in VBE2GRAD.DLL at the very end of the movie. I am using Panorama V1.15.
Is anyone else seeing this problem and can report that as a bug to AN (I am no longer entitled to report bugs).
Here is the POPUPLOG.OS2 and also the partial TRP file from VLC:

Code: [Select]
04-04-2020  20:51:57  SYS3175  PID 0049  TID 0001  Slot 0096
Z:\VLC2\USR\LOCAL\BIN\VLC.EXE
c0000005
1ed81fe9
P1=00000001  P2=bebe25e0  P3=XXXXXXXX  P4=XXXXXXXX 
EAX=00000134  EBX=bf3e25e0  ECX=000001f0  EDX=bebe25e0
ESI=bebe25e0  EDI=bf3e25e0 
DS=0053  DSACC=d0f3  DSLIM=bfffffff 
ES=0053  ESACC=d0f3  ESLIM=bfffffff 
FS=150b  FSACC=00f3  FSLIM=00000030
GS=0000  GSACC=****  GSLIM=********
CS:EIP=005b:1ed81fe9  CSACC=d0df  CSLIM=bfffffff
SS:ESP=0053:0012f06c  SSACC=d0f3  SSLIM=bfffffff
EBP=0012f088  FLG=00010297

VBE2GRAD.DLL 0001:00001fe9

Code: [Select]
______________________________________________________________________

 Exception Report - created 2020/04/04 20:51:44
______________________________________________________________________

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

______________________________________________________________________

 Exception C0000005 - Access Violation
______________________________________________________________________

 Process:  Z:\VLC2\USR\LOCAL\BIN\VLC.EXE (08/24/2019 14:13:20 10,715)
 PID:      49 (73)
 TID:      03 (3)
 Priority: 200

 Filename: D:\OS2\DLL\VBE2GRAD.DLL (09/02/2019 12:47:03 64,585)
 Address:  005B:1ED81FE9 (0001:00001FE9)
 Cause:    Attempted to read from BEBEDC80
           (unallocated memory)

______________________________________________________________________

 Failing Instruction
______________________________________________________________________

 1ED81FE0  JA        0x1ed82002         (77 20)
 1ED81FE2  MOV       ECX, [ESP]         (8b0c24)
 1ED81FE5  MOV       ESI, EDX           (89d6)
 1ED81FE7  MOV       EDI, EBX           (89df)
 1ED81FE9 >REP MOVSD                    (f3 a5)
 1ED81FEB  MOV       ESI, [ESP+0x4]     (8b7424 04)
 1ED81FEF  MOV       EAX, [0x1ed9005c]  (a1 5c00d91e)
 1ED81FF4  INC       ESI                (46)

______________________________________________________________________

 Registers
______________________________________________________________________

 EAX : 0000013A   EBX  : BF3EDC80   ECX : 00000078   EDX  : BEBEDC80
 ESI : BEBEDC80   EDI  : BF3EDC80
 ESP : 0292E720   EBP  : 0292E73C   EIP : 1ED81FE9   EFLG : 00210293
 CS  : 005B       CSLIM: FFFFFFFF   SS  : 0053       SSLIM: FFFFFFFF

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

______________________________________________________________________

 Stack Info for Thread 03
______________________________________________________________________

   Size       Base        ESP         Max         Top
 00100000   02930000 -> 0292E720 -> 02920000 -> 02830000

______________________________________________________________________

 Call Stack
______________________________________________________________________

   EBP     Address    Module     Obj:Offset    Nearest Public Symbol
 --------  ---------  --------  -------------  -----------------------
 Trap  ->  1ED81FE9   VBE2GRAD  0001:00001FE9  between UpdateRect + C9 and SetMTRR - 47

 0292E73C  0000014E   Invalid address: 0000014E

The trap happens in routine "UpdateRect" on a MOVSD instruction because the source address (in register ESI) is invalid.

15
General Discussion / How to upload to Hobbes pub/incoming
« on: March 01, 2020, 03:26:35 pm »
Anyone know what is wrong with Hobbes ? I cannot upload to pub/incoming and I also can neither delete nor rename files that I downloaded but resulted in zero filelength.
Who to turn to ? How to rename or delete files that are now in the way ?


Lars

Pages: [1] 2 3 4