This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git


The following commit(s) were added to refs/heads/develop by this push:
     new 4cfb124bff chore: Downgraded to the latest Netty 4.1 version to fix 
the issues with the serial transport.
4cfb124bff is described below

commit 4cfb124bffd27cd603c40c33ba934b49bf2be8a8
Author: Christofer Dutz <[email protected]>
AuthorDate: Thu Jul 31 13:37:01 2025 +0200

    chore: Downgraded to the latest Netty 4.1 version to fix the issues with 
the serial transport.
---
 plc4j/drivers/firmata/pom.xml                                       | 6 ++++++
 .../org/apache/plc4x/java/firmata/readwrite/FirmataManualTest.java  | 2 +-
 plc4j/drivers/s7/pom.xml                                            | 2 +-
 plc4j/spi/pom.xml                                                   | 2 +-
 .../org/apache/plc4x/java/spi/connection/NettyChannelFactory.java   | 1 +
 plc4j/transports/serial/pom.xml                                     | 2 +-
 .../java/org/apache/plc4x/java/transport/serial/SerialChannel.java  | 4 ++--
 plc4j/transports/udp/pom.xml                                        | 2 +-
 plc4j/utils/plc-simulator/pom.xml                                   | 2 +-
 pom.xml                                                             | 4 ++--
 10 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/plc4j/drivers/firmata/pom.xml b/plc4j/drivers/firmata/pom.xml
index 2d9f5afffb..f33ade876e 100644
--- a/plc4j/drivers/firmata/pom.xml
+++ b/plc4j/drivers/firmata/pom.xml
@@ -128,6 +128,12 @@
       <artifactId>purejavacomm</artifactId>
     </dependency>
 
+    <dependency>
+      <groupId>com.fazecast</groupId>
+      <artifactId>jSerialComm</artifactId>
+      <scope>test</scope>
+    </dependency>
+
     <dependency>
       <groupId>org.apache.plc4x</groupId>
       <artifactId>plc4j-utils-test-utils</artifactId>
diff --git 
a/plc4j/drivers/firmata/src/test/java/org/apache/plc4x/java/firmata/readwrite/FirmataManualTest.java
 
b/plc4j/drivers/firmata/src/test/java/org/apache/plc4x/java/firmata/readwrite/FirmataManualTest.java
index 5d4c25bffe..48c3ab4080 100644
--- 
a/plc4j/drivers/firmata/src/test/java/org/apache/plc4x/java/firmata/readwrite/FirmataManualTest.java
+++ 
b/plc4j/drivers/firmata/src/test/java/org/apache/plc4x/java/firmata/readwrite/FirmataManualTest.java
@@ -29,7 +29,7 @@ public class FirmataManualTest {
     public static void main(String[] args) throws Exception {
 
         // Default for the Firmata Arduino sketch is, 57600 baud, 8 data-bits, 
no parity and one stop bit (Which is the default for the Serial transport)
-        try(PlcConnection connection = 
PlcDriverManager.getDefault().getConnectionManager().getConnection("firmata:///dev/tty.usbmodem2114401"))
 {
+        try(PlcConnection connection = 
PlcDriverManager.getDefault().getConnectionManager().getConnection("firmata:///dev/tty.usbmodem1101"))
 {
             PlcSubscriptionRequest subscriptionRequest = 
connection.subscriptionRequestBuilder().addEventTagAddress("analog1", 
"analog:1").setConsumer(plcSubscriptionEvent -> {
                 System.out.println("Incoming Event: " + 
plcSubscriptionEvent.getPlcValue("analog1").getInteger());
             }).build();
diff --git a/plc4j/drivers/s7/pom.xml b/plc4j/drivers/s7/pom.xml
index 3ecb3aa0de..c541e1764d 100644
--- a/plc4j/drivers/s7/pom.xml
+++ b/plc4j/drivers/s7/pom.xml
@@ -140,7 +140,7 @@
     </dependency>
     <dependency>
       <groupId>io.netty</groupId>
-      <artifactId>netty-codec-base</artifactId>
+      <artifactId>netty-codec</artifactId>
     </dependency>
     <dependency>
       <groupId>io.netty</groupId>
diff --git a/plc4j/spi/pom.xml b/plc4j/spi/pom.xml
index c7f92071e5..f253dbcde7 100644
--- a/plc4j/spi/pom.xml
+++ b/plc4j/spi/pom.xml
@@ -41,7 +41,7 @@
     </dependency>
     <dependency>
       <groupId>io.netty</groupId>
-      <artifactId>netty-codec-base</artifactId>
+      <artifactId>netty-codec</artifactId>
     </dependency>
     <dependency>
       <groupId>io.netty</groupId>
diff --git 
a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/NettyChannelFactory.java
 
b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/NettyChannelFactory.java
index 2864f01107..dea76abda2 100644
--- 
a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/NettyChannelFactory.java
+++ 
b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/NettyChannelFactory.java
@@ -148,6 +148,7 @@ public abstract class NettyChannelFactory implements 
ChannelFactory {
             Thread.currentThread().interrupt();
             throw new PlcConnectionException("Error creating channel.", e);
         } catch (Throwable t) {
+            t.printStackTrace();
             throw new PlcConnectionException("Error creating channel.", t);
         }
     }
diff --git a/plc4j/transports/serial/pom.xml b/plc4j/transports/serial/pom.xml
index e76568b481..b1d994c97c 100644
--- a/plc4j/transports/serial/pom.xml
+++ b/plc4j/transports/serial/pom.xml
@@ -72,7 +72,7 @@
 
     <dependency>
       <groupId>io.netty</groupId>
-      <artifactId>netty-codec-base</artifactId>
+      <artifactId>netty-codec</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git 
a/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/transport/serial/SerialChannel.java
 
b/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/transport/serial/SerialChannel.java
index 155a4ea49c..a5c3b4f15a 100644
--- 
a/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/transport/serial/SerialChannel.java
+++ 
b/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/transport/serial/SerialChannel.java
@@ -353,9 +353,9 @@ public class SerialChannel extends AbstractNioByteChannel 
implements DuplexChann
 
                 // Set selection key
                 // TODO: in newer netty versions, there is no "selectionKey" 
field. I have no idea what this is needed for ... so I'll comment this out for 
now.
-                /*final Field selectionKeyField = 
AbstractNioChannel.class.getDeclaredField("selectionKey");
+                final Field selectionKeyField = 
AbstractNioChannel.class.getDeclaredField("selectionKey");
                 selectionKeyField.setAccessible(true);
-                selectionKeyField.set(SerialChannel.this, 
serialSelectionKey);*/
+                selectionKeyField.set(SerialChannel.this, serialSelectionKey);
 
                 // Set event loop (again, via reflection)
                 final Field loop = 
AbstractChannel.class.getDeclaredField("eventLoop");
diff --git a/plc4j/transports/udp/pom.xml b/plc4j/transports/udp/pom.xml
index cabd8004e8..5787e03c51 100644
--- a/plc4j/transports/udp/pom.xml
+++ b/plc4j/transports/udp/pom.xml
@@ -53,7 +53,7 @@
     </dependency>
     <dependency>
       <groupId>io.netty</groupId>
-      <artifactId>netty-codec-base</artifactId>
+      <artifactId>netty-codec</artifactId>
     </dependency>
     <dependency>
       <groupId>io.netty</groupId>
diff --git a/plc4j/utils/plc-simulator/pom.xml 
b/plc4j/utils/plc-simulator/pom.xml
index 8047b32662..de6cd006a3 100644
--- a/plc4j/utils/plc-simulator/pom.xml
+++ b/plc4j/utils/plc-simulator/pom.xml
@@ -113,7 +113,7 @@
     </dependency>
     <dependency>
       <groupId>io.netty</groupId>
-      <artifactId>netty-codec-base</artifactId>
+      <artifactId>netty-codec</artifactId>
     </dependency>
     <dependency>
       <groupId>io.netty</groupId>
diff --git a/pom.xml b/pom.xml
index 828b77d901..4d12f100eb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -148,8 +148,8 @@
     <maven.clean.plugin.version>3.2.0</maven.clean.plugin.version>
     <milo.version>0.6.16</milo.version>
     <mockito.version>5.18.0</mockito.version>
-    <!--netty.version>4.1.119.Final</netty.version-->
-    <netty.version>4.2.1.Final</netty.version>
+    <!-- Netty 4.2.x seems to break the serial transports -->
+    <netty.version>4.1.123.Final</netty.version>
     <pcap4j.version>1.8.2</pcap4j.version>
     <slf4j.version>2.0.17</slf4j.version>
     <vavr.version>0.10.7</vavr.version>

Reply via email to