Clarion 8 insufficient storage error

Hello,
I work with Clarion the last 15 years. Now I work with version 8.0.8658.
I have a strange error and if anyone could help me I appreciate that.
The error is:
Error(8) : cifm$lnew : There is insuficient storage to run the command.

And the details are:

Cannot load file @Patholog.lnk under C:\Vision8\Patholog.

Check the file permission and the existence of that file.

File Name:C:\Vision8\[email protected]*

Path:C:\Vision8\Patholog*

File Name Without Path:@Patholog.lnk*

My application name is Patholog.

Anyone know this error please help.

Thanks in advance!

Michael L. Diamantidis
Greece

Hi Michael,
I often get a similar error on cifm$lcreate. I emailed with Robert in support and here is part of his response.

I suspect the
problem is that you have too many other files (images) in the link.

To confirm this do the following:

In the Solution Explorer, right click on the project and select
Properties

Go to the Compiling tab

Add “;savetmp=>1” (without the quotes) to the end of the
Conditional Compilation Symbols.

Build your project

Go to File/Open File using Redirection file

Enter.lnk into the entry control, where
is the name of your project.

This file lists all files used in the link stage. How many files are
being linked?

Unfortunately, this did not help me because the link file is empty, but it sounds like you might be getting further in the process. I get this error in both 9.0 and 9.1 so it is not a Clarion 8 issue.

Let us know if this helps,
Rick

Here is a little more info. from SV support.

Memory allocation
functions:

cifm$lnew, cifm$lcreate

File Functions:

cif$fileclose, cif$filetruncate, cif$filesize, cif$filetruncate, cif$filedate,
cif$filewrite

cif$fileread, cif$fileseek, cif$fileopen, cif$file, cif$file

Called From:

claasm.dll, claclw.dll, clacpp.dll, clamod.dll and clalpe.dll

isl…plists

see: Too many


Error(8): cifm$lcreate Not enough storage


Recompiled all libs, fixed the issue


As an explanation of the error message:

CIFM$LCreate is a function to create a paged memory pool for the compiler or
the linker. If the VirtualAlloc API cannot reserve the contiguous region of a
specified size, the operation will fail and this error message is reported.
When a system is low on physical memory, which includes both RAM and the swap
file, the OS’s VAD’s (Virtual Address Descriptor) allocation might fail. The
VAD failure will cause the VirtualAlloc call to fail. It means that if the
system is low on physical memory VirtualAlloc could fail.

Now how can this happen is obviously a bit of a mystery as I’m pretty sure you
do have sufficient RAM and swap file size. The fact that it happens on a simple
example like DLLtutor is even more puzzling. I suggest you reboot into safe
mode and see if the result is any different, perhaps some other process is
interfering with OS VAD allocations.

Also although seemingly unrelated; check any icons/graphics being linked in to
the project to see if they are either corrupt or possibly zero-length.

Hi Rick,
Thanks you very much for your answers but the problem still remains. I made the changes in project but it didn’t helps.
The problem I see is the use of large icons (350kb each) and the Clarion can not compile the app because in my app I use 400 icons and over and I see that is the problem. I try to reduce the icons size and we will see.

Thanks in advance!

Michael L. Diamantidis

Hello All,
I inform you that I reduce finally all icons in Clarion 8 apps from 400 KB to 45KB and the compiler works fine.

Thanks in advance!

Michael L. Diamantidis
Vision Computer Applications
Greece

I want to give a quick follow up on cifm$lcreate error.
I recently moved a projects from Clarion 9 to Clarion 10. In the Clarion 9 version I received cifm$lcreate all the time. Every 4th or 5th compile, sometimes more often.
Since migrating the project to Clarion 10 I have received no cifm$lcreate errors.
Clearly something was improved in C10.

1 Like