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

Bug 509

Summary: Unable to run verifyta on linux 64 bit
Product: UPPAAL Reporter: Jimmy Merrild Krag <kragj>
Component: EngineAssignee: Alexandre David <adavid>
Status: RESOLVED WORKSFORME    
Severity: blocker CC: bnielsen, bv1645, marius
Priority: P2    
Version: unspecified   
Hardware: PC   
OS: Linux   
Architecture:

Description Jimmy Merrild Krag 2011-02-22 14:18:09 CET
Version is 4.1.3 (rev. 4577)

I have issues running verifyta on linux 64 bit.

On the benedict cluster I get:
--- OUTPUT BEGIN ---
H�H�����../lLIBC_PRIVATE
Aborted
--- OUTPUT END ---

On two newly installed Ubuntu 10.04 servers I get:
--- OUTPUT BEGIN ---
Internet connection is required for activation.
Aborted
--- OUTPUT END ---
The servers do have internet connection.

On my own Ubuntu 10.10 desktop I get:
--- OUTPUT BEGIN ---
verifyta: relocation error: /lib32/libresolv.so.2: symbol strlen, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
--- OUTPUT END ---
Comment 1 Jimmy Merrild Krag 2011-02-22 14:23:42 CET
Newest stable version produces the same results.
Comment 2 Marius Mikučionis 2011-03-15 15:32:06 CET
I don't have access to 64bit Ubuntu so my experience is very limited.
perhaps getlibs could help here:
http://ubuntuforums.org/showthread.php?t=474790
Comment 3 Jimmy Merrild Krag 2011-03-15 16:38:25 CET
We have tested getlibs on a virtual 64 bit server.
Using getlibs resolves the issue with "Internet connection is required for activation.", but results this message:

--- OUTPUT BEGIN ---
verifyta: relocation error: /lib32/libresolv.so.2: symbol strlen, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
--- OUTPUT END ---

This message also occurs on the AAU Fyrkat cluster, which is where we need to run jobs.
Comment 4 Marius Mikučionis 2011-03-15 16:40:05 CET
I tried the 64bit Ubuntu 10.10 image from here:
http://www.thoughtpolice.co.uk/vmware/

I see no issues with verifyta 4.1.3.
I also don't see /lib32 directory there, perhaps in your installation you have some conflicting libraries... 
there are two copies of libresolve.-2.12.1.so in /lib and /lib64 directories and both of them are 64 bit.
Could you inspect what package does /lib32/libresolv.so.2 belongs to?
what is the output of "dpkg -S /lib32/libresolv.so.2" ?

As for the Internet connection issue, I believe the problem is that you have a bare binary without uppaal directory, where verifyta is trying to create license file and fails. The error message is not good, but please keep the directory structure intact.
Comment 5 Jimmy Merrild Krag 2011-03-15 17:32:27 CET
Here is the output from "dpkg -S":
--- OUTPUT BEGIN ---
beruic@beruic-virt-64:~$ dpkg -S /lib32/libresolv.so.2
libc6-i386: /lib32/libresolv.so.2
--- OUTPUT END ---

We have downloaded the Ubuntu 10.10 64bit image ourselves, and made a testrun on it. It didn't work for us however, both before and after running getlibs on verifyta. However, we updated the machine through apt prior to testing. Did you update the machine before you tested?

So far, we have always uploaded the verifyta executable and run it with arguments, which have worked fine until sometime around Christmas, and still works fine on the *.cs.aau.dk servers (except Lisa where the kernel is too old). Something new in the 64 bit ubuntu updates must have broken this. Perhaps a recompilation of verifyta could resolve the issue.

All the resources available to us (mainly the Fyrkat cluster) are Ubuntu 10.04 64 bit, and all experience this issue.
Comment 6 Marius Mikučionis 2011-03-15 17:33:54 CET
No, I did not upgrade. Let's see...
Comment 7 Jimmy Merrild Krag 2011-03-15 17:47:02 CET
We just tried unupdated as well. Didn't work.
What does your "uname -a" say?
Comment 8 Marius Mikučionis 2011-03-15 17:47:43 CET
I upgraded to the latest (except the kernel), which included new libc, however no problems with verifyta and no /lib32 directory.

please try to get rid of libc6-i386.
Comment 9 Marius Mikučionis 2011-03-15 17:49:07 CET
I've got Linux ubuntu 2.6.35-22-server #35-Ubuntu SMP Sat Oct 16 22:02:33 UTC 2010 x86_64 GNU/Linux

But I think the kernel is irrelevant, it's the libc i386
Comment 10 Jimmy Merrild Krag 2011-03-15 17:53:04 CET
libc6-i386 is not installed in the image we just tested on. Still it doen't work. 
Comment 11 Jimmy Merrild Krag 2011-03-16 10:25:30 CET
What model and query file do you use for testing?
Comment 12 Marius Mikučionis 2011-03-16 10:33:58 CET
I have my own model, I also tried all the demo examples, they all work.
Comment 13 Marius Mikučionis 2011-03-16 18:04:45 CET
1) ia32-libs are needed for 32bit programs, so install it. without ia32-libs verifyta fails on gethostbyname(3) with "Unknown server error" and concludes that there is no internet connection.

2) I still don't know why there are linking problems but it seems that it is somehow connected with license checking code, because the problem goes away when verifyta discovers the ../license.txt file.
It also could be that the license check is performed before the proper linking and thus gethostbyname is not completely linked (just a wild guess).

3) the very latest build from trunk does not have this problem, it actually creates the license.txt if it cannot find one. So I suggest to use it as a temporary workaround.

Note that the license is bound to a machine, thus on the cluster you will have to have a license file on every computer.