plug.kak icon indicating copy to clipboard operation
plug.kak copied to clipboard

File system loop detected

Open ghost opened this issue 4 years ago • 5 comments

Hi, it's a bit hard to tell if this an issue with kakoune.cr or here but I think there is at least something strange going with plug.kak. I think there are actually two problems but they both appeared today after nothing for a few months. The *debug* buffer says this everytime I open kakoune:

Error: plug.kak: can't require 'kak' module to declare highlighters for plug.kak. Check if kakrc.kak is available in your autoload.
shell stderr: <<<
find: File system loop detected; ‘/home/uver/.config/kak/plugins/plug.kak/..//kakoune.cr/lib/fifo/lib’ is part of the same file system loop as ‘/home/uver/.config/kak/plugins/plug.kak/..//kakoune.cr/lib’.
find: File system loop detected; ‘/home/uver/.config/kak/plugins/plug.kak/..//kakoune.cr/lib/rsub/lib’ is part of the same file system loop as ‘/home/uver/.config/kak/plugins/plug.kak/..//kakoune.cr/lib’.
>>>

Like I mentioned, I think the first thing seems separate. Why would you need a kakrc in the autoload directory? As for the second and third messages, I popped open nnn on those directories and they keep opening infinitely. Maybe not a plug.kak issue but I'm not sure so was curious if anyone could offer some ideas.

Thank you so much.

ghost avatar Jun 06 '21 23:06 ghost

Hi, it's a bit hard to tell if this an issue with kakoune.cr or here but I think there is at least something strange going with plug.kak. I think there are actually two problems but they both appeared today after nothing for a few months. The debug buffer says this everytime I open kakoune:

Error: plug.kak: can't require 'kak' module to declare highlighters for plug.kak. Check if kakrc.kak is available in your autoload.

shell stderr: <<<

find: File system loop detected; ‘/home/uver/.config/kak/plugins/plug.kak/..//kakoune.cr/lib/fifo/lib’ is part of the same file system loop as ‘/home/uver/.config/kak/plugins/plug.kak/..//kakoune.cr/lib’.

find: File system loop detected; ‘/home/uver/.config/kak/plugins/plug.kak/..//kakoune.cr/lib/rsub/lib’ is part of the same file system loop as ‘/home/uver/.config/kak/plugins/plug.kak/..//kakoune.cr/lib’.

Like I mentioned, I think the first thing seems separate. Why would you need a kakrc in the autoload directory? As for the second and third messages, I popped open nnn on those directories and they keep opening infinitely. Maybe not a plug.kak issue but I'm not sure so was curious if anyone could offer some ideas.

Thank you so much.

Hi, thanks for the report!

Yeah, I think that first line is probably because you're using autoload directory, which should not be needed, as plug.kak was created specifically to avoid using autoload

As for the filesystem loop... I'm not sure what'd caused it. Can you upload your kakrc somewhere so I could reproduce it? Also try to see if previous version tag handles this without errors - I've rewritten a lot of parts of plug.kak recently.

andreyorst avatar Jun 07 '21 13:06 andreyorst

Thanks for the response!

plug.kak was created specifically to avoid using autoload

Ok that makes sense. Where would you recommend I store the broken-up parts of my config? Maybe $kak_config/scripts or something and then use plug.kak to source those?

As for the filesystem loop... I'm not sure what'd caused it.

I tried reinstalling kakoune.cr both from plug.kak and my package manager several times last night and that error stayed there but it went away this afternoon when I deleted and installed it for the third time ¯\_(ツ)_/¯

Can you upload your kakrc somewhere so I could reproduce it?

Absolutely: https://github.com/2ver/dotfiles/tree/main/.config/kak

Also try to see if previous version tag handles this without errors

I don't use ever use the tag feature but something like plug "andreyorst/plug.kak" tag "f1c4f35" noload should work right? I tried it and nothing changed (before I fixed it by reinstalling).

I've rewritten a lot of parts of plug.kak recently.

Thank you :)

ghost avatar Jun 07 '21 21:06 ghost

Where would you recommend I store the broken-up parts of my config?

I do it like this:

evaluate-commands %sh{
    config_files="
        commands.kak
        common.kak
        recentf.kak
        plugins.kak
    "

    for file in $config_files; do
        printf "%s" "
            try %{
                source %{${kak_config:?}/$file}
            } catch %{
                echo -debug %val{error}
            }
        "
    done
}

This is all I have in kakrc. Everything else is in these files. This has a benefit of being able to easily select what files I want to load, but has a burden of adding these filenames manually to the list.

plug "andreyorst/plug.kak" tag "f1c4f35" noload

Yes, it should work, but it would be better to go into plug.kak directory and do this manually, because when plug command is available, the plug.kak itself is already loaded, so doing it this way requires double restart after you've modified the kakrc

but it went away this afternoon when I deleted and installed it for the third time ¯_(ツ)_/¯

Have you been experiencing this error since?

andreyorst avatar Jun 20 '21 19:06 andreyorst

I do it like this

Great! I reorganized my config using that.

Yes, it should work, but it would be better to go into plug.kak directory and do this manually, because when plug command is available, the plug.kak itself is already loaded, so doing it this way requires double restart after you've modified the kakrc

I tried figuring that out but I wasn't really sure what to edit once I got in the plug.kak directory so I just added the line back and double restarted.

Have you been experiencing this error since?

Unfortunately, yes. It actually did go away for a while but, now that you replied, I looked and saw the error there again (with and without the previous tag).

shell stderr: <<<
find: File system loop detected; ‘/home/uver/.config/kak/plugins/plug.kak/..//kakoune.cr/lib/fifo/lib’ is part of the same file system loop as ‘/home/uver/.config/kak/plugins/plug.kak/..//kakoune.cr/lib’.
find: File system loop detected; ‘/home/uver/.config/kak/plugins/plug.kak/..//kakoune.cr/lib/rsub/lib’ is part of the same file system loop as ‘/home/uver/.config/kak/plugins/plug.kak/..//kakoune.cr/lib’.
>>>

It doesn't seem to be affecting anything but it's just weird.

ghost avatar Jun 22 '21 05:06 ghost

OK, I'll try to debug this in near future

andreyorst avatar Jun 22 '21 18:06 andreyorst