mojira.dev
MCL-1444

Minecraft freezes in the menu when a click sound should be played

I've just upgraded to 1.6.2, and I've started completely fresh by deleting all contents of the .minecraft directory.

The launcher downloaded and started 1.6.2. The first click on a button in the menu worked as expected, however, no click sound was played. On the second click, the game froze completely, I had to kill javaw.exe with Task Manager. I've retried multiple times, freeze always occurred at the second button click. This rendered the game unplayable.

After kill, the launcher always displays the following error (full log attached):

Client> Error in class 'CodecJOrbis'
Client> Unable to acquire inputstream in method 'initialize'.
Client> ERROR MESSAGE:
Client> minecraft:sound/random/click.ogg

I noticed that the capitalization of the directory name isn't consistent with the actual contents of the directory .minecraft\ASSETS, the subdir was named 'SOUND' and not 'sound', as it is spelled in the log. So I renamed the directory to 'sound' and tried again, and hooray, it worked.

I don't know why this bug doesn't affect all users, maybe it's because my .minecraft is symlinked to a network share, which is served by a Linux server running samba. Windows NTFS is case preserving, but not case sensitive, but the file system on the server is case sensitive.

Please keep the names of files and directories which are installed consistent with how they are referenced in your code. It is bad practice to make assumptions about file system properties like case handling, which are inconsistent across platforms.

Linked issues

Attachments

Comments 5

There is no part in the code which is referencing to a directory SOUND, every file is taken from sound.
That problem is clearly on your side.
To see what happens, quit the game and launcher delete .minecraft, restart the launcher and attach the complete output of the development console of the first run of the launcher here.

Did you set short preserve case = yes in smb.conf ?

Yes I know the Minecraft code references 'sound', because that is was the logfile tells us. The problem is the filesystem, which contains 'SOUND' instead, because the Launcher created it that way. Yes, I started with an empty .minecraft.

However, I retried it just now a couple of times, each time with a fresh .minecraft, and it looks the result is not deterministic. I sometimes got 'SOUND' and sometimes 'sound'. I also spotted more directory names which are sometimes uppercase and sometimes not, for example, in four tries, I got the following combinations for one specific subdir:

.minecraft/assets/SOUND/MOB
.minecraft/assets/sound/MOB
.minecraft/assets/sound/mob
.minecraft/ASSETS/SOUND/mob

I will attach full file listings of the state of .minecraft after a fresh install and launch of the game for all my four retries. I also attach the full debug log of the launcher from the last try. The log doesn't contain any uppercase names, so I'm somewhat puzzled from where they come.

My smb.conf doesn't contain the setting you mentioned, but it looks like it happens only when .minecraft points to the network share. I couldn't reproduce it on the local filesystem.

This is neither a Launcher nor a Minecraft bug.
Something is wrong with your filename mangling either on the Windows side or on the Samba side.
(I personally suspect the Windows symlink....)

Yes it looks so. However, I'm not convinced. I've never seen this problem before, and I use Windows symlinks pointing to network paths quite often for the Userdata of many of my programs and games. For example, my Firefox and Thunderbird profiles are redirected to the network in the same way. I just searched all those directories on the server side and couldn't find a single subdir whose name was completely uppercase. Maybe Java or some 3d party lib you use is to blame here?

This issue was already reported as MCL-1001.

Also, I made further tests, which show that a file system / OS / network server error is very unlikely, and that something must be wrong with the launcher. I described them in a new comment in MCL-1001.

Kolja Nowak

(Unassigned)

Unconfirmed

Retrieved