Help us find plugin authors with mysterious stacktraces

Hi all!

In our freeze reporting we see a lot of stacktraces like:

	at O000o0oo.O000000o(JavaParser.java:244)
	at O000oO.O000000o(ProgramingParser.java:76)
	at O000o00o.O000000o(AbstractProgramingParser.java:37)
	at O00O0o0.O000000o(CaretManager.java:53)
	at O00O0o0O.O00000o0(EditorManager.java:188)
	at O00O0o0O$1$$Lambda/0x0000000040dfd9e8.run(Unknown Source)

Could you please help us find a plugin that does this?

And please, dear plugin developers, do not obfuscate the root package name of your plugin! It ruins all diagnostics for IDE.

I second this. This is useful for JetBrains, but also for plugin author. Per example, idea.log or stacktraces are more easy to read if you can find your own stuff.

If you’re using Proguard, simply set the repackageclasses parameter.
Tip: adding the plugin version in the root package name is also helpful, as you immediately know the plugin version. Real-life example: lermitage.intellij.extratoolspack.a2026a1a2.m() (here, I know that’s Extra Tools Pack 2026.1.2) is definitely better than, hum just a.m(). It’s better to have the plugin version if you want to de-obfuscate a stracktrace :wink:

I’ve been using newNamesPrefix="MermaidStudio_" in ZKM to prefix obfuscated package names, so traces look something like MermaidStudio_a.MermaidStudio_b.MermaidStudio_c.m().

Tip: adding the plugin version in the root package name is also helpful, as you immediately know the plugin version.

@jonathanlermitage.1 This could have negative ramifications if your plugin relies on persisting a class name obtained via reflection across sessions. I ran into a problem like this when adding a custom markdown preview pane to my plugin. The Markdown plugin’s setting keyed off reflection-derived class names and would reset each time my plugin updated and the package name changed.

With Zelix, I’m using collapsePackagesWithDefault="myPackage" to keep everything under top-level package “myPackage”.

I like that better. Probably would have gone that route if I’d noticed that setting.

I do actually obfuscate the root package name in WireMocha (Proguard + repackageclasses("")), but my stacktraces don’t look anything like the example given.

It ruins all diagnostics for IDE.

Just out of curiousity, what does this mean in practice?

We have figured this out, Smart Input Pro does it