Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 May 2024 17:13:53 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 278939] comms/wsjtx: jt9 crash during decode because of non-executable stack
Message-ID:  <bug-278939-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D278939

            Bug ID: 278939
           Summary: comms/wsjtx: jt9 crash during decode because of
                    non-executable stack
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: hamradio@FreeBSD.org
          Reporter: jeffpc@josefsipek.net
             Flags: maintainer-feedback?(hamradio@FreeBSD.org)
          Assignee: hamradio@FreeBSD.org

I freshly installed FreeBSD 14.0 and updated it to 14.0-RELEASE-p6.  After a
`pkg install wsjtx`, wsjtx (2.5.4_10) starts up fine but the jt9 helper pro=
cess
(used to decode FT4 & FT8 among other modes) terminates because of a SIGBUS=
.=20
(That is, wsjtx runs fine collecting the rx audio, but at the end of the
interval (e.g., 15s for FT8) it spawns jt9 to process it.)

I rebuilt the wsjtx port which didn't help.  However, using the unstripped
binary led me to the following stack trace:

(lldb) bt
* thread #1, name =3D 'jt9', stop reason =3D signal SIGBUS
  * frame #0: 0x0000000820c4a2e8
    frame #1: 0x0000000000249e03 jt9`__ft8_decode_MOD_decode + 4931
    frame #2: 0x00000000002412e2 jt9`multimode_decoder_ + 4546
    frame #3: 0x0000000000238c4e jt9`jt9a_ + 814
    frame #4: 0x00000000002381ce jt9`MAIN__ + 7038
    frame #5: 0x000000000023890f jt9`main + 31
    frame #6: 0x000000082a852afa libc.so.7`__libc_start1 + 298
    frame #7: 0x00000000002365e0 jt9`_start at crt1_s.S:83

On a hunch, I started disabling security related sysctls which "fixed" the
SIGBUS crash.  Specifically, I mucked with kern.elf64.aslr.enable. &
kern.elf64.nxstack.

aslr=3D1 & nxstack=3D1 --> crash (this is the default on the system)
aslr=3D0 & nxstack=3D1 --> crash
aslr=3D0 & nxstack=3D0 --> wsjtx works as expected

I didn't try aslr=3D1 & nxstack=3D0 because I was too busy trying to use ws=
jtx to
make contacts (to see if there were any other issues - I haven't found any).

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-278939-7788>