wallabyjs / quokka

Repository for Quokka.js questions and issues
https://quokkajs.com
1.17k stars 31 forks source link

Quokka.js crashes on start - IncorrectOperationException - Intellij / Debian Bookworm #908

Closed filidorwiese closed 10 months ago

filidorwiese commented 10 months ago

Issue description or question

When creating a new scratch file in IntelliJ IDEA 2023.2.5, quokka instantly crashes with the output:

com.intellij.util.IncorrectOperationException: Sorry but parent: com.quokka.javascript.session.QuokkaSession@2682365d (class com.quokka.javascript.session.QuokkaSession) has already been disposed (see the cause for stacktrace) so the child: false (class com.intellij.util.containers.DisposableWrapperList$DisposableWrapper) will never be disposed
    at com.intellij.openapi.util.ObjectTree.register(ObjectTree.java:43)
    at com.intellij.openapi.util.Disposer.register(Disposer.java:161)
    at com.intellij.util.containers.DisposableWrapperList.createDisposableWrapper(DisposableWrapperList.java:246)
    at com.intellij.util.containers.DisposableWrapperList.add(DisposableWrapperList.java:62)
    at com.intellij.util.EventDispatcher.addListener(EventDispatcher.java:170)
    at com.intellij.openapi.editor.impl.event.EditorEventMulticasterImpl.addFocusChangeListener(EditorEventMulticasterImpl.java:230)
    at com.quokka.javascript.session.QuokkaSession.a(Unknown Source)
    at com.quokka.javascript.session.QuokkaSession.a(Unknown Source)
    at com.quokka.javascript.QuokkaController$d.a(Unknown Source)
    at com.quokka.javascript.QuokkaController$d.a(Unknown Source)
    at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:254)
    at com.intellij.util.Alarm$Request.runSafely(Alarm.java:373)
    at com.intellij.util.Alarm$Request.run(Alarm.java:360)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:272)
    at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:208)
    at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:21)
    at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:190)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:861)
    at com.intellij.openapi.application.impl.ApplicationImpl$4.run(ApplicationImpl.java:478)
    at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:79)
    at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:121)
    at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:41)
    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:690)
    at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$10(IdeEventQueue.kt:593)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWithoutImplicitRead(ApplicationImpl.java:1485)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:593)
    at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:67)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:369)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:368)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:368)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:363)
    at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:997)
    at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
    at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:997)
    at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:363)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:861)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:405)
    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)

Code editor version

IntelliJ IDEA 2023.2.5 (Ultimate Edition) Build #IU-232.10227.8, built on November 9, 2023 Runtime version: 17.0.9+7-b1000.46 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Linux 6.1.0-13-amd64 GC: G1 Young Generation, G1 Old Generation Memory: 4096M Cores: 8 Registry: debugger.new.tool.window.layout=true ide.experimental.ui=true ide.images.show.chessboard=true

Non-Bundled Plugins: com.github.leomillon.uuidgenerator (4.5.1) org.intellij.plugins.hcl (232.8660.88) quokka.js (1.0.408) org.sylfra.idea.plugins.linessorter (1.0.1) String Manipulation (9.11.3) org.jetbrains.kotlin (232-1.9.20-release-507-IJ10072.27) Dart (232.10248) org.intellij.prisma (232.9559.10) Pythonid (232.10227.8) com.intellij.plugins.html.instantEditing (232.8660.142) com.jetbrains.php (232.10227.8) com.jetbrains.twig (232.10203.2)

Kotlin: 232-1.9.20-release-507-IJ10072.27 Current Desktop: GNOME

smcenlly commented 10 months ago

Unfortunately we couldn't reproduce your problem, but we think the problem is indicative of an issue starting Quokka, for example, node.js cannot be found as it's missing from the environment variables for the updated version (just one possibility).

We've updated the JetBrains Quokka plugin so that it should not crash in this way if this occurs. Can you please update to plugin version v1.0.409 and let us know if it fixes your problem?

filidorwiese commented 10 months ago

I've updated quokka and it doesn't crash any longer. However, I also don't have any output. The quokka console stays empty.

The node interpreter is set correctly for the project that I'm in. Where else should I configure where to find node.js?

filidorwiese commented 10 months ago

I've found the correct configuration option. So for those stumbling upon this thread, this solved it for me:

~/.quokka/config.json

{
"pro":true,
"node": "~/.nvm/versions/node/v18.18.2/bin/node"
}