次の行のluaコードがありました:
JSON = loadfile("JSON.lua")()
ファイルJSON.luaは、その行の元となったluaコードと同じディレクトリにあります。このコードはしばらくの間機能しましたが、luaソース、JSON.lua、ファイルのアクセス許可、またはluaコードを実行していたディレクトリを変更せずに、その行にnilエラーがあります。(luaコードに影響を与える可能性のある関連する変更はありません。)
アサーションを追加すると、ファイルが見つからないことが原因でエラーが発生したことがわかりました。ファイルのアクセス許可を操作してマシンを再起動しても問題は解決せず、チェックインして完全に機能していたコードをプルバックしてもエラーは解決しませんでした。
上記の行を変更して、そのJSON.luaファイルへの絶対パスを提供することでエラーを解決しました。
絶対パスのないコードがしばらくの間機能し、その後機能しなくなった理由を説明するものはありますか?
注:この動作と非動作の動作は、1週間に2回発生しました。私は戸惑い、修正を見つけましたが、その断続的な動作の説明については本当に興味があります。