You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems opening a file may sometimes fail because the current process is not in the right drive directory. This is likely due to a race condition. Relevant code from core.fs:
if (chdir(dir) <0) {
LOG_WARN("Couldn't change into drive directory of '%s:%s' ('%s')", drive, path, dir)
goto chdir_error;
}
... // between when we changed into dir and when realpath is called, we may have changed directories on another threadchar*abs_path=realpath(path, NULL); // abs_path is NULL, realpath fails with "No such file or directory"
Example log:
[VERBOSE core.fs -> ./core.fs/functions.h:130 -> fs_open] realpath("cfg:cursors/drag.svg") (from within "/home/obiwac/.aqua//conf"): No such file or directory
[WARN core.fs -> ./core.fs/functions.h:224 -> fs_mmap] Descriptor pointer is NULL
[INFO aquabsd.alps.svg -> ./aquabsd.alps.svg/functions.h:23 -> load_svg] Load SVG (0x0)
[VERBOSE aquabsd.alps.svg -> ./aquabsd.alps.svg/functions.h:42 -> load_svg] SVG hash is aa8f1bc7fdb8e660
This kind of problem wouldn't happen if POSIX had a proper way of checking path hierarchy ;)
The text was updated successfully, but these errors were encountered:
It seems opening a file may sometimes fail because the current process is not in the right drive directory. This is likely due to a race condition. Relevant code from
core.fs
:Example log:
This kind of problem wouldn't happen if POSIX had a proper way of checking path hierarchy ;)
The text was updated successfully, but these errors were encountered: