Bug 2231865

Summary: brlapi reliably crashes (taking out Orca with it)
Product: [Fedora] Fedora Reporter: Joanmarie Diggs <jdiggs>
Component: brlttyAssignee: Gwyn Ciesla <gwync>
Status: ON_QA --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 39CC: awilliam, gwync, jskarvad, kasal, olysonek-foss
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Joanmarie Diggs 2023-08-14 13:58:54 UTC
Step to reproduce in Fedora 39 with python 3.12:

1. Type the following in a terminal:

    python3 -c "import brlapi; brlapi.Connection()"

Expected results: No crash.

Actual results:

    double free or corruption (!prev)
    Aborted (core dumped)

Impact: If Orca* is launched with braille enabled, Orca crashes.

NOTE: Orca v45.alpha wouldn't launch due to a python 3.12 incompatibility. That was fixed (see https://gitlab.gnome.org/GNOME/orca/-/issues/385). I (Orca maintainer) did the beta release earlier today. That release works just fine for me using Fedora 39 -- unless braille is enabled. Which it is by default in new environments -- and existing environments where the Orca user didn't explicitly disable it.

I will see if there's something I can do to prevent Orca from crashing when braille is enabled. But the crash as described in the step to reproduce needs to be fixed.

Related: Arch had the same problem with the apparent fix being to rebuild brltty using cython 0.29.36. See https://www.freelists.org/post/orca/cant-start-orca-segfault-on-Arch-Linux-with-new-glibc,1

Reproducible: Always

Steps to Reproduce:
See above.

Comment 1 Adam Williamson 2023-08-14 16:37:31 UTC
Looks like we do have cython 0.29 available for things that can't build with 3 yet, so I'll do that.

Comment 2 Adam Williamson 2023-08-14 16:58:15 UTC
Please test with https://bodhi.fedoraproject.org/updates/FEDORA-2023-25b583184f (also there's https://bodhi.fedoraproject.org/updates/FEDORA-2023-0326b8d4a3 for Rawhide).

Comment 3 Gwyn Ciesla 2023-08-14 17:04:02 UTC
Thank you Adam!

Comment 4 Joanmarie Diggs 2023-08-14 17:10:33 UTC
In the meantime, I've got a workaround in Orca. If the users tell me it's all good (where "good" means "Orca doesn't crash"), I'll roll a "gamma" release. My guess is that Arch and Fedora will not be the only distros hit by this. :-/

Anyhoo, thanks for the quick solution in Fedora. Will see about testing later. Might be tomorrow....

Comment 5 Joanmarie Diggs 2023-08-15 08:10:07 UTC
The command listed for "how to install" still isn't doing anything for me (though admittedly it hasn't been 24 hours yet). Therefore, I just downloaded the RPMS from which I installed:

* brltty-6.6-3.fc39.x86_64.rpm   
* python3-brlapi-0.8.5-3.fc39.x86_64.rpm
* brlapi-0.8.5-3.fc39.x86_64.rpm 
* brlapi-devel-0.8.5-3.fc39.x86_64.rpm 

The crash in the opening report is gone and Orca is working with braille again.

Thanks!

Comment 6 Adam Williamson 2023-08-15 15:23:28 UTC
Yes, it will at minimum only work after the next Branched compose is complete and synced to mirrors; today's compose completed at 11:01 UTC, three hours after you tried. The instructions are really meant for stable releases, Branched is a bit different.

Comment 7 Adam Williamson 2023-08-15 15:23:52 UTC
Oh, btw, now you found a fix to make it work with Cython 3, I'll backport that and drop the < 3 constraint for a new build...

Comment 8 Joanmarie Diggs 2023-08-15 16:11:13 UTC
I didn't. Lukáš Tyrychtr. I *think* he works for your company. In which case, good hire. :)

I took a quick glance at the thread. It looks like there's a modified version of the fix under consideration.

Comment 9 Adam Williamson 2023-08-15 16:19:19 UTC
I said you found it, not you wrote it :D

Yeah, I'm doing a scratch build with the second version of the patch ATM. I had the exact same worry about Lukáš' version.

Comment 10 Adam Williamson 2023-08-15 16:36:50 UTC
OK, the scratch build works here, so I'm running official -4 builds for F39 and Rawhide.