Giter Site home page Giter Site logo

1.18.2 logs error about chat_heads HOT 8 CLOSED

zax71 avatar zax71 commented on July 20, 2024
1.18.2 logs error

from chat_heads.

Comments (8)

Fourmisain avatar Fourmisain commented on July 20, 2024

This doesn't look like it's caused by Chat Heads at all.
Cloth Config tries to create the config directory which in your case throws a FileAlreadyExistsException.
According to the javadocs, this should only happen when there's a file named config and it thus can't create a directory with that name.

Do you have a file named config in your minecraft profile (C:\Users\Admin\AppData\Roaming\.1.18 fabric)?
If so, it might be another mod that incorrectly tries to create the config directory.
Deleting the config file and creating a config directory manually should fix the issue.

If that's not it, I'm not quite sure what's going on because this is not an issue in the code but something with your file system or potentially with file/user permissions.
Do you maybe use symbolic links or junctions? Maybe there's a broken link somewhere in your profile path?
Maybe your user doesn't have permission to access/create the config directory or something?

from chat_heads.

zax71 avatar zax71 commented on July 20, 2024

Sorry for waiting so long but here i am :)

yes, i do have a config directory created, i copied it over from my 1.18.1 installation and i do use symlinks but there isn't one on the config directory. From what i can see the permissions look fine too

from chat_heads.

Fourmisain avatar Fourmisain commented on July 20, 2024

Hm... the symlinks are the most likely cause, but the weird thing is that I cannot reproduce this behavior at all.

There's this old JDK bug report that looks like it explains what's happening:
createDirectories goes through all subpaths from root up, checks if it is a subpath doesn't exist and creates a directory. In the case when a subpath exists, it checks whether it is a directory and throws the FileAlreadyExistsException if it isn't.

That means some subpath in C:\Users\Admin\AppData\Roaming\.1.18 fabric\config isn't recognized as a directory.
I thought this simply meant there's a symbolic link in there (since they are literal files with a link to another directory and often aren't handled like directories), but when I try, it still succeeds.

Maybe you can try replacing your symbolic links with junctions instead, they are specifically made for directories and much more compatible with all kinds of software (and e.g. also necessary if you wanna use links on a network drive).

I can highly recommend using Link Shell Extension to make link creation easier.

from chat_heads.

zax71 avatar zax71 commented on July 20, 2024

I could try replacing my symlinks with junctions but that will take a while and it seams strange for it to break on a minor version change. I did just notise that my config folder is symlinked if that changes anything.

Also, thanks for recommanding that utility. I allready have a GUI based tool that makes it easier so i'll keep using that :)

from chat_heads.

Fourmisain avatar Fourmisain commented on July 20, 2024

I did just notise that my config folder is symlinked if that changes anything.

That's it!
Just tested it, it fails if the last subpath is a symlink, which is pretty weird.
The good news is though that it doesn't fail if it is a junction.

from chat_heads.

zax71 avatar zax71 commented on July 20, 2024

Thanks for that! I’ll give it a try later :)

Also, thanks for your help on an issue that is unrelated to your mod :)

from chat_heads.

Fourmisain avatar Fourmisain commented on July 20, 2024

Also, thanks for your help on an issue that is unrelated to your mod :)

Haha, if it's an interesting problem, I like helping out!
You never know if you might run into it too 😄

from chat_heads.

Fourmisain avatar Fourmisain commented on July 20, 2024

Ah, forgot to close this one.
(Using junctions instead of symlinks fixed the issue on my end.)

from chat_heads.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.