irScrutinizer crashes when captureing a signal using Agirs 1.04 #66
Replies: 3 comments 1 reply
-
Thank you for the bug report. I can reproduce. Seems nasty... Sorry. I hope to be able to present a fix soon. |
Beta Was this translation helpful? Give feedback.
-
Please try to apply the following patch to Girs.cpp
(I.e. add the line flushIn(stream) after line 671.) If that turns out to be OK, I will issue this as release 1.0.5. |
Beta Was this translation helpful? Give feedback.
-
I have checked in (an extended version of) the fix, and tagged as Version-1.0.5. This should be available in the Arduino library manager within the next few hours. Again, thank you very much for the bug report. |
Beta Was this translation helpful? Give feedback.
-
Using irScrutinizer v2.3.1, Girslite 1.04 flashed to an Arduino Nano and Agirs 1.04 on a Mega 2560. irScrutinizer crashes when captureing a signal after having transmited a previous captured signal.
I am not a programmer, but I have found that if i comment out line
671 stream.println(status ? F(okString) : F(errorString));
Which is at the bottom of #ifdef TRANSMIT code block in Girs.cpp file.
With this line removed irScrutinizer no longer crashes.
I am using Arduino 1.8.19 IDE, Infrared4Arduino 1.2.2. And windows 7 pro. I flashed a Nano using both the Windows Flash Kit and the Arduino IDE, both crash with the same error.
Here is the dump from irScrutinizer with verbose turned on:
LocalSerialPortBuffered.sendString: Sent '\r'.
LocalSerialPortBuffered.readString: received "GirsLite 1.0.4"
LocalSerialPortBuffered.sendString: Sent '\r'.
LocalSerialPortBuffered.readString: received "OK"
LocalSerialPortBuffered.sendString: Sent 'version\r'.
LocalSerialPortBuffered.readString: received "GirsLite 1.0.4"
LocalSerialPortBuffered.sendString: Sent 'modules\r'.
LocalSerialPortBuffered.readString: received "Base Transmit Capture Receive Led Parameters"
LocalSerialPortBuffered.sendString: Sent 'analyze\r'.
LocalSerialPortBuffered.readString: received "f=38461 +8971 -4519 +541 -1726 +511 -580 +539 -578 +541 -578 +539 -1728 +511 -1726 +511 -1728 +511 -578 +541 -578 +539 -1728 +511 -1726 +511 -1728 +511 -578 +538 -581 +538 -581 +538 -1726 +511 -581 +538 -1728 +511 -579 +538 -1728 +511 -578 +541 -578 +538 -1728 +511 -578 +541 -1725 +511 -578 +541 -1726 +511 -578 +541 -1726 +511 -1728 +511 -578 +541 -1725 +511 -41094 +8972 -4519 +541 -1726 +511 -579 +541 -578 +539 -580 +539 -1726 +511 -1728 +511 -1725 +511 -580 +539 -580 +538 -1726 +511 -1728 +511 -1726 +511 -581 +538 -578 +541 -578 +539 -1728 +511 -578 +539 -1728 +511 -579 +540 -1726 +511 -578 +541 -578 +539 -1728 +511 -578 +539 -1728 +511 -578 +539 -1728 +511 -578 +539 -1728 +511 -1726 +511 -580 +539 -1725 +511 -41094 +8973 -4520 +541 -1726 +511 -579 +538 -581 +539 -578 +541 -1726 +511 -1726 +513 -1726 +511 -578 +539 -580 +539 -1728 +511 -1726 +511 -1725 +511 -580 +539 -578 +541 -578 +541 -1726 +511 -578 +541 -1726 +511 -581 +539 -1725 +511 -580 +539 -578 +541 -1725 +511 -580 +539 -1726 +511 -580 +539 -1728 +511 -578 +539 -1728 +511 -1726 +511 -579 +541 -1726 +511 -41094 +8972 -4520 +540 -1726 +511 -578 +541 -578 +539 -580 +539 -1728 +511 -1726 +511 -1726 +511 -580 +539 -578 +541 -1726 +511 -1726 +511 -1728 +511 -578 +541 -578 +539 -578 +541 -1726 +511 -581 +538 -1726 +511 -580 +539 -1726 +511 -581 +538 -579 +540 -1726 +511 -580 +539 -1726 +511 -581 +538 -1726 +511 -580 +539 -1726 +511 -1728 +511 -578 +539 -1728 +511 -41094 +8972 -4518 +541 -1726 +511 -578 +541 -578 +539 -580 +539 -1726 +511 -1728 +511 -1726 +511 -579 +541 -578 +539 -1728 +511 -1726 +511 -1726 +511 -578 +541 -579 +541 -578 +539 -1728 +511 -579 +538 -1728 +511 -578 +539 -1728 +511 -579 +538 -581 +539 -1726 +511 -581 +538 -1726 +511 -580 +539 -1728 +511 -578 +539 -1726 +511 -1728 +511 -579 +538 -1728 +511 -65535"
{38.5k,543,msb}<1,-1|1,-3>(8972u,-4519u,A:32,1,-41m)5{A=0x8e7152ad}
NEC: {D=113,F=74}, beg=0, end=67
LocalSerialPortBuffered.sendString: Sent 'send 1 38380 0 68 0 8988 4533 547 1719 547 547 547 547 547 547 547 1719 547 1719 547 1719 547 547 547 547 547 1719 547 1719 547 1719 547 547 547 547 547 547 547 1719 547 547 547 1719 547 547 547 1719 547 547 547 547 547 1719 547 547 547 1719 547 547 547 1719 547 547 547 1719 547 1719 547 547 547 1719 547 41192\r'.
LocalSerialPortBuffered.readString: received "OK"
LocalSerialPortBuffered.sendString: Sent 'analyze\r'.
LocalSerialPortBuffered.readString: received "OK"
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "OK"
at java.base/jdk.internal.math.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.base/jdk.internal.math.FloatingDecimal.parseDouble(Unknown Source)
at java.base/java.lang.Double.parseDouble(Unknown Source)
at org.harctoolbox.ircore.IrSequence.stringsToDoubles(IrSequence.java:178)
at org.harctoolbox.ircore.IrSequence.toDoubles(IrSequence.java:200)
at org.harctoolbox.ircore.IrSequence.(IrSequence.java:274)
at org.harctoolbox.harchardware.ir.GirsClient.realCapture(GirsClient.java:383)
at org.harctoolbox.harchardware.ir.GirsClient.capture(GirsClient.java:347)
at org.harctoolbox.irscrutinizer.capturinghardware.CapturingHardware.capture(CapturingHardware.java:86)
at org.harctoolbox.irscrutinizer.capturinghardware.CapturingHardwareManager.capture(CapturingHardwareManager.java:108)
at org.harctoolbox.irscrutinizer.GuiMain.captureIrSequence(GuiMain.java:1092)
at org.harctoolbox.irscrutinizer.GuiMain.startButtonActionPerformed(GuiMain.java:8786)
at org.harctoolbox.irscrutinizer.GuiMain.access$10900(GuiMain.java:108)
at org.harctoolbox.irscrutinizer.GuiMain$96.actionPerformed(GuiMain.java:3398)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.desktop/java.awt.Component.processEvent(Unknown Source)
at java.desktop/java.awt.Container.processEvent(Unknown Source)
at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Beta Was this translation helpful? Give feedback.
All reactions