Your message dated Tue, 22 Apr 2025 14:39:58 +0000
with message-id <[email protected]>
and subject line Bug#1103883: fixed in libserial 1.0.0-10
has caused the Debian Bug report #1103883,
regarding libserial1: Occasional exception when writing to the serial port
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
1103883: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1103883
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: libserial1
Version: 1.0.0-9+b2
Severity: normal
Tags: patch upstream
Dear Maintainer,
when writing data to a serial port, occasional exception "Interrupted system
call"
is thrown by libserial. This is because there is no retry in case a call to
tcdrain
returns EINTR.
The bug was reported upstream:
https://github.com/crayzeewulf/libserial/issues/194
A pull request was also submitted:
https://github.com/crayzeewulf/libserial/pull/195
The proposed fix was tested in a special setup where data was continuosly
written
to the serial port through libserial and at the same time repeated systemcalls
via
sysfs were made. Without the change the exception could be easily reproduced,
after
the proposed change it did not occur anymore for several days.
I ask you to include this patch in Debian as I don't expect a new upstream
release
for this.
Thanks,
Tobias
-- System Information:
Debian Release: trixie/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: arm64, armhf
Kernel: Linux 6.12.11-amd64 (SMP w/10 CPU threads; PREEMPT)
Kernel taint flags: TAINT_SOFTLOCKUP
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8),
LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages libserial1 depends on:
ii libc6 2.41-6
ii libgcc-s1 14.2.0-19
ii libstdc++6 14.2.0-19
libserial1 recommends no packages.
libserial1 suggests no packages.
-- no debconf information
From: Tobias Graemer <[email protected]>
Date: Thu, 10 Apr 2025 10:31:17 +0200
Subject: [PATCH] Call tcdrain with retry
When writing to the serial port, exception "interrupted system call"
was observed. System calls that are interrupted shall be repeated, as
explained in the description of call_with_retry() template function.
---
src/SerialPort.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/SerialPort.cpp b/src/SerialPort.cpp
index e354fcb..b5b4d12 100644
--- a/src/SerialPort.cpp
+++ b/src/SerialPort.cpp
@@ -922,7 +922,7 @@ namespace LibSerial
throw NotOpen(ERR_MSG_PORT_NOT_OPEN) ;
}
- if (tcdrain(this->mFileDescriptor) < 0)
+ if (call_with_retry(tcdrain, this->mFileDescriptor) < 0)
{
throw std::runtime_error(std::strerror(errno)) ;
}
--- End Message ---
--- Begin Message ---
Source: libserial
Source-Version: 1.0.0-10
Done: Gianfranco Costamagna <[email protected]>
We believe that the bug you reported is fixed in the latest version of
libserial, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Gianfranco Costamagna <[email protected]> (supplier of updated libserial
package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Tue, 22 Apr 2025 15:51:44 +0200
Source: libserial
Built-For-Profiles: noudeb
Architecture: source
Version: 1.0.0-10
Distribution: unstable
Urgency: medium
Maintainer: Gianfranco Costamagna <[email protected]>
Changed-By: Gianfranco Costamagna <[email protected]>
Closes: 1103883
Changes:
libserial (1.0.0-10) unstable; urgency=medium
.
[ Gianfranco Costamagna ]
* Bump std-version to 4.7.2
.
[ Tobias Graemer ]
* Fix occasional exception when writing to the serial port (Closes:
#1103883)
Checksums-Sha1:
768ca99f13d8a8d79c89539082682e2e3d2f695a 2144 libserial_1.0.0-10.dsc
fdb3f4bc338da806f3c2b404cecbecf33a775d3f 6956 libserial_1.0.0-10.debian.tar.xz
cba892882e3f084f8348a360013c8cbee67dbc3e 7337
libserial_1.0.0-10_source.buildinfo
Checksums-Sha256:
3e4bb176a5c4c908da95e0af233b4cfea16f7ff715948a8002a67eab7b244501 2144
libserial_1.0.0-10.dsc
976230ee4a4aed1dc78a9e440ebe07f2a36d8571122983309797efd77354bc51 6956
libserial_1.0.0-10.debian.tar.xz
2ec77468e26f22a1b3ee623b2fa1d9420e103662e91cfd749cf88d8435e3f5cd 7337
libserial_1.0.0-10_source.buildinfo
Files:
1f05dad742c953bf0726751d484a227a 2144 devel optional libserial_1.0.0-10.dsc
c13fa6b85fd35d5e7910f983391d4526 6956 devel optional
libserial_1.0.0-10.debian.tar.xz
a8c9bc9ad40f91e1306007b4ae18239f 7337 devel optional
libserial_1.0.0-10_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEkpeKbhleSSGCX3/w808JdE6fXdkFAmgHnw0ACgkQ808JdE6f
XdlrXg/9EuMXwG4XtZYSPREKZNr2uaCzbPCjp/OSFixnGXdLVMEJb20maM4/5obK
OZP+Kd6yhJLwFJ56gqooZGpt9ztl5ksTNbq8ipD8haK00ROzWkdc45VEDJs3IBKo
HVvP6BHRPEcPd0y+QNJyOXemE4oFSUvfbxK4Xc9sjAtgXOCyVE3MwyxbsuYpHGfG
4KxLI27Thy8VRmt2sSY6eNsCyJQJOHiTm/xXsTiTpup3WCklFURhB9Or+0VPdX4R
SjEIWneIobJ5x7iMI+C1FCWS85d/8uoIz9Ghc0azJ0GT/3XBDeXtuuVssV85irPa
f3nFyzVA9jc6pQ7n9fZR9rOkIjVdH4vTjYKBF8XiaiYjAFcjv95TF8iD/R66H5tS
mOj8UhSAaFn8rTpmWIeDY3oYhhzj1mbOumbui1VbUyelMHEzayKZoOkOurqEtxLy
ndhAKoNuMCekqLPHQIELvWR53zmV+FyW75m62G3qk8mipA+VoGgM7Bv1YquDMapd
fnABf3Rt8l80rEogMiRV7ZgBgd5nOLbfg8FHYRVlj3TRzdtm+6aV/IBvNV5DIuuk
ZAPVHL/Y8sN0R77ZFePMUcGqi+6cnjJbwhnTFzgohC2lKQ6lAvsmRr2nhpFl1P/2
XBoNDpExtRO3YXuyBADqyWdzO8fzlTrprlpmkk3tbbvZIxYc/Ss=
=QYTK
-----END PGP SIGNATURE-----
pgpfmGlrh5uWa.pgp
Description: PGP signature
--- End Message ---