climateprediction.net home page
Posts by LinAGKar

Posts by LinAGKar

1) Questions and Answers : Unix/Linux : Failing tasks with exit code 12 and 25 (Message 62447)
Posted 20 May 2020 by LinAGKar
Post:
LD_PRELOAD seems to work. What I did was:


    Compile inode64.c from the link above based on the instructions in that file.
    Place it at /usr/local/lib/inode64.so
    Add LD_PRELOAD=/usr/local/lib/inode64.so to /etc/sysconfig/boinc-client (EnvironmentFile in the boinc-client systemd service points to this).



Now, CPDN is running nicely.

2) Questions and Answers : Unix/Linux : Failing tasks with exit code 12 and 25 (Message 62446)
Posted 20 May 2020 by LinAGKar
Post:
Keep in mind that that 64-bit inodes are only used for file systems bigger than 1 TiB, and AFAIK only Inodes that are not in the first 1 TiB of the drive will be too large to fit in 32-bit. So the problem likely won't happen on a near empty file system, and it will never happen on file systems smaller than 1 TiB. Testing it may require filling the file system with 1 TiB of data first.

I'm not sure how common large XFS file systems are, especially for /var/lib, where AFAIK the boinc directory is by default on most distros. So this could be a pretty rare issue. But it based on you first comment, it does seem to happen sometimes.
3) Questions and Answers : Unix/Linux : Failing tasks with exit code 12 and 25 (Message 62444)
Posted 19 May 2020 by LinAGKar
Post:
Or you can put it in VirtualBox, as some other projects have done, which should avoid both file system and library issues.
4) Questions and Answers : Unix/Linux : Failing tasks with exit code 12 and 25 (Message 62443)
Posted 19 May 2020 by LinAGKar
Post:
The problem here has nothing to do with missing libraries. The problem is that XFS uses 64-bit inode numbers, so the stat and readdir system calls returns 64-bit inode numbers, but hadam4_8.52_i686-pc-linux-gnu uses the old stat and readdir functions which only work for 32-bit inodes. It's not something you can fix just by installing extra dependencies.

If it can't be 64-bit (and unless it's poorly written, that shouldn't change the data) then that leaves the other two workarounds I mentioned:


    Compile CPDN with _FILE_OFFSET_BITS=64. Unless the inode numbers are actually used for anything, this should not change anything else.
    Replace calls to stat and readdir with stat64 and readdir64.



There is also the LD_PRELOAD trick mentioned there, I'll try it and see how that works out, though there doesn't seem to be a way to apply it to just one projects, so I'll need to run all of boinc-client with it.

5) Questions and Answers : Unix/Linux : Failing tasks with exit code 12 and 25 (Message 62441)
Posted 19 May 2020 by LinAGKar
Post:
I have an idea about what I think is causing this. The computer getting these errors have the BOINC directory on XFS, which uses 64-bit inode numbers, but CPDN seems to be 32-bit, and by default in 32-bit applications, the stat() and readdir() functions use 32-bit inode numbers, hence the:

Could not read directory attributes: Value too large for defined data type


To fix this, CPDN needs to be compiled with _FILE_OFFSET_BITS=64 or use stat64 and readdir64; or even better, compiled as 64-bit. See https://www.mjr19.org.uk/sw/inodes64.html for a longer explanation.
6) Questions and Answers : Unix/Linux : Failing tasks with exit code 12 and 25 (Message 62437)
Posted 19 May 2020 by LinAGKar
Post:
I'm still getting the same errors after detaching and reattaching.
7) Questions and Answers : Unix/Linux : Failing tasks with exit code 12 and 25 (Message 62424)
Posted 12 May 2020 by LinAGKar
Post:
1. Boinc is using 6.7 GB, and it says it has another 125.46 GB available.
2. I have already restricted Boinc to 1 core
3. I have now detached and reattached the project, but it says communication deferred 1 day, so we'll have to wait and see what happens.
8) Questions and Answers : Unix/Linux : Failing tasks with exit code 12 and 25 (Message 62421)
Posted 11 May 2020 by LinAGKar
Post:
I have a bunch of tasks on one of my computers which failed with exit code 12 or 25.

On ones with exit code 12 I see an error like:
checkdir:  cannot create extraction directory: hadam4h_a21t_209911_4_867_012014556
           File exists

On ones with exit code 25 I see a bunch of errors like:
Could not read directory attributes: Value too large for defined data type

or
checkdir error:  cannot create hadam4h_a0wt_209411_4_868_012016230/datain/ancil/ctldata
                 File exists
                 unable to process datain/ancil/ctldata/stasets/.




©2021 climateprediction.net