sublimehq / sublime_merge

Issue tracker for Sublime Merge
https://www.sublimemerge.com
276 stars 14 forks source link

Cache corruption? Frequent crash on startup or when rendering certain diffs (Windows) #800

Closed thomasstache closed 4 years ago

thomasstache commented 4 years ago

Version info

Description

Sublime Merge 2 crashes frequently directly after startup.

Steps to reproduce

Not really reproducible, happens right when starting/showing repository contents. When it happens, it's 100% reproducible. Windows/the runtime always creates a DMP-file, could attach if you can make use of it.

I found out that deleting the whole cache folder resolves the crash.

C:\Users\<user>\AppData\Local\Sublime Merge\Cache
thomasstache commented 4 years ago

dmp-files.zip

dpjohnst commented 4 years ago

Hi @thomasstache,

Thank you for reporting this issue. Could you confirm for me whether you have Sublime Text installed, and whether you have any third-party packages (plugins) enabled?

Thanks, - Dylan

thomasstache commented 4 years ago

Thank you for reporting this issue. Could you confirm for me whether you have Sublime Text installed, and whether you have any third-party packages (plugins) enabled?

Yes, I have SublimeText installed, with packages therein. SublimeMerge doesn't support 3rd-party packages yet, right? Although, I have one custom menu item in Main.sublime-menu.

srbs commented 4 years ago

@thomasstache, Sublime Merge technically doesn't support 3rd-party packages, but it does piggyback on Sublime Text 3rd-party packages for syntax files (to keep a similar experience between the two). It is likely that one of these syntax files are causing Sublime Merge to crash.

thomasstache commented 4 years ago

What I find curious in this is that after "cleaning" the cache Sublime Merge works usually for the rest of the day. I've now seen it sometimes start all right, and only crash when I select a commit. So your theory seems to have legs.

The other day I just moved the old cache folder aside, and compared the new recreated version against the offending one. Only the \Default\Startup.cache file is actually different.

I'm mostly working on Android projects, so the file types are usually Gradle, Java, Kotlin, XML and properties.

dpjohnst commented 4 years ago

Hi @thomasstache,

Thank you for the additional information. Could you confirm which packages you have installed in Sublime Text? This will help us narrow down any issues with third-party packages.

If we can determine which package has the fault, it can be disabled in the settings.

Kind regards, - Dylan

thomasstache commented 4 years ago

Ok, here goes, the contents of the Roaming\Sublime Text 3\Installed Packages folder:

0_package_control_loader.sublime-package
ApplySyntax.sublime-package
Base Encoder.sublime-package
BracketHighlighter.sublime-package
ConvertEpochToDate.sublime-package
Gradle_Language.sublime-package
Kotlin.sublime-package
Liquid.sublime-package
MarkdownEditing.sublime-package
MarkdownPreview.sublime-package
Package Control.sublime-package
PowerShell.sublime-package
Pretty JSON.sublime-package
Schemr.sublime-package
SideBarEnhancements.sublime-package
Side-by-Side Settings.sublime-package
StringEncode.sublime-package
SublimeLinter.sublime-package
SublimeLinter-pylint.sublime-package
Swift.sublime-package
thomasstache commented 4 years ago

Today SublimeMerge held up until I selected a commit that just contained a Markdown and a Gradle file. It was absolutely reproducible crashing until I deleted the whole /Cache folder.

Maybe that helps narrowing it down...

dpjohnst commented 4 years ago

Hi @thomasstache,

Thank you for the extra information. It's likely that either the markdown packages or the gradle packages are causing the issue. Could you try disabling the MarkdownEditing package.

This can be done via Preferences > Edit Settings...

From here, you can add the following to the file:

"ignored_packages":
[
    "MarkdownEditing",
],

If this doesn't work, try the same for the Gradle_Language package.

Let me know how you go.

Kind regards, - Dylan

thomasstache commented 4 years ago

I now believe the problem lies with the Gradle_Language package, when I ran into the crash last time I tried ignoring the packages one by one, leaving the cache folder untouched, and the crashes stopped when ignoring the Gradle package. I haven't run into crashes since.

dpjohnst commented 4 years ago

Hi @thomasstache,

Glad to hear you could track down the offending package - that's great news. It seems as if this package hasn't been updated in a while, and the course of action you've taken is best for the time being.

I'm going to go ahead and close this issue, but if you run into this again don't hesitate to re-open it.

Kind regards, - Dylan

thomasstache commented 4 years ago

Well is it OK that any random package can crash the whole app? Can you prevent the application going down like it does here?

dpjohnst commented 4 years ago

Hi @thomasstache,

Sincere apologies, I confused this issue with another similar issue I'm currently investigating. We are definitely putting in a work-around for this issue.

I'll keep this issue open until it's added.

Thanks, - Dylan

dpjohnst commented 4 years ago

Hi @thomasstache,

This has been fixed in development build 2024 - I'm going to go ahead and close this issue, but please don't hesitate to re-open this if the issue persists for you.

Kind regards, - Dylan