Skip to contentSkip to conversation

bison-native cleansstate failing

DISCUSSION Jack Mitchell 2 participants 3 messages Jul 20, 2012

lore
Share & tools
lore
#0 lore raw

I thought this was a python whitespace issue but it turns out not to be, when I try to cleansstate bison-native I get the trace:

NOTE: Running task 1 of 2 (ID: 0, virtual:native:/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb, do_clean)
NOTE: package bison-native-2.5-r2: task do_clean: Started
ERROR: Error executing a python function in /mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb:
OSError: [Errno 39] Directory not empty:
'/mnt/storage/yoctoBuilds/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/temp'

ERROR: The stack trace of python calls that resulted in this exception/failure was:
ERROR: File "do_clean", line 16, in <module>
ERROR:
ERROR: File "do_clean", line 6, in do_clean
ERROR:
ERROR: File
"/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/lib/oe/path.py", line 94, in remove
ERROR: shutil.rmtree(name)
ERROR:
ERROR: File "/usr/lib/python2.7/shutil.py", line 245, in rmtree
ERROR: rmtree(fullname, ignore_errors, onerror)
ERROR:
ERROR: File "/usr/lib/python2.7/shutil.py", line 254, in rmtree
ERROR: onerror(os.rmdir, path, sys.exc_info())
ERROR:
ERROR: File "/usr/lib/python2.7/shutil.py", line 252, in rmtree
ERROR: os.rmdir(path)
ERROR:
ERROR: The code that was being executed was:
ERROR: 0012: for f in (d.getVar('CLEANFUNCS', True) or
'').split():

   ERROR:      0013:        bb.build.exec_func(f, d)
   ERROR:      0014:
   ERROR:      0015:
   ERROR:  *** 0016:do_clean(d)
   ERROR:      0017:
   ERROR: (file: 'do_clean', lineno: 16, function: <module>)
   ERROR:      0002:def do_clean(d):
   ERROR:      0003:    """clear the build and temp directories"""
   ERROR:      0004:    dir =
   d.expand("/mnt/storage/yoctoBuilds/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2")
   ERROR:      0005:    bb.note("Removing " + dir)
   ERROR:  *** 0006:    oe.path.remove(dir)
   ERROR:      0007:
   ERROR:      0008:    dir = "%s.*" % bb.data.expand(d.getVar('STAMP'), d)
   ERROR:      0009:    bb.note("Removing " + dir)
   ERROR:      0010:    oe.path.remove(dir)

ERROR: (file: 'do_clean', lineno: 6, function: do_clean)
ERROR: Function failed: do_clean
NOTE: package bison-native-2.5-r2: task do_clean: Failed
ERROR: Task 0 (virtual:native:/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb, do_clean) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be
rerun and 1 failed.

However when I check the bison-native temp directory:

[build@yoctoBuilder x86_64-linux]$ cd bison-native-2.5-r2/ [build@yoctoBuilder bison-native-2.5-r2]$ ls temp
[build@yoctoBuilder bison-native-2.5-r2]$ cd temp/ [build@yoctoBuilder temp]$ ls -la
total 8
drwxr-sr-x 2 build storage 4096 Jul 20 10:50 . drwxr-sr-x 3 build storage 4096 Jul 20 10:50 .. [build@yoctoBuilder temp]$

Any ideas?

Cheers,

Signature · 5 lines
  Jack Mitchell ([email protected])
  Embedded Systems Engineer
  http://www.embed.me.uk

--
#1 lore raw
Quoted 73 lines · Jack Mitchell

I thought this was a python whitespace issue but it turns out not to be, when I try to cleansstate bison-native I get the trace:

NOTE: Running task 1 of 2 (ID: 0, virtual:native:/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb, do_clean)
NOTE: package bison-native-2.5-r2: task do_clean: Started
ERROR: Error executing a python function in /mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb:
OSError: [Errno 39] Directory not empty:
'/mnt/storage/yoctoBuilds/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/temp'

ERROR: The stack trace of python calls that resulted in this
exception/failure was:
ERROR: File "do_clean", line 16, in <module>
ERROR:
ERROR: File "do_clean", line 6, in do_clean
ERROR:
ERROR: File
"/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/lib/oe/path.py",
line 94, in remove
ERROR: shutil.rmtree(name)
ERROR:
ERROR: File "/usr/lib/python2.7/shutil.py", line 245, in rmtree
ERROR: rmtree(fullname, ignore_errors, onerror)
ERROR:
ERROR: File "/usr/lib/python2.7/shutil.py", line 254, in rmtree
ERROR: onerror(os.rmdir, path, sys.exc_info())
ERROR:
ERROR: File "/usr/lib/python2.7/shutil.py", line 252, in rmtree
ERROR: os.rmdir(path)
ERROR:
ERROR: The code that was being executed was:
ERROR: 0012: for f in (d.getVar('CLEANFUNCS', True) or
'').split():
ERROR: 0013: bb.build.exec_func(f, d)
ERROR: 0014:
ERROR: 0015:
ERROR: *** 0016:do_clean(d)
ERROR: 0017:
ERROR: (file: 'do_clean', lineno: 16, function: <module>)
ERROR: 0002:def do_clean(d):
ERROR: 0003: """clear the build and temp directories"""
ERROR: 0004: dir =
d.expand("/mnt/storage/yoctoBuilds/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2")
ERROR: 0005: bb.note("Removing " + dir)
ERROR: *** 0006: oe.path.remove(dir)
ERROR: 0007:
ERROR: 0008: dir = "%s.*" % bb.data.expand(d.getVar('STAMP'), d)
ERROR: 0009: bb.note("Removing " + dir)
ERROR: 0010: oe.path.remove(dir)
ERROR: (file: 'do_clean', lineno: 6, function: do_clean)
ERROR: Function failed: do_clean
NOTE: package bison-native-2.5-r2: task do_clean: Failed
ERROR: Task 0 (virtual:native:/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb, do_clean) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be
rerun and 1 failed.

However when I check the bison-native temp directory:

[build@yoctoBuilder x86_64-linux]$ cd bison-native-2.5-r2/ [build@yoctoBuilder bison-native-2.5-r2]$ ls temp
[build@yoctoBuilder bison-native-2.5-r2]$ cd temp/ [build@yoctoBuilder temp]$ ls -la
total 8
drwxr-sr-x 2 build storage 4096 Jul 20 10:50 . drwxr-sr-x 3 build storage 4096 Jul 20 10:50 .. [build@yoctoBuilder temp]$

Quoted 1 line

Any ideas?

I think its a race since the task writes out logfiles into temp/ and the command tries to remove all the files. Locally here, it seems to manage to remove leaving the logfile. I'm puzzled why you see that and I don't though...

Cheers,

Richard

#2 lore raw
Quoted 75 lines · Richard Purdie
Quoted 73 lines · Jack Mitchell

I thought this was a python whitespace issue but it turns out not to be, when I try to cleansstate bison-native I get the trace:

NOTE: Running task 1 of 2 (ID: 0, virtual:native:/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb, do_clean)
NOTE: package bison-native-2.5-r2: task do_clean: Started
ERROR: Error executing a python function in /mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb:
OSError: [Errno 39] Directory not empty:
'/mnt/storage/yoctoBuilds/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/temp'

ERROR: The stack trace of python calls that resulted in this
exception/failure was:
ERROR: File "do_clean", line 16, in <module>
ERROR:
ERROR: File "do_clean", line 6, in do_clean
ERROR:
ERROR: File
"/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/lib/oe/path.py",
line 94, in remove
ERROR: shutil.rmtree(name)
ERROR:
ERROR: File "/usr/lib/python2.7/shutil.py", line 245, in rmtree
ERROR: rmtree(fullname, ignore_errors, onerror)
ERROR:
ERROR: File "/usr/lib/python2.7/shutil.py", line 254, in rmtree
ERROR: onerror(os.rmdir, path, sys.exc_info())
ERROR:
ERROR: File "/usr/lib/python2.7/shutil.py", line 252, in rmtree
ERROR: os.rmdir(path)
ERROR:
ERROR: The code that was being executed was:
ERROR: 0012: for f in (d.getVar('CLEANFUNCS', True) or
'').split():
ERROR: 0013: bb.build.exec_func(f, d)
ERROR: 0014:
ERROR: 0015:
ERROR: *** 0016:do_clean(d)
ERROR: 0017:
ERROR: (file: 'do_clean', lineno: 16, function: <module>)
ERROR: 0002:def do_clean(d):
ERROR: 0003: """clear the build and temp directories"""
ERROR: 0004: dir =
d.expand("/mnt/storage/yoctoBuilds/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2")
ERROR: 0005: bb.note("Removing " + dir)
ERROR: *** 0006: oe.path.remove(dir)
ERROR: 0007:
ERROR: 0008: dir = "%s.*" % bb.data.expand(d.getVar('STAMP'), d)
ERROR: 0009: bb.note("Removing " + dir)
ERROR: 0010: oe.path.remove(dir)
ERROR: (file: 'do_clean', lineno: 6, function: do_clean)
ERROR: Function failed: do_clean
NOTE: package bison-native-2.5-r2: task do_clean: Failed
ERROR: Task 0 (virtual:native:/mnt/storage/yoctoBuilds/poky-vanilla.git/meta/recipes-devtools/bison/bison_2.5.bb, do_clean) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be
rerun and 1 failed.

However when I check the bison-native temp directory:

[build@yoctoBuilder x86_64-linux]$ cd bison-native-2.5-r2/ [build@yoctoBuilder bison-native-2.5-r2]$ ls temp
[build@yoctoBuilder bison-native-2.5-r2]$ cd temp/ [build@yoctoBuilder temp]$ ls -la
total 8
drwxr-sr-x 2 build storage 4096 Jul 20 10:50 . drwxr-sr-x 3 build storage 4096 Jul 20 10:50 .. [build@yoctoBuilder temp]$

Quoted 1 line

Any ideas?

Quoted 9 lines

I think its a race since the task writes out logfiles into temp/ and the command tries to remove all the files. Locally here, it seems to manage to remove leaving the logfile. I'm puzzled why you see that and I don't though...

Cheers,

Richard

There are a couple of extra variables on my end that may be encouraging this.

1) This is a virtual machine
2) The build storage directory is hosted via nfs

Do you think it could be an nfs problem with delayed read/writes? It isn't over a physical network, just a virtual one between the virtual machine and host so network latency shouldn't be an issue.

Cheers,

Signature · 5 lines
  Jack Mitchell ([email protected])
  Embedded Systems Engineer
  http://www.embed.me.uk

--