I'm answering my own question about the walk bug.
I changed line 342:
for child in self:
for child in self.listdir():
and now it works. Maybe it should be fixed in another way, but this seem to work.
I think this bug applies to all walk methods.