Skip to content

error from scram build: AttributeError: 'NoneType' object has no attribute 'st_mode' #83

@missirol

Description

@missirol

In the last few weeks, I encountered the error in [*] a few times when running scram build in a local CMSSW area on lxplus8 nodes.

Some more info.

  • I'm using CMSSW_15_0_17.
  • I'm not doing anything special in my area: I have a few subpackages checked out from CMSSW (git cms-addpkg ..), plus a couple of extra subpackages with my user code.
  • I do not understand what triggers the issue: everything works normally for a few days (compiling, running tests, etc), then out of nowhere I get the error in [*] when trying to compile.
  • I haven't found a workaround (I see the same behavior even if I use a different lxplus8 node, and scram build clean shows the same error). In other words, once I get [*], I cannot recover the situation, and I just end up building another CMSSW area from scratch.
  • I do not have a recipe to reproduce the problem from scratch (but now I have a couple of areas with this problem, and maybe those could be used for diagnostics).

Questions.

  • Any idea what the cause of this issue is ?
  • Even if the problem itself is not caused by SCRAM, maybe it would be useful to add some extra check in SCRAM to make the error message more useful ?

Edit : see #83 (comment) for more insight on the cause of this problem.


[*]

Traceback (most recent call last):
  File "/cvmfs/cms.cern.ch/share/lcg/SCRAMV1/V3_00_84/bin/scram.py", line 114, in <module>
    main()
  File "/cvmfs/cms.cern.ch/share/lcg/SCRAMV1/V3_00_84/bin/scram.py", line 109, in main
    if not execcommand(args, opts):
  File "/cvmfs/cms.cern.ch/share/lcg/SCRAMV1/V3_00_84/bin/scram.py", line 103, in execcommand
    return eval('scram_commands.cmd_%s' % cmds[0])(args, opts)
  File "/cvmfs/cms.cern.ch/share/lcg/SCRAMV1/V3_00_84/SCRAM/Core/CMD.py", line 28, in cmd_build
    return process(args, opts)
  File "/cvmfs/cms.cern.ch/share/lcg/SCRAMV1/V3_00_84/SCRAM/Core/Commands/build.py", line 411, in process
    dircache.checkfiles(opts.reset)
  File "/cvmfs/cms.cern.ch/share/lcg/SCRAMV1/V3_00_84/SCRAM/Core/Commands/build.py", line 91, in checkfiles
    self.checktree(environ['SCRAM_SOURCEDIR'], True)
  File "/cvmfs/cms.cern.ch/share/lcg/SCRAMV1/V3_00_84/SCRAM/Core/Commands/build.py", line 164, in checktree
    self.checktree(sdir, required)
  File "/cvmfs/cms.cern.ch/share/lcg/SCRAMV1/V3_00_84/SCRAM/Core/Commands/build.py", line 164, in checktree
    self.checktree(sdir, required)
  File "/cvmfs/cms.cern.ch/share/lcg/SCRAMV1/V3_00_84/SCRAM/Core/Commands/build.py", line 164, in checktree
    self.checktree(sdir, required)
  File "/cvmfs/cms.cern.ch/share/lcg/SCRAMV1/V3_00_84/SCRAM/Core/Commands/build.py", line 121, in checktree
    curdirs = self.getdir(path)
  File "/cvmfs/cms.cern.ch/share/lcg/SCRAMV1/V3_00_84/SCRAM/Core/Commands/build.py", line 173, in getdir
    if S_ISDIR(st.st_mode) and (not self.buildclass(d)[2]):
AttributeError: 'NoneType' object has no attribute 'st_mode'

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions