Skip to content

Memory leak on file import. #1927

@globalshrug

Description

@globalshrug

Hydrus version

v652

Qt major version

Qt 6

Operating system

Other (aka none of the above, specify in the comments)

Install method

Running from source

Install and OS comments

Tahoe 26.2

Bug description and reproduction

I'm not sure if this is new, but:

I am importing a large batch of files (which I don't usually do - that's why I don't know if this is new): on the order of ~38k or so. I opted for advanced import options so I could apply tags upon import.

First thing I noticed (and this is something I have noticed in previous versions actually), is that when applying a tag based on the "last directory" option, it starts "filling in" as you type which introduces lag. I have to type quickly to get the entire word/tag in before it tries to apply it, if there is a large import. At that point I have to wait with a spinning wheel until it applies the tag to all files - this takes a weirdly long time, on the order of > 2 min in some cases on a modern CPU. I had an OS-level dialog come up asking me to close apps as not everything could be held in memory.

Once my system was responsive again, I opened Activity Monitor and applied a tag in "tags for all" and watched it happen again (I wanted to make sure I could reproduce it).

At this point, with my 35k files example, I watched memory usage spike up to 82GB. I don't know how the 82GB number is being calculated - compressed or uncompressed, how much is shared etc. At the very least I guess it's being swapped as this machine only has 16GB built in (I know, I know..)

Once it hits its peak, which in this case was 82GB, after sitting there for ~30s or so, it went back down to 50GB and then deflated from there back to ~6.7GB which seems normal/sane.

Happy to reproduce and provide logs or debug output if need be, just let me know what I need to do on my end.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions