Long path, fNbytesname

Dear rooters,

I am trying to run CMS related software (OSCAR) on a lcg farm. It uses ROOT 3.10.02 via StorageSvc/POOL, for databeses, file manipulation, etc. During running I got an error saying

Error in TFile::Init: cannot read directory info of file

I looked at the file EVD1**TestG4 and indeed, fNbytesname = 1048, which is greater than the allower limit of 1000 (coded in TFile.cxx). The filename is really long (262 characters). If I look at the content of the file, I can see that the name of the file is given four times, so 4 * 262 = 1048 will be above the limit.

Why is the name listed four times? In other root files I could see it only twice. Can it be some POOL specific problem? Do you have some experience, feedback on this? Of course the increment of the limit 1000 and recompilation of the whole ROOT helps, but I don’t see how to propagate this change through the whole CMS environment (SCRAM, etc.)

I attach the file under the name TestG4.root.

Thank you in advance,
Ferenc Sikler
TestG4.root (15 KB)

Hi Ferenc,

When increasing the limit in TFile to 2000 characters for the file name, I can open your file after a file Recover It remains to be understood why this happens with POOL written files.


you can use software long path tool which is easily available at google, i was facing same problem which i resolved with this tool

The best solution for long path error is using “software long path tool”

use software Long path tool, it is easily available at google,i got positive result with this tool for same error

just try long path program, it is very helpful for me at long path error solution