It's possible to create a non-void function that won't return a value. When such a function is called the engine crashes.
Steps to Reproduce:
1. Open the attached system in UPPAAL
2. Switch to the Simulator view
The engine crashes and the GUI receives a "java.io.IOException: Server connection lost" exception.
The engine shouldn't crash. In best case the syntax checker should warn that control may reach end of the non-void function.
Created attachment 146 [details]
Confirmed. To be fair, UPPAAL does check for the presence of a return statement, but apparently there is a bug that makes it possible to fool it (as demonstrated by your model).
The problem is triggered by the if-statement not having an else case.
Resolved on the 4.0 branch from rev. 2982.
Fix confirmed in 4.0.6.
The bug is not yet fixed in other branches than 4.0.