Menu

#167 Large number of files cannot be opened

open
nobody
None
5
2018-01-03
2016-12-02
No

When starting a program that tries to write in more than 150 files there is a message that not all files could be opened. The application mentions as a possible reason that the number of files as specified in CONFIG.SYS is too low.

VirtualBox 5.1.10
FreeDOS 1.1

AUTOEXEC.BAT:
SHARE /F:6000 /L:100

CONFIG.SYS:
DOS=HIGH,UMB
DEVICE=C:\FDOS\BIN\HIMEMX.EXE /NUMHANDLES=200
FILESHIGH=255

Changing "FILESHIGH=255" into "FILES=255" does not solve the problem.

Discussion

  • Matthijs Dijkstra

    Correction in CONFIG.SYS:
    /NUMHANDLES=128

    This does not solve the problem either.

     

    Last edit: Matthijs Dijkstra 2016-12-02
  • Matthijs Dijkstra

    A few additions:
    1. The same DOS-application works fine under Windows XP in a DOS-shell.
    2. The actual number of files opened for writing will be lower than 150, but definitely higher than 40-50.

     
  • Shidel

    Shidel - 2016-12-04

    Is this still an issue under FreeDOS 1.2?

     
  • Matthijs Dijkstra

    Possibly..
    The FreeDOS 1.2 beta release did not contain FTP, which I needed to transfer the DOS-application into FreeDOS. Therefore I was unable to finish the testing in FreeDOS 1.2.
    I am glad to test when a new beta release is available that includes FTP-support.

     
    • Anthony Williams

      FTP is part of mTCP and needs setup via its own DHCP first (and suitable packet driver, e.g. PCNTPK for VBox). It should already be included as a .ZIP package, but maybe it's not in FD12LITE?

       
  • Matthijs Dijkstra

    In the FreeDOS installation I can't find a .ZIP package, except PATCHES.ZIP.
    I installed FreeDOS from the downloaded "FD12CD.iso" dated 24-11-2016 on VirtualBox 5.1.10, following the installation procedure as described on http://wiki.freedos.org/wiki/index.php/VirtualBox_-_Chapter_3. I searched for "DHCP", "mTCP" and also for "FTP", but it not there.
    After installing the previous FreeDOS version from "fd11src.iso", the file "FTP.EXE" exists in the folder "C:\FDOS\BIN\". With this previous version I have no problem with networking.

     
  • Shidel

    Shidel - 2016-12-08

    The easiest way to locate and install the extra networking packages. You did a full installation. Then insert the CDROM again and run "FDIMPLES". Use Up/Down/Tab/Space to navigate. This requires either CD iso or the big "FULL" USB image. The small "LITE" USB image does not contain any "EXTRA" uninstalled packages.

     

    Last edit: Shidel 2016-12-08
  • Matthijs Dijkstra

    Thanks! I will try to follow your installation instruction although I don't have a CDROM.
    If successful I will test the original issue that I encountered in FreeDOS 1.1.

     
  • Matthijs Dijkstra

    I couldn't use FDI from Oracle VirtualBox. Will try again in my Christmas holiday.

     
  • Anthony Williams

    I honestly hate to point to my own weak kludge of a floppy image, but it does come with mTCP, and FTP should work by default (assuming you have a working packet driver, it only comes with two: PCNTPK and NE2000). If in doubt of what you have, run "pcisleep q02" (and check online for what device).

    https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/unofficial/metados/

    https://github.com/pciutils/pciids

    If this doesn't work (or can't easily be made to work by you, which would be strange as it's fairly simplistic), then you'll have to be extremely specific on what you're trying to do, what you tried, the versions you tested, etc.

    P.S. I have successfully tested FTP with VBox 5.1.10 (Win64 host) although I see that 5.1.12 was just released today.

     
  • Matthijs Dijkstra

    UPDATED ON 26-DEC-2016

    Thanks for the support!

    Retested the original problem with the latest versions of VirtualBox and FreeDOS, but it still fails.

    PROBLEM:
    When starting a program that tries to write in more than 50 files there is a message that not all files could be opened. The application mentions as a possible reason that the number of files as specified in CONFIG.SYS is too low.

    ENVIRONMENT:
    VirtualBox 5.1.12 r112440 (Qt5.6.2)
    FreeDOS 1.2 (FD12CD.iso dated 24-Nov-2016 and later the newer version dated 25-Dec-2016)

    AUTOEXEC.BAT:
    SHARE /F:6000 /L:100

    CONFIG.SYS:
    DOS=HIGH,UMB
    DEVICE=C:\FDOS\BIN\HIMEMX.EXE /NUMHANDLES=128
    FILES=255

    NOTES:
    [Version 24-Nov-2016] After booting I observed the message "Kernel: allocated 45 Diskbuffers = 23940 Bytes in HMA". It is probably not related to the specified problem, but I was triggered by the number 45 which could be related to the limited number of files that is opened for writing.
    [Version 25-Dec-2016] In the boot process I observed "Warning: no suitable page frame found, EMS functions limited." Unclear if this warning could be related to the specified problem.

    ATTACHMENTS:
    1. My installation procedure.
    2. Screenshot with boot messages.

     

    Last edit: Matthijs Dijkstra 2016-12-26
  • Anthony Williams

    Assuming that the program ever correctly worked at all (e.g. under traditional MS-DOS) and that the error message is accurate, this is more likely a configuration error (although the chance of FD kernel bug is still not nil). But we can't debug your problem remotely. You'll have to fiddle with settings (e.g. try FILES=150 and NUMHANDLES=80), remove any unnecessary drivers from your config files (e.g. JEMMEX / JEMM386 and SHARE), and maybe even test a few different kernels (e.g. older 2041).

    BTW, XP should still allow you to make a system floppy (as does Win7), and RUFUS should be able to make a bootable MS-DOS USB from that, in case you feel that testing on MS-DOS proper is a good idea. Otherwise, not much can be determined from afar. Although (AFAIK) XP used CONFIG.NT and AUTOEXEC.NT config files for NTVDM, so looking at those settings might perhaps shed some further light on the problem.

     
  • Matthijs Dijkstra

    Thanks for the suggestions!

    Over the years many old PCs and laptops have broken down. That is the main reason to consider virtualization. If the legacy software could be used under FD inside VirtualBox, then it would be possible to continue using the legacy software for many more years.

    The legacy software was used 20 years ago by thousands of small companies. However, the software was known for its huge memory consumption. Using SHARE with /F:6000 /L:100 is mandatory under Windows XP and is actually checked by the software. The software doesn't start without this setting. Today I tested the software on an 20-year old IBM Aptiva computer with Windows 95. On this very old computer the software runs without problems.

    In VirtualBox I installed a Windows XP iso disk image and installed the legacy software as well. Unfortunatly the same problem occurs (large number of files...). So you are probably right that it is unlikely a FD kernel bug causing the problem.

    Would QEMU with FD be a solution direction if fiddling with settings doesn't solve the problem? (I tested already many settings,)

     

    Last edit: Matthijs Dijkstra 2016-12-28
  • Matthijs Dijkstra

    Happy New Year,
    Last year I didn't have time to continue the testing.
    During Christmas I tried again to run the accounting software on FreeDOS. Unfortunately it still doesn't work. I tested with different SHARE-versions. I also testedthe accounting software with vDosPlus, but also without success.
    Although I really like FreeDOS, I can't use FreeDOS to run the old DOS-program. The program still works on my very old Windows 95 computer, but I am afraid that this computer will fall apart pretty soon.
    Thanks for all support and all the best!

     

Log in to post a comment.