mojira.dev
MCL-9187

Hang when .minecraft folder is a cross-partition NTFS junction

1. Make a NTFS junction from one drive to another using mklink /J C:\...\folder1 D:\...\folder2 (I'm using this to store my desktop folder on another partition)
2. Start the launcher, and set your .minecraft folder to folder1 (or a subdirectory of it). The launcher hangs as soon as you save the profile
3. Launcher hangs with 12.5% (100% usage on one core) CPU usage and 2 MB/s disk usage

Stack trace of the hung thread:

0, ntdll.dll!NtQueryAttributesFile+0xa
1, wow64.dll+0x9f76
2, wow64.dll!Wow64SystemServiceEx+0xfb
3, wow64cpu.dll!TurboDispatchJumpAddressEnd+0xb
4, wow64.dll!Wow64LdrpInitialize+0x23a
5, wow64.dll!Wow64LdrpInitialize+0x172
6, ntdll.dll!LdrInitShimEngineDynamic+0x23d5
7, ntdll.dll!memset+0xde1e
8, ntdll.dll!LdrInitializeThunk+0xe
9, ntdll.dll!ZwQueryAttributesFile+0xc (No unwind info)
10, launcher.dll!SetBootstrapVersionInfo+0x3253c (No unwind info)
11, launcher.dll+0x11504 (No unwind info)
12, launcher.dll!SetBootstrapVersionInfo+0x32d84 (No unwind info)
13, launcher.dll+0x44b39 (No unwind info)
14, launcher.dll+0x39d2a (No unwind info)
15, launcher.dll!SetBootstrapVersionInfo+0x18ec2 (No unwind info)
16, libcef.dll!cef_browser_view_get_for_browser+0x1b19 (No unwind info)
17, libcef.dll!cef_string_multimap_key+0xaea6 (No unwind info)
18, libcef.dll!IsSandboxedProcess+0x5dd58e (No unwind info)
19, libcef.dll!IsSandboxedProcess+0x375f04 (No unwind info)
20, libcef.dll!IsSandboxedProcess+0x375f51 (No unwind info)
21, libcef.dll!cef_string_multimap_key+0x4a4a (No unwind info)
22, libcef.dll!cef_string_multimap_key+0xad34 (No unwind info)
23, libcef.dll!cef_zip_reader_create+0x2fbfbc (No unwind info)
24, libcef.dll!cef_zip_reader_create+0x2fc9d6 (No unwind info)
25, libcef.dll!cef_zip_reader_create+0x27f631 (No unwind info)
26, libcef.dll!cef_zip_reader_create+0x284734 (No unwind info)
27, libcef.dll!cef_zip_reader_create+0x27a27b (No unwind info)
28, libcef.dll!cef_time_to_timet+0x251f16 (No unwind info)
29, libcef.dll!RelaunchChromeBrowserWithNewCommandLineIfNeeded+0x377e45 (No unwind info)
30, libcef.dll!GetHandleVerifier+0x3f2c9 (No unwind info)
31, libcef.dll+0x6ad137 (No unwind info)
32, libcef.dll+0x6ade4e (No unwind info)
33, libcef.dll!GetHandleVerifier+0x3f9cf (No unwind info)
34, libcef.dll!GetHandleVerifier+0x3f5f5 (No unwind info)
35, libcef.dll!GetHandleVerifier+0x12e19 (No unwind info)
36, libcef.dll+0x6ac601 (No unwind info)
37, libcef.dll!cef_string_list_value+0x6fdb (No unwind info)
38, launcher.dll!RunLauncher+0xacc (No unwind info)
39, MinecraftLauncher.exe+0x14635 (No unwind info)
40, MinecraftLauncher.exe+0x145a3 (No unwind info)
41, MinecraftLauncher.exe+0x14428 (No unwind info)
42, MinecraftLauncher.exe+0x8981 (No unwind info)
43, MinecraftLauncher.exe+0x50d08 (No unwind info)
44, MinecraftLauncher.exe+0x5851a (No unwind info)
45, MinecraftLauncher.exe+0x5143c (No unwind info)
46, MinecraftLauncher.exe+0x32400 (No unwind info)
47, kernel32.dll!BaseThreadInitThunk+0x24 (No unwind info)
48, ntdll.dll!RtlInitializeExceptionChain+0x8f (No unwind info)
49, ntdll.dll!RtlInitializeExceptionChain+0x5a (No unwind info)

Linked issues

Comments 4

The native launcher doesn't work well with junctions, see MCL-5294 (via MCL-8824); IIRC this is a boost issue but it's not my area of expertise. But this does seem very odd, and I feel like that should only matter for things that the launcher manages, not the game directory (which the launcher shouldn't need to mess with)...

Please read this comment for developer information on how to change working directories with the new launcher.

I think this was accidentally set as a duplicate of MC-5294 rather than MCL-5294. In any case, I don't want to change the working directory of the launcher.

I had recently moved my whole Desktop to a different partition and made a hard link from the old Desktop to the new partition to avoid breaking things. This resulted in minecraft freezing with high CPU usage. MCL-5294 seems to be about Minecraft ignoring the APPDATA variable, which was marked as "Works as Intended". This bug is about minecraft freezing when the game (not .minecraft) directory is a cross-partition NTFS junction.

Looks like they meant to link MCL-5294, but linked MC-5294 instead. Fixed.

migrated

(Unassigned)

Unconfirmed

Retrieved