Bug 1983645
| Summary: | firefox: FTBFS with Python 3.10 in rawhide due to collections.abc change | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Florian Weimer <fweimer> | ||||||
| Component: | firefox | Assignee: | Gecko Maintainer <gecko-bugs-nobody> | ||||||
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
| Severity: | unspecified | Docs Contact: | |||||||
| Priority: | unspecified | ||||||||
| Version: | rawhide | CC: | erack, gecko-bugs-nobody, jhorak, kai-engert-fedora, klaas, pjasicek, rhughes, rstrode, sandmann, stransky, trpost | ||||||
| Target Milestone: | --- | ||||||||
| Target Release: | --- | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Unspecified | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |||||||
| Doc Text: | Story Points: | --- | |||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | 2021-07-23 11:05:35 UTC | Type: | Bug | ||||||
| Regression: | --- | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Embargoed: | |||||||||
| Bug Depends On: | |||||||||
| Bug Blocks: | 1976892 | ||||||||
| Attachments: |
|
||||||||
I'm using this patch [1] for IceCat (firefox-78.12.0ESR), but the build is still failing:
13:35.16 /builddir/build/BUILD/icecat-78.12.0/security/sandbox/linux/launch/SandboxLaunch.cpp: In function ‘pid_t mozilla::{anonymous}::DoClone(int, __jmp_buf_tag (*)[1])’:
13:35.16 /builddir/build/BUILD/icecat-78.12.0/security/sandbox/linux/launch/SandboxLaunch.cpp:496:28: error: no matching function for call to ‘ArrayEnd(uint8_t [<anonymous>])’
I don't know if it related to the changes for Python-3.10
[1] https://src.fedoraproject.org/rpms/icecat/blob/rawhide/f/icecat-porting_to_python310.patch
There's a new rawhide-specific build failure due to glibc's dynamic stack sizes: 34:54.59 /builddir/build/BUILD/firefox-90.0/js/xpconnect/src/XPCJSContext.cpp:94:5: error: call to non-‘constexpr’ function ‘long int __sysconf(int)’ 34:54.59 94 | PTHREAD_STACK_MIN < 32 * 1024 ? 32 * 1024 : PTHREAD_STACK_MIN; Created attachment 1803365 [details] Failed patch attempt I tried my own patch to fix this, but it failed: https://koji.fedoraproject.org/koji/taskinfo?taskID=72187459 I will try the Mozilla patch next (probably tomorrow). (In reply to Antonio T. sagitter from comment #1) > I'm using this patch [1] for IceCat (firefox-78.12.0ESR), but the build is > still failing: > > 13:35.16 > /builddir/build/BUILD/icecat-78.12.0/security/sandbox/linux/launch/ > SandboxLaunch.cpp: In function ‘pid_t mozilla::{anonymous}::DoClone(int, > __jmp_buf_tag (*)[1])’: > 13:35.16 > /builddir/build/BUILD/icecat-78.12.0/security/sandbox/linux/launch/ > SandboxLaunch.cpp:496:28: error: no matching function for call to > ‘ArrayEnd(uint8_t [<anonymous>])’ > > I don't know if it related to the changes for Python-3.10 > > [1] > https://src.fedoraproject.org/rpms/icecat/blob/rawhide/f/icecat- > porting_to_python310.patch This is another dynamic stack size problem, like my problem in comment 2. I have filed bug 1983696 to track those. Created attachment 1803524 [details]
collections.abc and dynamic stack sizes patch
(In reply to Florian Weimer from comment #5) > Created attachment 1803524 [details] > collections.abc and dynamic stack sizes patch I'm quite happy to report that this patch results in a firefox build that works with glibc-2.33.9000-45.fc35.x86_64. (In reply to Florian Weimer from comment #4) > (In reply to Antonio T. sagitter from comment #1) > > I'm using this patch [1] for IceCat (firefox-78.12.0ESR), but the build is > > still failing: > > > > 13:35.16 > > /builddir/build/BUILD/icecat-78.12.0/security/sandbox/linux/launch/ > > SandboxLaunch.cpp: In function ‘pid_t mozilla::{anonymous}::DoClone(int, > > __jmp_buf_tag (*)[1])’: > > 13:35.16 > > /builddir/build/BUILD/icecat-78.12.0/security/sandbox/linux/launch/ > > SandboxLaunch.cpp:496:28: error: no matching function for call to > > ‘ArrayEnd(uint8_t [<anonymous>])’ > > > > I don't know if it related to the changes for Python-3.10 > > > > [1] > > https://src.fedoraproject.org/rpms/icecat/blob/rawhide/f/icecat- > > porting_to_python310.patch > > This is another dynamic stack size problem, like my problem in comment 2. I > have filed bug 1983696 to track those. Is this fixed? The patch in attachment 1803524 [details] contains fixes for this bug and bug 1983696. It brings firefox back to a buildable state for me. |
Build firefox results in Python exceptions like this one: Traceback (most recent call last): File "/builddir/build/BUILD/firefox-90.0/./mach", line 153, in <module> main(sys.argv[1:]) File "/builddir/build/BUILD/firefox-90.0/./mach", line 145, in main mach = check_and_get_mach(os.path.dirname(os.path.realpath(__file__))) File "/builddir/build/BUILD/firefox-90.0/./mach", line 132, in check_and_get_mach return load_mach(dir_path, mach_path) File "/builddir/build/BUILD/firefox-90.0/./mach", line 120, in load_mach return mach_bootstrap.bootstrap(dir_path) File "/builddir/build/BUILD/firefox-90.0/build/mach_bootstrap.py", line 228, in bootstrap import mach.main File "/builddir/build/BUILD/firefox-90.0/python/mach/mach/main.py", line 19, in <module> from collections import Iterable ImportError: cannot import name 'Iterable' from 'collections' (/usr/lib64/python3.10/collections/__init__.py) It is related to to the collections → collections.abc move that was completed in Python 3.10: https://docs.python.org/3.10/whatsnew/3.10.html#removed This blocks the fix of bug 1976892 in rawhide, which in turn blocks further glibc updates in rawhide (including the upgrade to glibc 2.34). I'm testing a patch.