Skip to content

Uncaught Exception Error in Serial IO Package #120

Closed
wcunning opened this Issue Oct 13, 2012 · 15 comments

6 participants

@wcunning

Connecting and talking to an up to date openbench logic sniffer does not work with OLS 0.9.6 and Fedora 17 x86_64. The device definitely registers at /dev/ttyACM0, but when I attempt to begin a capture or get device metadata, the attached pastebin'd output shows up. I don't know what I need to do to diagnose this, so suggestions are appreciated.

http://pastebin.com/SduP1EpU

@jawi
Owner
jawi commented Oct 14, 2012

Do you coincidentally run on Linux 3.5? If so, you (and many others) are suffering from a bug in PureJavacomm: nyholku/purejavacomm#12 which is not yet resolved (though there's a rudimentary fix for it)...

@mabl
mabl commented Oct 14, 2012

Oh well, I am also running into this problem with kernel 3.4.7. This is really unfortunate. So I guess I have to stick to ols 0.9.4 for the foreseeable future.

@m1no
m1no commented Oct 28, 2012

Jawi there is a fix out. nyholku/purejavacomm@df25644

@jawi jawi added a commit that referenced this issue Oct 29, 2012
@jawi Fixed issue #120:
- upgraded to PureJavacomm v0.0.10 to fix the serial issues on
  recent Linux kernels with CDC/ACM devices.
a11961d
@jawi
Owner
jawi commented Oct 29, 2012

I've released a service pack for OLS client 0.9.6 that incorporates the latest version of PureJavacomm. See http://dangerousprototypes.com/forum/viewtopic.php?f=57&t=1198&p=12425#p12425 for download links.

@jawi jawi closed this Oct 29, 2012
@notserpe
notserpe commented Nov 4, 2012

Uh... this error is still happening for me on F17 x86_64 with 0.9.6.1 and kernel 3.6.3-1.fc17.x86_64

@jawi
Owner
jawi commented Nov 5, 2012

That's odd; could you supply me a stacktrace of the error, is it the exact same issue or perhaps a slightly different one?

Anyways, I'll try to set up a F17 in a virtual machine to see what's causing this...

@notserpe
notserpe commented Nov 8, 2012

It's exactly the same, at least the first few lines and last few lines at a quick glance.
I'll try to post a error log shortly.

@jawi
Owner
jawi commented Nov 12, 2012

Ok; I got around to installing F17 in a virtual machine, using the latest updates (Linux fedora 3.6.6-1.fc17.x86_64 ...) and saw two observations:

  1. initially, the Analyzer port dropdown is empty (which is good as I don't want to make any educated guess about the port the device is presumed on), but;
  2. if I hit the Show device metadata button, it can lead to a similar exception as mentioned in this thread earlier. It looks very similar, but in fact is referring to slightly different line numbers.

Once I select the proper port in the Analyzer port dropdown, I am able to successfully detect the device metadata and run a capture normally. I only saw this behavior once, and could no longer reproduce it after selecting a device port.

So, the question is: did you explicitly select an device port or not? If not, does the problem go away if you do? If so, does it help to update your Fedora installation?

@notserpe

Show device metadata gives me the following stack trace:

java.lang.IllegalStateException: JTermios call returned -1 at class jtermios.JTermios$JTermiosLogging line 489
at purejavacomm.PureJavaSerialPort.checkReturnCode(PureJavaSerialPort.java:908)
at purejavacomm.PureJavaSerialPort.(PureJavaSerialPort.java:707)
at purejavacomm.CommPortIdentifier.open(CommPortIdentifier.java:138)
at nl.lxtreme.ols.io.serial.CommConnectionFactory.getSerialPort(CommConnectionFactory.java:141)
at nl.lxtreme.ols.io.serial.CommConnectionFactory.obtainSerialPort(CommConnectionFactory.java:177)
at nl.lxtreme.ols.io.serial.CommConnectionFactory.createConnection(CommConnectionFactory.java:72)
at nl.lxtreme.ols.io.ConnectorServiceImpl.open(ConnectorServiceImpl.java:160)
at org.sump.device.logicsniffer.LogicSnifferDevice.createStreamConnection(LogicSnifferDevice.java:159)
at org.sump.device.logicsniffer.LogicSnifferDetectionTask.call(LogicSnifferDetectionTask.java:82)
at org.sump.device.logicsniffer.LogicSnifferDeviceProfilePanel.obtainDeviceMetadata(LogicSnifferDeviceProfilePanel.java:353)
at org.sump.device.logicsniffer.LogicSnifferDeviceProfilePanel$ShowDeviceMetadataAction.actionPerformed(LogicSnifferDeviceProfilePanel.java:243)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:696)
at java.awt.EventQueue$4.run(EventQueue.java:694)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:155)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)
at java.awt.Dialog.show(Dialog.java:1077)
at java.awt.Component.show(Component.java:1651)
at java.awt.Component.setVisible(Component.java:1603)
at java.awt.Window.setVisible(Window.java:1014)
at java.awt.Dialog.setVisible(Dialog.java:1003)
at org.sump.device.logicsniffer.LogicSnifferConfigDialog.showDialog(LogicSnifferConfigDialog.java:586)
at org.sump.device.logicsniffer.LogicSnifferDevice.setupCapture(LogicSnifferDevice.java:138)
at nl.lxtreme.ols.client.ClientController.captureData(ClientController.java:535)
at nl.lxtreme.ols.client.action.CaptureAction.actionPerformed(CaptureAction.java:97)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:696)
at java.awt.EventQueue$4.run(EventQueue.java:694)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)

@jawi
Owner
jawi commented Nov 19, 2012

But, has the Analyzer Port dropdown a value or not? Does the exception disappear when you explicitly (re)select a value?

@notserpe

My bad. Backtrace is when no port is selected.
Capture is working but "Show Meta Data" resets device type pull-down menu to a blank entry
but no backtrace occurs.

@jawi
Owner
jawi commented Nov 19, 2012

Ok; forked a new issue about this: #129.

Thanks for testing this!

@sw
sw commented Jun 22, 2013

Both capture and "show device metadata" are not working form me on 0.9.6.1 with the same error.

I'm running Ubuntu 64-Bit, Linux 3.8.0-25. Trying to connect to a Bus Pirate v3.b Firmware v6.1 r1676.

Port is /dev/ttyUSB0
Bus 001 Device 009: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

@sw
sw commented Jun 22, 2013

It's working with ols-0.9.7-SNAPSHOT. This seems to be a duplicate of #133

@jawi
Owner
jawi commented Jun 22, 2013

Thanks for testing this out. This issue was already closed, and #133 is a continuation of this issue...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.