Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Runtime Error 5311 Unable to create SWAP file

134 views
Skip to first unread message

Kopioteh

unread,
Jun 20, 2000, 3:00:00 AM6/20/00
to

Hi,

I've run into the error "5311 Unable to create swap file" on some of
the Win95/98 machine, but not all. I undestand this could due to
insufficient disk space, file handle, or the "set clipper=". I have
checked the disk space on the local machine and the server, both have
pretty of space. I've also checked the user rights on the server and
basically the same user logon do not have problem on the other machine.
Then I check the file handle, usually in Win95/98 I don't set the
FILES= in the config file, I assume Win95/98 could take care of that,
but anyway I have increased the FILES= to 70, and the SET CLIPPER to
F50, 60 (previously only F45 is used) and still not working. I've also
tried using F50;E0;V21 on the SET command, still not working.
Appreciate any help or hints or clues. Thank you.

KC Wong
-- --


Sent via Deja.com http://www.deja.com/
Before you buy.

Ryszard Rylko

unread,
Jun 20, 2000, 3:00:00 AM6/20/00
to
Kopioteh napisał(a) w wiadomości: <8iml4n$et6$1...@nnrp1.deja.com>...

You can try to set CLIPPER=//F:60 //swappath:MLOCATION where
MLOCATION replace with same directory for both machines, for
example CLIPPER=//f:60 //swappath:H:\tempdir\
Does the error still occures only on some machines ?

Waiting for reply:
=------------------------=
| rry...@jsw.pl |
=------------------------=


tc_fr...@yahoo.com

unread,
Jun 20, 2000, 3:00:00 AM6/20/00
to
Try to increase the enviroment variable in the command.com in the
config.sys

command c:\command /e:512

or more 640 , 1048

Bob Wallis

unread,
Jun 21, 2000, 3:00:00 AM6/21/00
to
Make sure you are "swapping" to a valid directory. I have seen people "set
swapfile" to a non-existant directory. That will give you the error every
time.


Kopioteh <kopi...@my-deja.com> wrote in message
news:8iml4n$et6$1...@nnrp1.deja.com...


>
>
> Hi,
>
> I've run into the error "5311 Unable to create swap file" on some of
> the Win95/98 machine, but not all. I undestand this could due to
> insufficient disk space, file handle, or the "set clipper=". I have
> checked the disk space on the local machine and the server, both have
> pretty of space. I've also checked the user rights on the server and
> basically the same user logon do not have problem on the other machine.
> Then I check the file handle, usually in Win95/98 I don't set the
> FILES= in the config file, I assume Win95/98 could take care of that,
> but anyway I have increased the FILES= to 70, and the SET CLIPPER to
> F50, 60 (previously only F45 is used) and still not working. I've also
> tried using F50;E0;V21 on the SET command, still not working.
> Appreciate any help or hints or clues. Thank you.
>
> KC Wong
> -- --
>
>

Kopioteh

unread,
Jun 21, 2000, 3:00:00 AM6/21/00
to

I've tried all method proposed here, I've tried "SET CILPPER=//F:60
//swapfile: c:\windows\temp", also tried the "COMMAND /E:520" and
"COMMAND /E:1024", none working. Okay, the apps was running fine until
I've made some changes. Could this cause the system to require more
system resources like bigger conventional memory, extended memory? or
something else? Any ideas and opinion welcome. Thank you.


KC


In article <2fV35.346$Rx5.1...@typhoon.mn.mediaone.net>,

--

Luc Moesen

unread,
Jun 21, 2000, 3:00:00 AM6/21/00
to
Hi,

I use the following for one clipper '87 and all Clipper 5 applications :

config.sys
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE NOEMS
DOS=HIGH,UMB
files=255
buffers=20

when available, comment/remove any of these :
DEVICE=C:\WINDOWS\DISPLAY.SYS (EGA,,437)

change country=32,850,c:\windows\command\country.sys
to : country=32,,c:\windows\command\country.sys

use devicehigh for any other device drivers

autoexec.bat
when available, comment/remove :
mode con codepage prepare=((850) C:\WINDOWS\COMMAND\ega.cpi)
mode con codepage select=850

change: lh keyb be,850,C:\WINDOWS\COMMAND\keyboard.sys
to : lh keyb be,,C:\WINDOWS\COMMAND\keyboard.sys

use LH for any other programs such as doskey

comment 16bit realmode drivers for CD-ROM such as
ASPICD.SYS in config.sys and MSCDEX.EXE in autoexec.bat
(but keep them around to start vanilla dos under Win95 when CD-ROM needs to be
accessed)

The NOEMS after emm386 prevents the use of Expanded memory, but leaves more of
Conventional memory in the dos-box, which is the best setting for a clipper 87
application. Change it to RAM to have Expanded memory available to the clipper 5
applications (or better use clipxms1 and 2, see further). Without NOEMS or RAM ,
dos=high,umb will not be active, using up more conventional memory.

To use EMS (expanded) memory replace NOEMS by RAM. Specify the amount in the memory
tab of shortcut to your application, e.g; 1024 or 2048.


Use blinker:

in clipper 87 blinker link script : bun in
blinker executable clipper F255;E0

in clipper 5x blinker link script : bun in
blinker executable clipper //F:255 //E:2048

Do NOT set //E:0 in a clipper 5.x application. This will cause the VMM to run
exclusively with the swapfile, since it cannot use any EMS memory for it.

I recommend linking in clipxms1.obj and clipxms2.obj with a Clipper 5 application :
this allows the VMM to use extended memory in stead of expanded memory.

*******
Clipper uses expanded memory for its VMM or a swapfile when no EMS is available.
Since expanded memory (EMS) is not always available on user machines (with the use of
emm386.exe noems and dos=high,umb to have a maximum of conventional memory
available), a swapfile is used.

Putting E:0, results in no EMS being used even when it is available and using the
swapfile as a result.
To dramatically test this:
make EMS available
put //swappath:'A:' (a floppy)
test it with and without the setting E:0

now you can monitor the use of the swapfile by looking at the floppy drive activity.

*************
Link your appliation in protected mode (Exospace or blinker) and you can forget about
VMM, EMS available, swapfile, ....


Luc Moesen
Luc Moesen
e-mail: luc<dot>moesen@online<dot>be // change <dot>
Efficiency is intelligent laziness. --David Dunham

Kopioteh

unread,
Jun 22, 2000, 3:00:00 AM6/22/00
to
Hi, Luc, thank you very much for your detail posting.

I am running my apps on the Win95/98 machine which basically do not
have those command that you specify in the config.sys and autoexec.bat.
The Win95/98 machine we are running are quite straight forward and
without those "DEVICE" line, except for those "BUFFERS" and "FILES",
that I added only after I encouter problem.

As for the EMM, since we do not use EM386, so there will be not EMM
available, so it logical to set E:0. What I now suspect, is that it not
due to file handles problem. Because if it is a file handle, it should
have DOS Error 4, too many open files. And not unable to create swap
file. Or may be it has to be the Win95/98 environment? Anyway, any
ideas? Please keep coming.

I've tried to access to CA.COM, but was stopped by the extremely slow
connection. Does anyone know what else could cause the problem?

KC Wong

In article <394f73f4...@news.online.be>,

--

Stephen Quinn

unread,
Jun 22, 2000, 3:00:00 AM6/22/00
to
KC

> As for the EMM, since we do not use EM386, so there will be not EMM
> available, so it logical to set E:0. What I now suspect, is

Just because you don't load EMM386.EXE any more doesn't mean that EM isn't
available.

Windows will handle EM for you, so your conclusion that there is no EM
available is incorrect - have a look at the properties of your icon/lnk.

--
HTH
Steve Quinn
The only cure for insomnia is to get more sleep.
Everybody lies, but it doesn't matter since nobody listens.
I wished the buck stopped here, as I could use a few.

Stephen Quinn

unread,
Jun 22, 2000, 3:00:00 AM6/22/00
to

Wong

unread,
Jun 22, 2000, 3:00:00 AM6/22/00
to
Hi Wong, <bg>

This is from the help:
[Start]
5311 VMM Unable to Create Swap File

The virtual memory (VM) subsystem is unable to create a swap file on
disk. This occurs for several reasons, including:

1) The target disk is full;

2) The target directory is full;

3) Insufficient file handles are available;

4) An invalid path is specified in the SWAPPATH parameter of the
CLIPPER
environment variable, or on the command line used to start the
application; or

5) The user has insufficient rights on a network drive to create the
file.

[End]


try this:

SET CLIPPER=//F:128 //SWAPPATH:'%TMP%' //TEMPPATH:'%TMP%'

This will cause all temporary files created by CLIPPER runtime write
to the directory pointed by TMP environment variable. The default for
Win95 are \Windows\Temp. And will solve the bellow problem.

2) The target directory is full;
Root directory have limit of number of directory entries, but
subdirectory don't have this limit

4) An invalid path is specified in the SWAPPATH parameter of the
CLIPPER
If nobody change the setting, the default set by Win95 will always
correct. Try to remove this directory, Win95 will recreate it by next
bootup.

5) The user has insufficient rights on a network drive to create the
file.
The default of TMP will always you local harddisk.

Regards,
Wong <bg>


On Thu, 22 Jun 2000 02:12:55 GMT, Kopioteh <kopi...@my-deja.com>
wrote:

>Hi, Luc, thank you very much for your detail posting.
>
>I am running my apps on the Win95/98 machine which basically do not
>have those command that you specify in the config.sys and autoexec.bat.
>The Win95/98 machine we are running are quite straight forward and
>without those "DEVICE" line, except for those "BUFFERS" and "FILES",
>that I added only after I encouter problem.
>

>As for the EMM, since we do not use EM386, so there will be not EMM

Stephen Quinn

unread,
Jun 22, 2000, 3:00:00 AM6/22/00
to
KC

> As for the EMM, since we do not use EM386, so there will be not EMM
> available, so it logical to set E:0. What I now suspect, is

Luc Moesen

unread,
Jun 23, 2000, 3:00:00 AM6/23/00
to
Hi,

The reason I put in emm386.exe noems is to diable the use of EMS memory and to enable
dos=high,umb, to allow certain items to loadhigh and so to gain maximum conventional
memory. Make sure you have at least 512kb of conventional memory to start with. I
have problems (typically during index updates) when running programs with less
available.

When you do not put emm386.exe in config.sys, both EMS and XMS are available in the
dosbox, depending on the amount you allow for it through the shortcut pif file. The
Clipper VMM system uses EMS. When it is lacking or insufficient it makes a swapfile
on disk.

if you put E:0 you disable the use of EMS and work entirely with the swapfile. This
is not recommended.

I my experience, creating a swapfile on a network drive can cause problems, so I
redirect it to a local path. On win 95/98 I would suggest disabling the write
behind cache and also disabling oportunistic locking. Check out :
http://www.cardbox.co.uk/ntserver.htm and the related microsoft tech articles.

Possibly a virus checker can cause havoc with the swapfile operation.

Delete all previous created swapfiles. They are the files without extension and
without meaning like ABBDEBAI

**************

To check whether a swapfile is used, you can set it to a floppy //swappath:'A:\' and
watch the floppy activity. Now when adding E:0 all activity is forced on the floppy
so you can see what it is like.

A normal run of your program with sufficient EMS should not access the floppy. What
you need to achieve is no need for a swapfile by allowing sufficient EMS memory. The
E: parameter should not be used, as it only limits the amount available to the
clipper application.

Put this is a function and use setkey() to pop it up: (alt-m)
SetKey( K_ALT_M, {|p, l, v| memoryInfo( ) } )


function memoryInfo()
cInfo := ;
padr("Estimated Free Chr Memory", 28)+cd + transform(MEMORY(0),cPict) + CRLF + ;
padr("Unused Conventional Memory", 28)+cd + transform(MEMORY(104),cPict) + CRLF + ;
padr("Available EMS or XMS", 28)+cd + transform(MEMORY(4),cPict)

// display cInfo

Kopioteh

unread,
Jun 27, 2000, 3:00:00 AM6/27/00
to
Hi, Luc, thank you again.

I've tried the method you mentioned, and still doesn't work. I've
change the clipper setting to F50;V21 (get rid of the "E0") and still
encoutering the same problem. Will have to give some thoughts first
before I could really solve the problem, any ideas welcome. Thank you.


In article <3952a681...@news.online.be>,

--

Scott Burke

unread,
Jun 27, 2000, 3:00:00 AM6/27/00
to
1) create a folder on your C: drive. call it " CLIP "
2) add this to your link script.
blinker executable clipper F:65 swappath:'C:\CLIP' temppath:'C:\CLIP'

this will cause the temp and swap files to be created in c:\temp
You should not have a problem unless you are running out of disk space on C:


--
Scott Burke
sbu...@magsonline.com

0 new messages