JetBrains / ideolog

Interactive viewer for '.log' files.
MIT License
254 stars 55 forks source link

Memory issues with viewing large logfile (eg build log with verbosity set to detailed) #56

Open fluffynuts opened 5 years ago

fluffynuts commented 5 years ago

I just had Rider lock up on me several times, after trying to open a detailed build log, even after I set the allowed heap for Rider to be 8192mb.

Disabling IdeaLog allowed me to view the file without issues -- but also, of course, without enhancements.

One suggestion might be to not attempt to enhance log files over a certain size limit.

knah commented 5 years ago

Ideolog does indeed store some information for log files, but I would not expect it to have too large of a footprint. We initially designed it to view large log files, and we would like it to stay that way. How large is the file you're trying to open? How many lines does it have? Does it have many lines starting with spaces? Are you using the latest version of the plugin? Older versions have issues with freezing not related to memory.

fluffynuts commented 5 years ago

This was just on a detailed msbuild log. I saw there was an update for idealog the other day, and I didn't experience this with the last msbuild log I opened -- but I need to test again with a much larger code-base. I'll report back (:

fluffynuts commented 5 years ago

ok, I finally have a reproducable log file, from a detailed msbuild log. This causes the IDE to consume memory until it goes unresponsive. Disabling IdeaLog prevents the issue from occurring. Could it have something to do with the many many highlighted links in the log?

JetBrainsLog.ReSharperBuild_2019_06_04_07_53_59_7542.log

knah commented 5 years ago

Looks like this is a Rider-specific issue. We'll work on resolving it within Rider, but for now I've added a workaround - you can disable links highlighting in Ideolog settings, and that should fix memory issues in Rider.

knah commented 5 years ago

Related IDEA issue: https://youtrack.jetbrains.com/issue/IDEA-215666 So far Rider is the only IDE (that I know of) that has an asynchronous FilterMixin implementation. Ideolog doesn't have any information on async action completion and oversubmits async tasks when highlighting logs, therefore leading to memory and performance issues.