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

Bug 506

Summary: uppaal-4.0.13 verifyta statically linked?
Product: UPPAAL Reporter: S Schivo <s.schivo>
Component: EngineAssignee: Alexandre David <adavid>
Status: NEW ---    
Severity: normal CC: bogdoll
Priority: P2    
Version: unspecified   
Hardware: PC   
OS: Linux   
Architecture:

Description S Schivo 2010-11-19 15:27:45 CET
Version of UPPAAL: 4.0.13
I am trying to run verifyta from another tool. In order to do this, the filesystem of the tool contains a "bin" directory in which the verifyta executable has been copied.
But when verifyta is run asking for the verification of a property on an UPPAAL model, it responds with the following output:
myself@mypc:toolBaseDir$ bin/verifyta -t0 -o2 -Y -foutput model.xml query.q
verifyta: ../sysdeps/unix/sysv/linux/getpagesize.c:32: __getpagesize: Assertion `_rtld_global_ro._dl_pagesize != 0' failed.
Aborted

As far as I can understand from similar errors found around the internet, it seems that some "static library linking" is involved in the error.
The error does not happen if verifyta is run using the full path in which it is contained:
myself@mypc:toolBaseDir$ ../Programs/uppaal-4.0.13/bin-Linux/verifyta -t0 -o2 -Y -foutput model.xml query.q
Options for the verification:
  Generating some trace
  Search order is random depth first
  Using conservative space optimisation
  Seed is 1290176539
  State space representation uses minimal constraint systems

Verifying property 1 at line 1
 -- Property is satisfied.
Writing example trace to output-1.xtr

Hoping to help you in making more clarity, here is the model with the query which I used in order to get the error: http://disi.unitn.it/~schivo/model_query.tar.gz
Comment 1 Jonathan Bogdoll 2011-09-01 09:34:53 CEST
I can confirm this problem.

This is a problem with certain versions of glibc (notably 2.12), where calling dlopen() from within a statically linked executable produces the __getpagesize assertion failure as described below.

The upstream problem is summarized here: http://sourceware.org/bugzilla/show_bug.cgi?id=11929

See also: http://comments.gmane.org/gmane.comp.lib.glibc.user/579

As a result, a statically linked verifyta is unusable when called directly on many Linux systems using this version of glibc. It affects all current versions (4.0.13, 4.1.4, 4.1.4-64).