soartech / jsoar

Pure Java implementation of the Soar cognitive architecture.
http://soartech.github.com/jsoar/
BSD 3-Clause "New" or "Revised" License
53 stars 19 forks source link

4.0.0 debugger fails to open due to lack of transparency #118

Closed sirnuke closed 3 years ago

sirnuke commented 4 years ago

Running in a Ubuntu MATE 16.04 VM - which I assume is old enough/light enough not to have Compiz - and I get the following exception:

    at java.awt.Window.setOpacity(Window.java:3627)
    at org.jsoar.debugger.CommandEntryPanel.<init>(CommandEntryPanel.java:115)
    at org.jsoar.debugger.TraceView.<init>(TraceView.java:261)
    at org.jsoar.debugger.JSoarDebugger.initViews(JSoarDebugger.java:393)
    at org.jsoar.debugger.JSoarDebugger.initialize(JSoarDebugger.java:255)
    at org.jsoar.debugger.JSoarDebugger.attach(JSoarDebugger.java:707)
    at org.jsoar.debugger.DefaultDebuggerProvider.doIt(DefaultDebuggerProvider.java:128)
    at org.jsoar.debugger.DefaultDebuggerProvider.access$000(DefaultDebuggerProvider.java:29)
    at org.jsoar.debugger.DefaultDebuggerProvider$1.run(DefaultDebuggerProvider.java:111)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

I assume this is part of the new Visual Magic for 4.0.0. Not worth taking out, but would be nice if it could be disabled, or if the debugger was smart enough not to try if there's no transparency.

marinier commented 4 years ago

As a workaround for now, note that you can enable legilimens and remotely debug through a web browser.

rgudwin commented 3 years ago

I believe I am having the same problem, here, but now in 4.0.3:

Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException: TRANSLUCENT translucency is not supported.
    at java.awt.Window.setOpacity(Window.java:3627)
    at org.jsoar.debugger.CommandEntryPanel.<init>(CommandEntryPanel.java:115)
    at org.jsoar.debugger.TraceView.<init>(TraceView.java:261)
    at org.jsoar.debugger.JSoarDebugger.initViews(JSoarDebugger.java:393)
    at org.jsoar.debugger.JSoarDebugger.initialize(JSoarDebugger.java:255)
    at org.jsoar.debugger.JSoarDebugger.attach(JSoarDebugger.java:707)
    at org.jsoar.debugger.DefaultDebuggerProvider.doIt(DefaultDebuggerProvider.java:128)
    at org.jsoar.debugger.DefaultDebuggerProvider.access$000(DefaultDebuggerProvider.java:29)
    at org.jsoar.debugger.DefaultDebuggerProvider$1.run(DefaultDebuggerProvider.java:111)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

I am using Linux Manjaro with KDE, in its latest distribution. Is there any workaround, besides just not using the debugger and using legilimens and the web browser ?

rgudwin commented 3 years ago

I tried to downgrade and use version 0.14.9, but when I use the following line in my build.gradle, it is not able to download the release:

implementation 'com.soartech:jsoar-debugger:0.14.9'

When I use:

implementation 'com.soartech:jsoar-debugger:4.0.3'

it works, but then the exception is raised, as soon as I call:

agent.openDebugger();

Is there any implementation line I could use to downgrade to 0.14.9 and use the old debugger, which used to work ? Or do I need to downgrade JSoar core as well ?

marinier commented 3 years ago

I have just released jsoar 4.1.0 which, in addition to other things, removes the transparency from the debugger. It was just pushed up to maven central, so it may take some time to actually appear there.

Please let me know if this resolves your issue.

rgudwin commented 3 years ago

Thanks a lot ! It completely solved the problem !