This issue tracker is closed. Please visit UPPAAL issue tracker at Github instead.

Bug 63

Summary: St9 Bad Alloc Exception
Product: UPPAAL Reporter: Tilo Mücke <tmuecke>
Component: EngineAssignee: Gerd Behrmann <behrmann>
Status: CLOSED FIXED    
Severity: normal    
Priority: P2    
Version: 3.4.1   
Hardware: Sun   
OS: Solaris   
Architecture:

Description Tilo Mücke 2003-09-29 17:03:52 CEST
Using a Sun Uppaal Server from Uppaal running under Windows and the memory 
reaches a certain limit, the following failure is released:
St9 Bad Alloc Exception
e.g. on Sun UltraAX with 2GB Ram and 3,6GB Swap at 2GB memory consumption
and on Sun Fire 280R with 8GB Ram and 26GB Swap at 4GB memory consumption
How is it possible to use the remaining memory?
Comment 1 Gerd Behrmann 2003-10-02 10:55:59 CEST
The problem is that even though the machine can have plenty of free memory,
there is a limit as to how much as single process is allowed to address.
Actually, there are two problems: 

First, uppaal is a 32-bit process (even on 64-bit Solaris). This means that
there is no way that uppaal can address more than 4GB of memory. 

Second, the operating system only reserves a certain amount of address space for
the user space process. On Windows and Linux the default amount is 2GB (the rest
of the address space is assigned to the kernel). This means  that even though
the machine has more than 2GB, no process can address more memory.  Linux can be
recompiled to assign 3GB to the user space process. On Windows, you can upgrade
to Windows data center edition (very expensive) to get the same effect. 

I don't know the exact limit on Solaris, but it seems to depend on the machine
(as you discovered). I.e. it is 2GB on some machines and 4GB on others. This
might be configurable.

Anyway, as long as Uppaal is a 32-bit program, we cannot address more than 4GB
of memory. Recompiling it is a 64-bit program is not an option at the moment,
since it would instantly double the memory requirements. When developing the
next version of Uppaal, we will try to take care of this problem.

In the meantime, you should turn on aggressive state space reduction and the
compact data structure representation.
Comment 2 Gerd Behrmann 2003-10-10 12:11:32 CEST
We now catch this exception and print an "out of memory" message and refer the
user to this bug.
Comment 3 Troels Smit 2004-10-19 22:23:03 CEST
This "out" of memory occours both on DTU solaris server and my person
workstation, when the process uses more than - say 150 mb of memory.

A very unfortunate bug I would say since 32 bit memory access should have
nothing to do with that ?

Cool program anyways,

s991067 @ REMOVETHIS student.dtu.dk
Comment 4 Gerd Behrmann 2004-12-03 15:22:10 CET
I got a message from Troels Smit confirming that there was no problem after all
(except that UPPAAL crashes when it runs out of memory). Closing the bug.