This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

BL51 says: FATAL ERROR L213 I/O ERROR ON WORK FILE

The full message generated after the compilations
are all done, and BL51 starts. It is:
*** FATAL ERROR L213 I/O ERROR ON WORK FILE: EXCEPTION 0029H: ACCESS TO FILE DENIED
Target Not Created

I verified that the temporary file directories are
all valid, writeable, empty, etc. and that the
environment variables point to them.
The error occurs when the target directory
for the output is empty of any files except .uv2 files.
Reinstalls have no curative effect.

I still get this message.
It affects BL51 v6.02, from the
compiler version 8.05;
also BL51 5.11 from compiler version 7.20

BL51 for version 6.10 works.
LX51 for version 8.05a works; unfortunately I have
customers that need to use BL51.
I have full support, theoretically, but Brian Clough
of Plano TX has basically given up.

Parents
  • Brian Clough made a wonderful diagnostic suggestion:

    "Hello Ray,

    Can you do the following?

    From a command prompt, type:
    SET >xx.txt

    and send the xx.txt file."

    This showed a -bunch- of environment variables that were not being defined in the computer->advanced->environment variable dialogue box of Win 2000. I double checked.

    Oddly, many of them referred to the nonexistent
    folder C:\FSI\TEMP ...

    Since I used to set up DOS systems, I instantly figured that they might be in autoexec.bat.

    And, they were.

    Apparently BL51 uses a hierarchy of environment variables for its temp files. Maybe so that a more precisely-named environment variable can control its behavior exactly? Anyway, it's definitely undocumented behavior. Reinhard Keil might know, but perhaps forgot to mention it (see above comment by him).

    The exact problem was not the TEMP environment variables (which were correct), but some -other- environment variables set by autoexec.bat (where, of course, they were not visible to the computer->advanced->environment variable dialogue box of Win 2000) My autoexec.bat said:

    SET A51INC=C:\FSI\INC
    SET A51TMP=C:\FSI\TEMP
    SET C51INC=C:\FSI\INC
    SET C51LIB=C:\FSI\LIB
    SET C51TMP=C:\FSI\TEMP
    SET AXAINC=C:\FSI\INC
    SET AXATMP=C:\FSI\TEMP
    SET CXAINC=C:\FSI\INC
    SET CXALIB=C:\FSI\LIB
    SET CXATMP=C:\FSI\TEMP

    When this bad stuff was deleted from autoexec.bat, BL51 started working again.

Reply
  • Brian Clough made a wonderful diagnostic suggestion:

    "Hello Ray,

    Can you do the following?

    From a command prompt, type:
    SET >xx.txt

    and send the xx.txt file."

    This showed a -bunch- of environment variables that were not being defined in the computer->advanced->environment variable dialogue box of Win 2000. I double checked.

    Oddly, many of them referred to the nonexistent
    folder C:\FSI\TEMP ...

    Since I used to set up DOS systems, I instantly figured that they might be in autoexec.bat.

    And, they were.

    Apparently BL51 uses a hierarchy of environment variables for its temp files. Maybe so that a more precisely-named environment variable can control its behavior exactly? Anyway, it's definitely undocumented behavior. Reinhard Keil might know, but perhaps forgot to mention it (see above comment by him).

    The exact problem was not the TEMP environment variables (which were correct), but some -other- environment variables set by autoexec.bat (where, of course, they were not visible to the computer->advanced->environment variable dialogue box of Win 2000) My autoexec.bat said:

    SET A51INC=C:\FSI\INC
    SET A51TMP=C:\FSI\TEMP
    SET C51INC=C:\FSI\INC
    SET C51LIB=C:\FSI\LIB
    SET C51TMP=C:\FSI\TEMP
    SET AXAINC=C:\FSI\INC
    SET AXATMP=C:\FSI\TEMP
    SET CXAINC=C:\FSI\INC
    SET CXALIB=C:\FSI\LIB
    SET CXATMP=C:\FSI\TEMP

    When this bad stuff was deleted from autoexec.bat, BL51 started working again.

Children