Skip to content

Some directories are separate from --user-data-dir #6834

Open

Description

@code-asher

Steps to Reproduce

Set --user-data-dir.

Expected

Everything should move to that directory.

Actual

Some things move, but not:

  • heartbeat
  • coder-logs
  • Generated certificates

Workaround

You can set xdg data home environment variable instead of using the flag.

Notes

Changing this could be considered be a breaking change? If someone was setting --user-data-dir but then relying on these files being in the other location. Not 100% sure how best to proceed. Maybe check if they exist, and if not use the new location, but even that could be breaking.

Maybe introduce a new flag and deprecate --user-data-dir.

Activity

  1. added
    bugSomething isn't working
    triageThis issue needs to be triaged by a maintainer
    on Jun 10, 2024
  2. bdkuhman commented on Jun 18, 2024

    @bdkuhman

    Might be related, or a separate issue.

    I'm not setting --user-data-dir but seeing ~/date-time-01-/home/coder/.local/share/code-server/coder-logs/ directories fill up in ~.

    the logs look like it's correct though, and that file/dir actually exists.
    [CHANGED] /home/coder/.local/share/code-server/coder-logs/code-server-stdout.log

    image

    My thought is that these directories should exist as /home/coder/.local/share/code-server/coder-logs/date-time-01-/code-server-stdout.log

  3. code-asher commented on Jun 20, 2024

    @code-asher
    MemberAuthor

    Oh weird yeah I got this issue once but then I could never reproduce it. It is especially weird because we are not adding any date time to the file path so I have no idea where it is coming from. Are you on the latest version of code-server?

    Do you have any XDG* environment variables set? And just for sanity's sake, is the HOME env var the right value?

  4. bdkuhman commented on Jun 20, 2024

    @bdkuhman

    Yep, latest.
    Running in kubernetes w/ a deployment yaml.
    Only env var I set myself is PASSWORD.
    no XDG vars, HOME is /home/coder

    I am running with args --log trace, along with the tls args.
    I suppose trace logs might be it, but I haven't tried it. this was just left over from debugging other things.

  5. code-asher commented on Jun 20, 2024

    @code-asher
    MemberAuthor

    I was going to experiment with podman run -p 8080:8080 codercom/code-server --log trace and see if I could get it to reproduce, but seems Docker Hub is down right now. 🔥 I will try later!

  6. bdkuhman commented on Jun 21, 2024

    @bdkuhman

    I noticed that all the logs that are left over are 10M,
    I think it might be hitting the limit and getting rotated out by rotating-file-stream

    taking a quick look at the docs, I think the first param for createStream is a filename, not a path.
    Additionally there's a path option that:

    If present, it is prepended to generated file names as well as for history file.

    So I think with trace on, logs have just been getting big enough to be rotated and when they're rotated rfs is prepending the time/date to the whole path, rather than the filename since that's what was passed in.

  7. code-asher commented on Jun 21, 2024

    @code-asher
    MemberAuthor

    Ohhh! Really good find!!! I reproduced by lowering the limit.

    Pushed up a fix here: d431c9c

    Thank you for figuring this out. It will make it into the 4.90.3 release today.

  8. removed
    triageThis issue needs to be triaged by a maintainer
    on Jul 12, 2024
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 working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions