Ir para a pagina inicial dos Grupos do Google    Sneer Coders
Exception acidentalmente suprimida

Célio Cidral Junior <ccidral....@gmail.com>

Estava com problemas em rodar meu brick e não conseguia descobrir
porque.  A exception que acontecia era essa:

[2009-07-04 10:29:39] Contact Dummy is online.

>>> chunk #0 bytes read: 10240

java.lang.IllegalStateException: Thread
Thread[AWT-EventQueue-2,6,main] is not running in an environment.
        at sneer.foundation.environments.Environments.my(Environments.java:20)
        at sneer.bricks.snapps.system.log.gui.impl.LogConsoleImpl$WidgetLogger$1.consu me(LogConsoleImpl.java:213)
        at sneer.bricks.snapps.system.log.gui.impl.LogConsoleImpl$WidgetLogger$1.consu me(LogConsoleImpl.java:1)
        at sneer.bricks.pulp.reactive.impl.ReceiversImpl$1.consume(ReceiversImpl.java: 30)
        at sneer.bricks.pulp.events.impl.EventNotifierImpl.notify(EventNotifierImpl.ja va:47)
        at sneer.bricks.pulp.events.impl.EventNotifierImpl.notifyReceivers(EventNotifi erImpl.java:32)
        at sneer.bricks.hardware.io.log.workers.notifier.impl.LogNotifierImpl.notifyEn try(LogNotifierImpl.java:30)
        at sneer.bricks.hardware.io.log.workers.notifier.impl.LogNotifierImpl.access$1 (LogNotifierImpl.java:28)
        at sneer.bricks.hardware.io.log.workers.notifier.impl.LogNotifierImpl$1.log(Lo gNotifierImpl.java:23)
        at sneer.bricks.hardware.io.log.impl.LoggerImpl.log(LoggerImpl.java:30)
        at sneer.bricks.hardware.io.log.exceptions.impl.ExceptionLoggerImpl.uncaughtEx ception(ExceptionLoggerImpl.java:24)
        at java.lang.ThreadGroup.uncaughtException(Unknown Source)
        at java.lang.ThreadGroup.uncaughtException(Unknown Source)
        at java.lang.Thread.dispatchUncaughtException(Unknown Source)

Então fui até o ExceptionLoggerImpl e mandei imprimir o stack trace
antes de logar a exception:

        public void uncaughtException(Thread ignored, Throwable t1) {
                System.out.println("\n===================================================") ;
                t1.printStackTrace();
                System.out.println("\n===================================================") ;
                try {
                        _logger.log(t1);
                } catch (Throwable t2) {
                        t2.printStackTrace();
                }
        }

Isso revelou o problema:

[2009-07-04 10:27:06] Tuple received: Heartbeat from: Dummy
[2009-07-04 10:27:08] Tuple published: Heartbeat

>>> chunk #0 bytes read: 10240

===================================================
java.lang.IllegalStateException: All fields in a Tuple should be
public and not static. This was not the case with: class
celio.bricks.filetransfer.FileChunk._isLast Also, tuple classes
declared as inner classes dont work.
        at sneer.foundation.brickness.Tuple.getFieldValue(Tuple.java:83)
        at sneer.foundation.brickness.Tuple.hashCode(Tuple.java:28)
        at java.util.HashMap.put(Unknown Source)
        at java.util.HashSet.add(Unknown Source)
        at sneer.bricks.pulp.tuples.impl.TupleSpaceImpl.acquire(TupleSpaceImpl.java:18 9)
        at sneer.bricks.pulp.tuples.impl.TupleSpaceImpl.publish(TupleSpaceImpl.java:18 1)
        at celio.bricks.filetransfer.impl.FileSenderImpl.send(FileSenderImpl.java:30)
        at celio.snapps.filetransfer.impl.FileSenderGuiImpl.chooseFileAndSend(FileSend erGuiImpl.java:31)
        at celio.snapps.filetransfer.impl.FileSenderGuiImpl.access$0(FileSenderGuiImpl .java:26)
        at celio.snapps.filetransfer.impl.FileSenderGuiImpl$1.run(FileSenderGuiImpl.ja va:21)
        at sneer.bricks.snapps.contacts.gui.impl.SwingActionAdapter.actionPerformed(Sw ingActionAdapter.java:20)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.AbstractButton.doClick(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at sneer.bricks.hardware.gui.timebox.impl.TimeboxedEventQueueImpl.access$2(Tim eboxedEventQueueImpl.java:1)
        at sneer.bricks.hardware.gui.timebox.impl.TimeboxedEventQueueImpl.superDispatc hEvent(TimeboxedEventQueueImpl.java:62)
        at sneer.bricks.hardware.gui.timebox.impl.TimeboxedEventQueueImpl.access$0(Tim eboxedEventQueueImpl.java:61)
        at sneer.bricks.hardware.gui.timebox.impl.TimeboxedEventQueueImpl$1.run(Timebo xedEventQueueImpl.java:51)
        at sneer.bricks.hardware.cpu.timebox.impl.TimeboxRunner.tryToRun(TimeboxRunner .java:65)
        at sneer.bricks.hardware.cpu.timebox.impl.TimeboxRunner.<init>(TimeboxRunner.j ava:41)
        at sneer.bricks.hardware.cpu.timebox.impl.TimeboxImpl.run(TimeboxImpl.java:16)
        at sneer.bricks.hardware.cpu.timebox.impl.TimeboxImpl$1.run(TimeboxImpl.java:1 0)
        at sneer.foundation.environments.Environments.runWith(Environments.java:11)
        at sneer.bricks.hardware.gui.timebox.impl.TimeboxedEventQueueImpl.dispatchEven t(TimeboxedEventQueueImpl.java:58)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.IllegalAccessException: Class
sneer.foundation.brickness.Tuple can not access a member of class
celio.bricks.filetransfer.FileChunk with modifiers "private"
        at sun.reflect.Reflection.ensureMemberAccess(Unknown Source)
        at java.lang.reflect.Field.doSecurityCheck(Unknown Source)
        at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
        at java.lang.reflect.Field.get(Unknown Source)
        at sneer.foundation.brickness.Tuple.getFieldValue(Tuple.java:81)
        ... 47 more
java.lang.IllegalStateException: Thread
Thread[AWT-EventQueue-2,6,main] is not running in an environment.
        at sneer.foundation.environments.Environments.my(Environments.java:20)
        at sneer.bricks.snapps.system.log.gui.impl.LogConsoleImpl$WidgetLogger$1.consu me(LogConsoleImpl.java:213)
        at sneer.bricks.snapps.system.log.gui.impl.LogConsoleImpl$WidgetLogger$1.consu me(LogConsoleImpl.java:1)
===================================================

        at sneer.bricks.pulp.reactive.impl.ReceiversImpl$1.consume(ReceiversImpl.java: 30)
        at sneer.bricks.pulp.events.impl.EventNotifierImpl.notify(EventNotifierImpl.ja va:47)
        at sneer.bricks.pulp.events.impl.EventNotifierImpl.notifyReceivers(EventNotifi erImpl.java:32)
        at sneer.bricks.hardware.io.log.workers.notifier.impl.LogNotifierImpl.notifyEn try(LogNotifierImpl.java:30)
        at sneer.bricks.hardware.io.log.workers.notifier.impl.LogNotifierImpl.access$1 (LogNotifierImpl.java:28)
        at sneer.bricks.hardware.io.log.workers.notifier.impl.LogNotifierImpl$1.log(Lo gNotifierImpl.java:23)
        at sneer.bricks.hardware.io.log.impl.LoggerImpl.log(LoggerImpl.java:30)
        at sneer.bricks.hardware.io.log.exceptions.impl.ExceptionLoggerImpl.uncaughtEx ception(ExceptionLoggerImpl.java:24)
        at java.lang.ThreadGroup.uncaughtException(Unknown Source)
        at java.lang.ThreadGroup.uncaughtException(Unknown Source)
        at java.lang.Thread.dispatchUncaughtException(Unknown Source)

===================================================
java.lang.IllegalStateException: Should NOT be running in the GUI thread.
        at sneer.bricks.hardware.gui.guithread.impl.GuiThreadImpl.assertNotInGuiThread (GuiThreadImpl.java:53)
        at sneer.bricks.hardware.gui.guithread.impl.GuiThreadImpl.invokeLater(GuiThrea dImpl.java:42)
        at sneer.bricks.snapps.system.blinkinglights.gui.impl.BlinkingLightsGuiImpl$Al ertWindowSupport.placeScrollAtTheBegining(BlinkingLightsGuiImpl.java:219)
        at sneer.bricks.snapps.system.blinkinglights.gui.impl.BlinkingLightsGuiImpl$Al ertWindowSupport.show(BlinkingLightsGuiImpl.java:206)
        at sneer.bricks.snapps.system.blinkinglights.gui.impl.BlinkingLightsGuiImpl$Al ertWindowSupport.access$2(BlinkingLightsGuiImpl.java:200)
        at sneer.bricks.snapps.system.blinkinglights.gui.impl.BlinkingLightsGuiImpl$Al ertWindowSupport$3.mouseReleased(BlinkingLightsGuiImpl.java:190)
        at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at sneer.bricks.hardware.gui.timebox.impl.TimeboxedEventQueueImpl.access$2(Tim eboxedEventQueueImpl.java:1)
        at sneer.bricks.hardware.gui.timebox.impl.TimeboxedEventQueueImpl.superDispatc hEvent(TimeboxedEventQueueImpl.java:62)
        at sneer.bricks.hardware.gui.timebox.impl.TimeboxedEventQueueImpl.access$0(Tim eboxedEventQueueImpl.java:61)
        at sneer.bricks.hardware.gui.timebox.impl.TimeboxedEventQueueImpl$1.run(Timebo xedEventQueueImpl.java:51)
        at sneer.bricks.hardware.cpu.timebox.impl.TimeboxRunner.tryToRun(TimeboxRunner .java:65)
        at sneer.bricks.hardware.cpu.timebox.impl.TimeboxRunner.<init>(TimeboxRunner.j ava:41)
        at sneer.bricks.hardware.cpu.timebox.impl.TimeboxImpl.run(TimeboxImpl.java:16)
        at sneer.bricks.hardware.cpu.timebox.impl.TimeboxImpl$1.run(TimeboxImpl.java:1 0)
        at sneer.foundation.environments.Environments.runWith(Environments.java:11)
        at sneer.bricks.hardware.gui.timebox.impl.TimeboxedEventQueueImpl.dispatchEven t(TimeboxedEventQueueImpl.java:58)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
java.lang.IllegalStateException: Thread
Thread[AWT-EventQueue-2,6,main] is not running in an environment.
        at sneer.foundation.environments.Environments.my(Environments.java:20)
===================================================

        at sneer.bricks.snapps.system.log.gui.impl.LogConsoleImpl$WidgetLogger$1.consu me(LogConsoleImpl.java:213)
        at sneer.bricks.snapps.system.log.gui.impl.LogConsoleImpl$WidgetLogger$1.consu me(LogConsoleImpl.java:1)
        at sneer.bricks.pulp.reactive.impl.ReceiversImpl$1.consume(ReceiversImpl.java: 30)
        at sneer.bricks.pulp.events.impl.EventNotifierImpl.notify(EventNotifierImpl.ja va:47)
        at sneer.bricks.pulp.events.impl.EventNotifierImpl.notifyReceivers(EventNotifi erImpl.java:32)
        at sneer.bricks.hardware.io.log.workers.notifier.impl.LogNotifierImpl.notifyEn try(LogNotifierImpl.java:30)
        at sneer.bricks.hardware.io.log.workers.notifier.impl.LogNotifierImpl.access$1 (LogNotifierImpl.java:28)
        at sneer.bricks.hardware.io.log.workers.notifier.impl.LogNotifierImpl$1.log(Lo gNotifierImpl.java:23)
        at sneer.bricks.hardware.io.log.impl.LoggerImpl.log(LoggerImpl.java:30)
        at sneer.bricks.hardware.io.log.exceptions.impl.ExceptionLoggerImpl.uncaughtEx ception(ExceptionLoggerImpl.java:24)
        at java.lang.ThreadGroup.uncaughtException(Unknown Source)
        at java.lang.ThreadGroup.uncaughtException(Unknown Source)
        at java.lang.Thread.dispatchUncaughtException(Unknown Source)
[2009-07-04 10:27:16] Tuple received: Heartbeat from: Dummy
[2009-07-04 10:27:18] Tuple published: Heartbeat
[2009-07-04 10:27:26] Tuple received: Heartbeat from: Dummy
[2009-07-04 10:27:28] Tuple published: Heartbeat
[2009-07-04 10:27:36] Tuple received: Heartbeat from: Dummy
[2009-07-04 10:27:38] Tuple published: Heartbeat