Difference: WebHome (28 vs. 29)

Revision 292012-08-09 - AlviseDorigo

Line: 1 to 1

Welcome to the WMS page

Line: 64 to 64

Known issues

Version of ICE 3.3.5-3 has a bug that is triggered in some particular circumstances. Before explaining it, some details on the bug: there's a piece of code that matches the myproxy server address for correcteness; this check is performed by mean of a (quite) complicated regex that matches the address to be compliant with the FQDN format. The complexity of this regex triggers an high usage of boost's internal memory buffer that can run out of memory matching some particular addresses.

Now, the bug: the addresses that we found triggering this problem are like "ed8ac012f7da92dd487bc8d3edc4a49b" (or even shorter; not any alphanumeric combination is problematic though). Some VOs use addresse like that (LHCb for example)... We also noted that just adding the domain name to those addresses would by pass the boost's memory exhaustion.

To check if ICE keeps crashing for this problem you can follow these steps:

  • login as root in the WMS node
  • stop the daemon the automatically restart WMS services (if any)
  • stop ICE
  • su - glite
  • execute (as glite) /usr/bin/glite-wms-ice --conf glite_wms.conf

After a little while you should receive on the console an error like this:

/usr/bin/glite-wms-ice --conf glite_wms.conf
Logfile is [/var/log/wms/ice.log]
terminate called after throwing an instance of 'std::runtime_error'
what(): Memory exhausted

If this is the case you should proceed to modify the myproxy addresses stored in the ICE's database (thanks to Alessandro Paolini and Sergio Traldi):

1) come back to root user and change dir to ICE's persist directory:

cd /var/ice/persist_dir

2) put all the myproxy-url without the "dot" in the file "file.txt" by executing:

sqlite3 ice.db "select myproxyurl from delegation where myproxyurl not like '%.%';" > file.txt

3) grep -v ^$ file.txt > file1.txt 

4) generate the instructions to update the ICE DB, and put them in a script

cat file1.txt | gawk '{print "sqlite3 /var/ice/persist_dir/ice.db \"update delegation set myproxyurl=\x27"$0".desy.de\x27 where myproxyurl=\x27"$0"\x27;\""}' > script 

(Substitute the example desy.de domain name with yours).

6) execute the script:

chmod +x script


Papers and Presentations

This site is powered by the TWiki collaboration platformCopyright © 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback