Skip to content

require fails on Windows when the resolved absolute path reaches 260 characters #1286

Description

@soyuta
C:/
   tmp/
     test/
       init.luau
       imsooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooolong.luau
print(
	#"C:\\tmp\\test\\imsooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooolong.luau"
)

require(
	"@self/imsooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooolong"
)
> lute run init.luau
259
success

If I add one more "o" here, bringing the absolute path length to 260 characters, the following error occurs:

> lute run init.luau
260
error requiring module "@self/imsoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooolong": could not resolve child component "imsoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooolong"
stacktrace:
[C] function require
./init.luau:5

Since Lune doesn't have this issue, it doesn't seem to be a limitation of Luau itself. (Lune works fine even with paths over 500 characters long)

When using a package manager like pesde, it's fairly common for packages to use Git tree IDs as version IDs, so I've often run into cases where the absolute path exceeds 260 characters.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingruntimeWork in the C++ runtime portion of the codeupstream

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions