The program is written in Dolphin Professional 6.02.
The customer's PC is running Windows XP with 1 GB RAM
I asked her to increase the paging file size, which she did to 4GB, and also
to close all other applications etc, but the problem is still there.
Well over a year ago, I increased the object table size to 33554432 objects,
but this is the first time I have never had this error. Can anybody help
please?
Regards,
Don
Hi Don,
how about instances of some objects in class variables that are not
freed on deployment?
Please look at #onPreStripImage to clean up...
Cheers,
Klaus
Thanks for the suggestion. I'm not sure how I could use #onPreStripImage. It
gets called before the image is stripped. I use a clean image for
deployment, into which I install the application package each time I deploy
the application, so I don't think there can be any objects in class
variables not freed on deployment. Also, this version was released a few
months ago, and the problem with memory hasn't happened until now.
I was wondering if it had anything to do with a recent Windows XP upgrade or
some new security feature Microsoft might have added. For example, when they
made Data Execution Protection turned on by default with Vista, and programs
protected by older versions of Armidillo stopped working. Has something
changed in XP recently?
I wonder if the message means Windows is preventing the application from
reserving the memory rather than there not being enough memory available.
Maybe, there's some obscure security setting in Windows, which prevents
applications asking for so much memory, and it's set on the user's computer.
I don't know if a Dolphin app requests all the memory for the object table
when it starts up, or asks for more incrementally as it needs it. My program
is being prevented from starting because of the error, so it looks like it
requests all the memory when it starts.
Any more suggestions please?
There are messages on this list regarding OT size and memory
allocation but the "Search this group" button of google groups is not
working well and I can not help finding them :(
Cheers
Sebastian
>There are messages on this list regarding OT size and memory
>allocation but the "Search this group" button of google groups is not
>working well and I can not help finding them :(
Just FYI. There's an archive of all the posts to this newsgroup, in
all the various forms it has taken, at ...
... on the "News Archive" page. Download them and search at leisure -
they are just (zipped) text files.
Ian
--
The From address is valid
Hi,
I'm sorry, my knowledge about Armidillo in't very deep, but I do agree
that this (and XP) is the reason for the trouble. I gues Armidillo
crumbles the machine code of the executeable until it has veryfied the
autentication. After autentication pass it reconstructs the original
code and, I belive, it makes a mistake here.
Btw it's only one bit 33554432 = 2^26 = 10000000000000000000000000
Cheers,
Klaus
I think you're right. I'll ask in the Armadillo forum.
Cheers,
Don
I don't want to shrink the size of the OT. Like you, I've never had problems
with it before.
I downloaded the archives and found that Dolphin reserves the memory, but
doesn't use it until it needs to.
I also found that the error message comes from Dolphin, not Windows. In
2004, the message was "Unable to reserve memory for 33554432 objects. Please
reduce maximum OT and restart". Now it is: "Unable to reserve memory for
33554432 objects please close some appliation" (misspelt).
There was also something about another application might be using the
memory. I will ask the client to check the "Page File Useage History" in
Windows Task Manager to see how much memory is being used before my program
is launched.
Regards,
Don
> I also found that the error message comes from Dolphin, not Windows. In
> 2004, the message was "Unable to reserve memory for 33554432 objects. Please
> reduce maximum OT and restart". Now it is: "Unable to reserve memory for
> 33554432 objects please close some appliation" (misspelt).
To be honest I was surprised to find that this message is actually
from the Dolphin VM. Normally we are very conscious of spelling (and
in this case grammar) errors. However, after checking, this is indeed
a message from the VM and, as you suspect, it is when trying to
reserve memory for the object table. It seems the call to the Windows
memory management is failing so, apart from reiterating that there
might be a problem with the Armadillo protection system, I don't know
what to suggest.
I'm on vacation at the moment (until next week) but when I return,
I'll see if Blair has any further suggestions.
Best regards
Andy Bower
Object Arts Ltd