Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin 9.4.0 shows "c.i.BundleBase - ignore extra mnemonic in" warning in IntelliJ Log #178

Closed
dcfsc opened this issue Apr 29, 2022 · 10 comments

Comments

@dcfsc
Copy link

dcfsc commented Apr 29, 2022

To Reproduce
Plugin installed
IntelliJ Updated to 221.5080.210
After starting, look in IntelliJ Log

Found

2022-04-29 06:42:13,702 [46248068]   WARN - #c.i.BundleBase - ignore extra mnemonic in 
       Case switching, sorting, filtering, incrementing, aligning to columns, grepping, escaping, encoding...<br><br>
        Sponsored by:<br>
<p><a title="Try CodeStream" href="https://sponsorlink.codestream.com/?utm_source=jbmarket&amp;utm_campaign=vojta_string&amp;utm_medium=banner"><img src="https://alt-images.codestream.com/codestream_logo_vojta_string.png"></a><br>
Manage pull requests and conduct code reviews in your IDE with full source-tree context. Comment on any line, not just the diffs. Use jump-to-definition, your favorite keybindings, and code intelligence with more of your workflow.<br>
<a title="Try CodeStream" href="https://sponsorlink.codestream.com/?utm_source=jbmarket&amp;utm_campaign=vojta_string&amp;utm_medium=banner">Learn More</a></p>

<br>
      <p>
        Features:
        <p>
            Case switching:
			<ul>
				<li>Switch case (camelCase, kebab-lowercase, KEBAB-UPPERCASE, snake_case, SCREAMING_SNAKE_CASE, dot.case,
					words lowercase, First word capitalized, Words Capitalized, PascalCase)
				</li>
                <li>Toggle: SCREAMING_SNAKE_CASE / camelCase</li>
                <li>Toggle: snake_case / camelCase</li>
                <li>Toggle: kebab-case / snake_case</li>
                <li>Toggle: kebab-case / camelCase</li>
                <li>Toggle: dot.case / camelCase</li>
                <li>Toggle: PascalCase / camelCase</li>
                <li>Toggle: lowercase words / camelCase</li>
                <li>Toggle: First word capitalized / camelCase</li>
                <li>Toggle: Capitalized Words / camelCase</li>
                <li>To camelCase</li>
                <li>To snake_case</li>
                <li>To PascalCase</li>
                <li>To SCREAMING_SNAKE_CASE</li>
                <li>To Capitalized_Snake_Case</li>
                <li>Capitalize</li>
                <li>To lower case</li>
                <li>To UPPER CASE</li>
                <li>Invert case</li>
                <li>To Spring Boot System Env Variable</li>
			</ul>
			-'Switch case' action can be customized, or new ones can be added in settings<br>
            -when nothing is selected, then either nothing or whole line or a particular element is selected (report an issue if you find something to improve, each file type needs its own implementation to work flawlessly)</li>
		</p>
		<p>
            Un/Escape:
			<ul>
				<li>Un/Escape selected Java text</li>
				<li>Un/Escape selected JavaScript text</li>
                <li>Un/Escape selected C# text (regular, verbatim, interpolated)</li>
				<li>Un/Escape selected HTML text</li>
				<li>Un/Escape selected JSON text</li>
				<li>Un/Escape selected XML text</li>
				<li>Un/Escape selected SQL text</li>
				<li>Un/Escape selected PHP text</li>
                <li>Convert diacritics (accents) to ASCII</li>
                <li>Convert non-ASCII to escaped Unicode</li>
                <li>Convert escaped Unicode to String</li>
                <li>Unicode normalization (NFD, NFC, NFKC, NFKD)</li>
			</ul>
		</p>
		<p>
            Encode/Decode:
			<ul>
				<li>Encode selected text to MD5 Hex</li>
				<li>Encode selected text to SHA-1 Hex</li>
				<li>Encode selected text to SHA-256 Hex</li>
				<li>Encode selected text to SHA-512 Hex</li>
				<li>Encode selected text to SHA3-256 Hex</li>
				<li>Encode selected text to SHA3-512 Hex</li>
				<li>De/Encode selected text as URL</li>
				<li>De/Encode selected text to Base64 (+ zip/deflate)</li>
				<li>De/Encode selected text to Hex</li>
                <li>ISO Timestamp to Epoch Milliseconds</li>
                <li>Epoch Milliseconds to ISO Timestamp</li>
			</ul>
		</p>
		<p>
            Increment/Decrement:
			<ul>
				<li>Increment/decrement all numbers found.</li>
				<li>Duplicate selection and increment/decrement all numbers found.</li>
				<li>Create sequence - Keep first number, replace all other by incrementing</li>
				<li>Increment duplicate numbers</li>
            </ul>
		</p>
		<p>
            Sort with natural order or Collator:
			<ul>
				<li>Reversing order of lines</li>
				<li>Shuffle lines</li>
				<li>Sort case-sensitive A-z</li>
				<li>Sort case-sensitive z-A</li>
				<li>Sort case-insensitive A-Z</li>
				<li>Sort case-insensitive Z-A</li>
				<li>Sort line length asc., desc.</li>
				<li>Sort hexadecimally</li>
				<li>Sort lines by subselection - only one selection/caret per line is handled</li>
				<li>Sort tokens (delimited text)</li>
				<li>Shuffle Characters</li>
				<li>JSON sort</li>
                <li><a href="https://github.com/krasa/StringManipulation/wiki/Hierarchical-sort/">Hierarchical sort</a></li>
			</ul>
		</p>
		<p>
            Align:
			<ul>
				<li>Align carets/selections into a vertical line by inserting spaces</li>
				<li>Format selected text to columns/table by a chosen separator/delimiter and sort by columns</li>
				<li>Align text to left/center/right</li>
			</ul>
		</p>
		<p>
            Filter/Remove/Trim/Minify/Convert...:
			<ul>
				<li>Grep</li>
				<li>Inverted Grep</li>
				<li>Group by Grep - matched lines will be separated from not matched</li>
				<li>Trim</li>
				<li>Replace whitespaces with a single space char</li>
				<li>Remove all spaces</li>
				<li>Remove duplicate lines</li>
				<li>Keep only duplicate lines</li>
				<li>Group and Count</li>
				<li>Remove empty lines</li>
				<li>Remove all newlines</li>
				<li>Convert Between Char and Int</li>
				<li>Minify JSON</li>
				<li>Minify JavaScript</li>
				<li>Convert Between JSON and YAML</li>
			</ul>
		</p>
		<p>
            Other:
			<ul>
				<li>Reverse Letters</li>
				<li>Swap Words</li>
				<li>Swap Characters/Selections/Lines/Tokens</li>
				<li>Wrap or shift double quotes to single quotes to backticks</li>
				<li>Swap between double quotes and single quotes</li>
				<li>Switch file path separators: Windows&lt;-&gt;UNIX</li>
             <br>
                <li>Select All Occurrences For All Carets</li>
                <li>Extend Selection in Different "CamelHumps" Mode</li>
                <li>Multi Replace</li>
                <li>Duplicate Line or Selection And Multi Replace</li>
                <li>Paste - camelCased</li>
                <li>Paste - and Keep Selections</li>
                <li>Create Border</li>
                </ul>
		</p>
		<p>Actions are available under Edit menu, or via the shortcut "alt M" and "alt shift M".
			<br>You can setup your own shortcuts for better usability.
			<br>Popup can be customized in File | Settings | Appearance & Behavior | Menus and Toolbars.
		</p>
        <br> <br>
        <a href="https://www.paypal.me/VojtechKrasa">Donations</a> | <a href="https://github.com/krasa/StringManipulation/">GitHub</a> | <a href="https://github.com/krasa/StringManipulation/issues">Issues</a>
	</p>
      

This does not seem normal

Environment :

IntelliJ IDEA 2022.1 (Ultimate Edition)
Build #IU-221.5080.210, built on April 11, 2022
Runtime version: 11.0.14.1+1-b2043.25 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Linux 3.10.0-1160.36.2.el7.x86_64 (Centos 7)
GC: G1 Young Generation, G1 Old Generation
Memory: 6000M
Cores: 4
Non-Bundled Plugins:
    org.jetbrains.plugins.go (221.5080.210)
    org.intellij.plugins.hcl (221.5080.126)
    name.kropp.intellij.makefile (221.5080.126)
    io.ajab.timestamp-generator-plugin (0.1.4)
    com.krylysov.nsisplugin (0.2.0)
    com.jetbrains.ChooseRuntime (1.2)
    org.jetbrains.plugins.ruby (221.5080.169)
    org.asciidoctor.intellij.asciidoc (0.37.17)
    com.intellij.plugin.adernov.powershell (2.0.10)
    String Manipulation (9.4.0)
    MavenRunHelper (4.20.213.3714.1)
    com.jetbrains.lang.ejs (221.5080.169)
    Pythonid (221.5080.212)

Kotlin: 221-1.6.20-release-285-IJ5080.210
Current Desktop: GNOME
@enerjazzer
Copy link

This looks like a serious bug - it appears to freeze the whole Settings window in 2022.1 and 2022.2 EAP.
Disabling this plugin stops this freezing.
Could you please fix this as highest priority, if the root cause is in your code, because now I have to keep the plugin disabled.
See the details of the freeze here: https://youtrack.jetbrains.com/issue/CPP-29323/Settings-Plugins-freeze

@krasa
Copy link
Owner

krasa commented May 26, 2022

Are you sure it is causing the freeze? Can you provide a thread dump? I do not have permisson to seee that ea_report.

@G-Rath
Copy link

G-Rath commented May 26, 2022

@krasa regardless of if this causes a freeze or not, it heavily pollutes the logs which makes it harder for JetBrains staff to triage issues that involve log files from the IDE.

@enerjazzer
Copy link

enerjazzer commented May 27, 2022

The top is the following, definitely related to excessive logging (and IdeaPluginDescriptorImpl in the log):

com.intellij.diagnostic.Freeze
at java.base@17.0.3/java.io.FileOutputStream.writeBytes(Native Method)
at java.base@17.0.3/java.io.FileOutputStream.write(FileOutputStream.java:349)
at java.base@17.0.3/java.io.BufferedOutputStream.write(BufferedOutputStream.java:123)
at java.base@17.0.3/java.io.PrintStream.write(PrintStream.java:568)
at java.base@17.0.3/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)
at java.base@17.0.3/sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:313)
at java.base@17.0.3/sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:318)
at java.base@17.0.3/sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:160)
at java.base@17.0.3/java.io.OutputStreamWriter.flush(OutputStreamWriter.java:248)
at java.logging@17.0.3/java.util.logging.StreamHandler.flush(StreamHandler.java:247)
at java.logging@17.0.3/java.util.logging.ConsoleHandler.publish(ConsoleHandler.java:96)
at java.logging@17.0.3/java.util.logging.Logger.log(Logger.java:980)
at java.logging@17.0.3/java.util.logging.Logger.doLog(Logger.java:1007)
at java.logging@17.0.3/java.util.logging.Logger.log(Logger.java:1118)
at com.intellij.openapi.diagnostic.JulLogger.warn(JulLogger.java:68)
at com.intellij.idea.IdeaLogger.warn(IdeaLogger.java:136)
at com.intellij.openapi.diagnostic.Logger.warn(Logger.java:172)
at com.intellij.BundleBase.replaceMnemonicAmpersand(BundleBase.java:236)
at com.intellij.BundleBase.postprocessValue(BundleBase.java:174)
at com.intellij.AbstractBundle.messageOrDefault(AbstractBundle.java:103)
at com.intellij.ide.plugins.IdeaPluginDescriptorImpl.getDescription(IdeaPluginDescriptorImpl.kt:427)

@enerjazzer
Copy link

java.lang.Thread.run 167500ms
java.util.concurrent.Executors$PrivilegedThreadFactory$1.run 167500ms
java.security.AccessController.doPrivileged 167500ms
java.security.AccessController.executePrivileged 167500ms
java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run 167500ms
java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run 167500ms
java.util.concurrent.ThreadPoolExecutor$Worker.run 167500ms
java.util.concurrent.ThreadPoolExecutor.runWorker 167500ms
com.intellij.openapi.options.newEditor.SettingsFilter$$Lambda$5620/0x00000008025a2db8.run 167500ms
com.intellij.openapi.options.newEditor.SettingsFilter.lambda$new$1 167500ms
com.intellij.ide.ui.search.SearchableOptionsRegistrarImpl.initialize 167500ms
com.intellij.openapi.extensions.ExtensionPointName.forEachExtensionSafe 167500ms
com.intellij.openapi.extensions.impl.ExtensionProcessingHelper.forEachExtensionSafe 167500ms
com.intellij.ide.ui.search.SearchableOptionsRegistrarImpl$$Lambda$5621/0x00000008025aa3c0.accept 167500ms
com.intellij.ide.ui.search.SearchableOptionsRegistrarImpl.lambda$initialize$0 167500ms
com.intellij.ide.ui.search.PluginSearchableOptionContributor.processOptions 167500ms
java.util.stream.ReferencePipeline.forEach 167500ms
java.util.stream.AbstractPipeline.evaluate 167500ms
java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential 167500ms
java.util.stream.ForEachOps$ForEachOp.evaluateSequential 167500ms
java.util.stream.AbstractPipeline.wrapAndCopyInto 167500ms
java.util.stream.AbstractPipeline.copyInto 167500ms
java.util.AbstractList$RandomAccessSpliterator.forEachRemaining 167500ms
java.util.stream.ReferencePipeline$2$1.accept 167500ms
java.util.stream.ReferencePipeline$2$1.accept 167500ms
java.util.stream.ForEachOps$ForEachOp$OfRef.accept 167500ms
com.intellij.ide.ui.search.PluginSearchableOptionContributor$$Lambda$5622/0x00000008025ab358.accept 167500ms
com.intellij.ide.ui.search.PluginSearchableOptionContributor.lambda$processOptions$0 167500ms
com.intellij.ide.plugins.IdeaPluginDescriptorImpl.getDescription 167500ms
com.intellij.AbstractBundle.messageOrDefault 167500ms
com.intellij.BundleBase.postprocessValue 167500ms
com.intellij.BundleBase.replaceMnemonicAmpersand 167500ms
com.intellij.openapi.diagnostic.Logger.warn 167500ms
com.intellij.idea.IdeaLogger.warn 167500ms
com.intellij.openapi.diagnostic.JulLogger.warn 167500ms
java.util.logging.Logger.log 167500ms
java.util.logging.Logger.doLog 167500ms
java.util.logging.Logger.log 167500ms
java.util.logging.ConsoleHandler.publish 167500ms
java.util.logging.StreamHandler.flush 167500ms
java.io.OutputStreamWriter.flush 167500ms
sun.nio.cs.StreamEncoder.flush 167500ms
sun.nio.cs.StreamEncoder.implFlush 167500ms
sun.nio.cs.StreamEncoder.implFlushBuffer 167500ms
sun.nio.cs.StreamEncoder.writeBytes 167500ms
java.io.PrintStream.write 167500ms
java.io.BufferedOutputStream.write 167500ms
java.io.FileOutputStream.write 167500ms
java.io.FileOutputStream.writeBytes 167500ms

@enerjazzer
Copy link

The freeze is gone after the last plugin update (I don't see that logging anymore, so probably that was really the reason for the freeze)

@krasa
Copy link
Owner

krasa commented May 31, 2022

The last plugin update fixed #180, it still logs it and there is nothing I can do about it, IntelliJ issue.

@krasa
Copy link
Owner

krasa commented May 31, 2022

@enerjazzer Try this, it has no description... however logging should never cause freezes, imho there is something wrong with your PC
StringManipulation.zip

@krasa
Copy link
Owner

krasa commented Jun 13, 2022

fixed by JB

@krasa krasa closed this as completed Jun 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants