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

PluginException when opening .sq file in IntelliJ via plugin #4741

Closed
mipastgt opened this issue Oct 21, 2023 · 1 comment · Fixed by #4988
Closed

PluginException when opening .sq file in IntelliJ via plugin #4741

mipastgt opened this issue Oct 21, 2023 · 1 comment · Fixed by #4988

Comments

@mipastgt
Copy link

SQLDelight Version

2.1.0-SNAPSHOT-1697804052321 (plugin version)

IDE Version

IntelliJ IDEA 2023.3 EAP (Community Edition)

Dialect

SQLite

Describe the Bug

I always get a PluginException when I open an .sq file in IntelliJ via the SQLDelight plugin.
See the attached stacktrace for more details.

Tested on macOS Sonoma 14.0

Stacktrace

com.intellij.diagnostic.PluginException: Cannot create extension (class=app.cash.sqldelight.intellij.SqlDelightErrorHandler) [Plugin: com.squareup.sqldelight]
	at com.intellij.serviceContainer.ComponentManagerImpl.createError(ComponentManagerImpl.kt:1449)
	at com.intellij.openapi.extensions.impl.XmlExtensionAdapter.doCreateInstance(XmlExtensionAdapter.kt:71)
	at com.intellij.openapi.extensions.impl.XmlExtensionAdapter.createInstance(XmlExtensionAdapter.kt:32)
	at com.intellij.openapi.extensions.impl.ExtensionPointImpl.processAdapter(ExtensionPointImpl.java:468)
	at com.intellij.openapi.extensions.impl.ExtensionPointImpl.processAdapters(ExtensionPointImpl.java:416)
	at com.intellij.openapi.extensions.impl.ExtensionPointImpl.getExtensionList(ExtensionPointImpl.java:249)
	at com.intellij.openapi.extensions.ExtensionPointName.getExtensionList(ExtensionPointName.kt:44)
	at com.intellij.diagnostic.IdeErrorsDialog$Companion.getSubmitter(IdeErrorsDialog.kt:1004)
	at com.intellij.diagnostic.IdeErrorsDialog$Companion.getSubmitter(IdeErrorsDialog.kt:997)
	at com.intellij.diagnostic.IdeErrorsDialog.getSubmitter(IdeErrorsDialog.kt)
	at com.intellij.diagnostic.DefaultIdeaErrorLogger.canHandle(DefaultIdeaErrorLogger.java:45)
	at com.intellij.diagnostic.DialogAppender.appendToLoggers(DialogAppender.java:92)
	at com.intellij.diagnostic.DialogAppender.lambda$queueAppend$0(DialogAppender.java:76)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:792)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:733)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:761)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:695)
	at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$12(IdeEventQueue.kt:589)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithoutImplicitRead(RwLockHolder.kt:44)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:589)
	at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:72)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:355)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:354)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:793)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:354)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:349)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1014)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1014)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:349)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:867)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:391)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
Caused by: com.intellij.diagnostic.PluginException: Cannot create class app.cash.sqldelight.intellij.SqlDelightErrorHandler (classloader=PluginClassLoader(plugin=PluginDescriptor(name=SQLDelight, id=com.squareup.sqldelight, descriptorPath=plugin.xml, path=~/Library/Application Support/JetBrains/IdeaIC2023.3/plugins/SQLDelight, version=2.1.0-SNAPSHOT-1697804052321, package=null, isBundled=false), packagePrefix=null, state=active))
	at com.intellij.serviceContainer.ComponentManagerImpl.doInstantiateClass(ComponentManagerImpl.kt:1379)
	at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClass(ComponentManagerImpl.kt:1355)
	at com.intellij.openapi.extensions.impl.XmlExtensionAdapter.instantiateClass(XmlExtensionAdapter.kt:80)
	at com.intellij.openapi.extensions.impl.SimpleConstructorInjectionAdapter.instantiateClass(XmlExtensionAdapter.kt:100)
	at com.intellij.openapi.extensions.impl.XmlExtensionAdapter.doCreateInstance(XmlExtensionAdapter.kt:51)
	... 40 more
Caused by: java.lang.LinkageError: loader constraint violation: when resolving method 'org.slf4j.ILoggerFactory org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()' the class loader com.intellij.ide.plugins.cl.PluginClassLoader @523329ba of the current class, org/slf4j/LoggerFactory, and the class loader com.intellij.ide.plugins.cl.PluginClassLoader @3dd7446 for the method's defining class, org/slf4j/impl/StaticLoggerBinder, have different Class objects for the type org/slf4j/ILoggerFactory used in the signature (org.slf4j.LoggerFactory is in unnamed module of loader com.intellij.ide.plugins.cl.PluginClassLoader @523329ba, parent loader 'bootstrap'; org.slf4j.impl.StaticLoggerBinder is in unnamed module of loader com.intellij.ide.plugins.cl.PluginClassLoader @3dd7446, parent loader 'bootstrap')
	at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:423)
	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:362)
	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:388)
	at com.bugsnag.Bugsnag.<clinit>(Bugsnag.java:27)
	at app.cash.sqldelight.intellij.SqlDelightErrorHandler.<init>(SqlDelightErrorHandler.kt:32)
	at com.intellij.serviceContainer.ComponentManagerImpl.findConstructorAndInstantiateClass(ComponentManagerImpl.kt:1361)
	at com.intellij.serviceContainer.ComponentManagerImpl.doInstantiateClass(ComponentManagerImpl.kt:1370)
	... 44 more
@MSDarwish2000
Copy link

I can confirm that this issue still exists in SQLDelight 2.0.1 with stable IntelliJ 2023.3. Tested on Windows 11.

aperfilyev added a commit to aperfilyev/sqldelight that referenced this issue Jan 25, 2024
aperfilyev added a commit to aperfilyev/sqldelight that referenced this issue Jan 25, 2024
aperfilyev added a commit to aperfilyev/sqldelight that referenced this issue Jan 25, 2024
AlecKazakova pushed a commit to aperfilyev/sqldelight that referenced this issue Apr 5, 2024
AlecKazakova added a commit that referenced this issue Apr 5, 2024
* Bump intellij version

also closes #4894 and #4741

* Bump sql psi version

* Fixing up errors

* Include sql psi environment for tests

---------

Co-authored-by: Alec Kazakova <aleckazakova@squareup.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants