Unter load schlägt getcwd manchmal fehl

h^2

hat ne Keule +1
Also das Problem ist eigentlich genau wie der Titel sagt: wenn das System hohe load hat, dann gibt in seltenen Fällen getcwd ein Permission denied zurück. Ich habe hier einen Build server, der mehrere Stunden Dinge auf FreeBSD baut, und jede Nacht habe ich eigentlich immer ein
Code:
gmake: getcwd: Permission denied
und dann wird das entsprechende Target eben nicht gebaut. Es tritt aber nicht nur bei gmake auf, auch der Job der das Manual baut (python), sagt ab und zu:
Code:
os.path.join(os.getcwd(), 'dummy'),
OSError: [Errno 13] Permission denied
Das ganze hat nichts mit directory permissions zu tun und ist auch nicht ohne weiteres reproduzierbar. Es tritt aber regelmäßig unter load and an unterschiedlichen Stellen auf.

Wie kann ich das weiter untersuchen?

Ist ein FreeBSD 10.2 mit ZFS in einem SSD-MIRROR. Fehlerhafte Platte kann ich also relativ sicher ausschließen.

Danke für Tipps!
 
Das sollte nicht von der Last abhängig sein.

EACCES Read or search permission was denied for a component
of the pathname. This is only checked in limited
cases, depending on implementation details.
 
Was möchtest du mir damit sagen? Es ist nicht reproduzierbar und tritt immer an anderen Stellen auf, und eben nur unter last... :confused:
 
Das klingt mal wieder nach einem Bug in getcwd(). Es wäre auch bei Weitem nicht der erste, denn dank der verschiedenen Caches zwischen Dateisystem und Syscall-Interface sowie verschiedenen, auf dem Dateisystem arbeitenden Threads ist das alles nicht unbedingt trivial... Ich würde mal auf freebsd-fs@ fragen oder einen Bugreport aufmachen.
 
Das mit dem Bug liegt auf der Hand. Das meinte ich damit, dass es nicht von der Last abhängen kann, ob getcwd EACCESS liefert. Yamagi hat Recht und es besser formuliert :-)

Rob
 
Back
Top