Your message dated Sat, 22 Nov 2025 13:49:43 +0000
with message-id <[email protected]>
and subject line Bug#1120279: fixed in direwolf 1.8.1+dfsg-1
has caused the Debian Bug report #1120279,
regarding direwolf 1.8~beta1+dfsg-1: Segfault during cleanup at the end of an 
AGWPE connection
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.)


-- 
1120279: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1120279
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: direwolf
Version: 1.8~beta1+dfsg-1
Severity: normal
Tags: upstream
X-Debbugs-Cc: [email protected]

Hello,

after the end of an AGWPE session between a client and direwolf,
direwolf crashes with a segfault.  Following is a minimal
testcase to be run without having a radio connected:

$ sudo apt install direwolf pat
$ cat > /tmp/direwolf.conf <<EOF
ADEVICE pulse
CHANNEL 0
MYCALL N0CALL
MODEM 1200
AGWPORT 8000
FX25TX 1
EOF
$ cat >/tmp/pat-config.json <<EOF
{
  "mycall": "N0CALL",
  "secure_login_password": "verysecret",
  "agwpe": {
    "addr": "localhost:8000",
    "radio_port": 0
  }
}
EOF
$ direwolf -c /tmp/direwolf.conf -p

Open a new shell and run:

$ pat-winlink --config /tmp/pat-config.json connect "ax25+agwpe:///DB0ABC"

This results in:

-----8<----------8<----------8<----------8<----------8<----------8<-----
Dire Wolf version 1.8 (Oct 15 2025) BETA TEST 1
Includes optional support for:  gpsd hamlib cm108-ptt

Reading config file /tmp/direwolf.conf
Audio device for both receive and transmit: pulse  (channel 0)
Channel 0: 1200 baud, AFSK 1200 & 2200 Hz, A+, 44100 sample rate, Tx FX.25.

Note: PTT not configured for channel 0. (OK if using VOX.)
When using VOX, ensure that it adds very little delay (e.g. 10-20) milliseconds
between the time that transmit audio ends and PTT is deactivated.
For example, if using a SignaLink USB, turn the DLY control all the
way counter clockwise.

Using VOX built in to the radio is a VERY BAD idea.  This is intended
for voice operation, with gaps in the sound, and typically has a delay of about 
a
half second between the time the audio stops and the transmitter is turned off.
When using APRS your transmiter will be sending a quiet carrier for
about a half second after your packet ends.  This may interfere with the
the next station to transmit.  This is being inconsiderate.

If you are trying to use VOX with connected mode packet, expect
frustration and disappointment.  Connected mode involves rapid responses
which you will probably miss because your transmitter is still on when
the response is being transmitted.

Read the User Guide 'Transmit Timing' section for more details.

Ready to accept AGW client application 0 on port 8000 ...
Ready to accept KISS TCP client application 0 on port 8001 ...
Virtual KISS TNC is available on /dev/pts/7
Created symlink /tmp/kisstnc -> /dev/pts/7

Attached to AGW client application 0...

Ready to accept AGW client application 1 on port 8000 ...
Attempting connect to DB0ABC ...
[0L] N0CALL>DB0ABC:(SABME cmd, p=1)
[0L] N0CALL>DB0ABC:(SABME cmd, p=1)
[0L] N0CALL>DB0ABC:(SABME cmd, p=1)
[0L] N0CALL>DB0ABC:(SABM cmd, p=1)
[0L] N0CALL>DB0ABC:(SABM cmd, p=1)
[0L] N0CALL>DB0ABC:(SABM cmd, p=1)
[0L] N0CALL>DB0ABC:(SABM cmd, p=1)
[0L] N0CALL>DB0ABC:(SABM cmd, p=1)
[0L] N0CALL>DB0ABC:(SABM cmd, p=1)
[0L] N0CALL>DB0ABC:(SABM cmd, p=1)
Failed to connect to DB0ABC after 10 tries.
Segmentation fault         direwolf -c /tmp/direwolf.conf -p
-----8<----------8<----------8<----------8<----------8<----------8<-----

The problem also exists in the upstream 1.8 release and in the
current upstream 1.9 dev branch, but not in the 1.7 release.
Git bisecting points to the following upstream commit as the
change that introduced the segfault:

-----8<----------8<----------8<----------8<----------8<----------8<-----
commit c317511f7a5159b2611dfc0fc6a7b883a7c83338
Author: Martin Cooper <[email protected]>
Date:   Thu Sep 18 17:33:47 2025 -0700

    Clean up AGWPE connection data upon termination
    
    Per-connection data for an AGWPE connection was being cleaned up only
    when the client itself went away, rather than when each connection
    was terminated. This led to reuse of stale state machine instances,
    which in turn led to incorrect connection attempts and statistics.
    
    The following changes have been made to address this:
    
    * Per-connection cleanup code from dl_client_cleanup has been moved
      to a new function, dl_connection_cleanup. dl_client_cleanup now
      calls this new function from within its existing loop, walking
      though all connections for the client being cleaned up.
    
    * A new function, dl_connection_terminated, encapsulates the removal
      of a single state machine instance from the list and the cleanup of
      that connection instance, calling dl_connection_cleanup for the
      latter.
    
    * Everywhere that server_link_terminated is being called, a new call
      to dl_connection_terminated has been added nearby, to ensure the
      connection is cleaned up. The call is "nearby" because invocations
      of server_link_terminated differ in their surrounding calls to
      other timer and state functions, and the order of those calls, so
      simply wrapping server_link_terminated is not appropriate.
    
      Many, but not all, existing calls to server_link_terminated have
      nearby calls to set the state machine state to disconnected. While
      this is also done in dl_connection_cleanup, the existing calls have
      been left to minimize disruption. (There is no real cost associated
      with changing state from disconnected to disconnected.)
    
    These changes have been tested in as many situations as possible, with
    Direwolf started using '-d ac' to watch debug output for both AGWPE
    and connection / state machine related activity.
    
    Fixes #534, Fixes #535
-----8<----------8<----------8<----------8<----------8<----------8<-----

Kind regards,
Karsten

P.S.: I have already sent this bug report to upstream.

-- System Information:
Debian Release: forky/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 6.17.6+deb14-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages direwolf depends on:
ii  adduser        3.153
ii  libasound2t64  1.2.14-2
ii  libc6          2.41-12
ii  libgps30t64    3.25-5
ii  libhamlib4t64  4.6.5-5
ii  libudev1       258.1-2

direwolf recommends no packages.

Versions of packages direwolf suggests:
ii  gpsd     3.25-5
ii  python3  3.13.7-1

-- no debconf information

--- End Message ---
--- Begin Message ---
Source: direwolf
Source-Version: 1.8.1+dfsg-1
Done: Dave Hibberd <[email protected]>

We believe that the bug you reported is fixed in the latest version of
direwolf, 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.
Dave Hibberd <[email protected]> (supplier of updated direwolf 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: Sat, 22 Nov 2025 13:13:52 +0000
Source: direwolf
Architecture: source
Version: 1.8.1+dfsg-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Hamradio Maintainers <[email protected]>
Changed-By: Dave Hibberd <[email protected]>
Closes: 1120279
Changes:
 direwolf (1.8.1+dfsg-1) unstable; urgency=medium
 .
   * New upstream version 1.8.1+dfsg
     - Closes: #1120279
Checksums-Sha1:
 d39c95171d1dca43bbd0d8d688648555df2312a0 2356 direwolf_1.8.1+dfsg-1.dsc
 e8a3c31970732c705b48616a8d5bcd64be63158d 849828 direwolf_1.8.1+dfsg.orig.tar.xz
 19d8a4d1ea069bd5fb125660a6df26e6d79d86db 8472 
direwolf_1.8.1+dfsg-1.debian.tar.xz
 79cfbc68bfbf3d9936a8312958a818cffb067e80 1722560 
direwolf_1.8.1+dfsg-1.git.tar.xz
 f99c74cf29f919d08d6239e33a2009389e8f1a4b 18242 
direwolf_1.8.1+dfsg-1_source.buildinfo
Checksums-Sha256:
 f56d06ad242f970a57bad95f6e45f04ca7e516851a554fc5c9dbfd598c9fc64a 2356 
direwolf_1.8.1+dfsg-1.dsc
 a66abf91f00090a07f59b122ef41b2e6cde5946fd9b9353ceeb36afdcc1599c5 849828 
direwolf_1.8.1+dfsg.orig.tar.xz
 6583a953b4c370e3139aabba9817b6b990cfb22b74bc5d19b083ae3702291c0d 8472 
direwolf_1.8.1+dfsg-1.debian.tar.xz
 dc3eb5bf9ac18eb3d5067c8d855e61b0d8a6306d603429380a16865881b18729 1722560 
direwolf_1.8.1+dfsg-1.git.tar.xz
 cdc4db79940fa05046ef2eb23156ca6070fcf88a3018c867b666cb08ff2ca6d1 18242 
direwolf_1.8.1+dfsg-1_source.buildinfo
Files:
 1b025deb3ef4bd7a991ebd93968c4a7f 2356 hamradio optional 
direwolf_1.8.1+dfsg-1.dsc
 b9eb8f34ead9bf4dc1494d8ad8ad4502 849828 hamradio optional 
direwolf_1.8.1+dfsg.orig.tar.xz
 740531f66225d7a788082fb47e8be676 8472 hamradio optional 
direwolf_1.8.1+dfsg-1.debian.tar.xz
 ce35ee1fae91527ec89c7eec93b8f364 1722560 hamradio optional 
direwolf_1.8.1+dfsg-1.git.tar.xz
 6110c427c6c37056c97dfcbe5a66e0af 18242 hamradio optional 
direwolf_1.8.1+dfsg-1_source.buildinfo
Git-Tag-Info: tag=b3155ec5d23f9b0da6e136ebbe43101940b3d951 
fp=5e4f545193e8969c8a59b80a03a1fb7a1904771b
Git-Tag-Tagger: Dave Hibberd <[email protected]>

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEN02M5NuW6cvUwJcqYG0ITkaDwHkFAmkhuB0ACgkQYG0ITkaD
wHnyQBAA7ie5EL7naHO8cSuTKTqrtSlj8drbu0QETzI0rMCMZMBnicH4279DLVpE
o8nQ9q/Dt4/mlBsJIbmfZzGZgL0HSASuQIwOSLXfqMpkL9Ts2v4IKeCZ/cLjb7ct
xTGtyKZlhFjudzaZEnsHmBbWkYSuJu2P4i1Udm4yHTT32QmW2NJf8K26nPasfRhS
hAimRhzLsI9G2vPF4gpLSr82fwjJwwUKAZNJEC3y8msOX0ERrfSbXwMw4V9V8NKh
zpVCOvuZO75X71BbSz3J2DsUJuhHe8THQFne9xXVppOrNNt6OrjKLFPQxKL5N7aU
soFkyfJ7mkqW5F7fHb3ejVxrkJvhpMgW436z1VVo+gWc96+Zz8fNywtoyoPYVHLq
0NS0Va7ffko5e9fFJQQEHzxtGhQOviSNNrewqgGMfAAHUXiknc7OsVI2SU6+5y1S
JrJnQ2i+JwnV6QNvT/xCsfQCh99N/Wj8senaLJ/xENcsOx0YQGETuu3r4iYBwyfb
Hm1uE6U6LYpeTB3Zzcejv2Ey4an8EhvcNjohe1043HBopeNgPLb2FmYCkkwXqtIr
7eywVCooT4E4sww7XTS4ybAobqJDEFHjZ3uYbDv3iMMDtNufUDLntLckyrxJNFDF
LRo3v9c73Gsm9kNUDAh0uf092S1ktv2t1A8sv0mgUhUPCaynfg0=
=DdlS
-----END PGP SIGNATURE-----

Attachment: pgpy0Ln81q0K2.pgp
Description: PGP signature


--- End Message ---

Reply via email to