Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Uncaught Exception Error in Serial IO Package #120

Closed
wcunning opened this Issue · 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

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

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

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

@jawi jawi referenced this issue from a commit
@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

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
@notserpe

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

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

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

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

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

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

Thanks for testing this!

@sw
sw commented

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

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

@jawi
Owner

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.