Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1981927

Summary: APC::ThreadMutex is not available on x86_64 mod_perl
Product: [Fedora] Fedora EPEL Reporter: Nathan Coulson <nathan>
Component: mod_perlAssignee: Petr Pisar <ppisar>
Status: ON_QA --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel8CC: jkaluza, jorton, perl-devel, ppisar
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: mod_perl-2.0.11-9.fc35 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 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:

Description Nathan Coulson 2021-07-13 17:59:08 UTC
Description of problem:
'use APR::ThreadMutex ();' results in

 [Tue Jul 13 09:19:11.762106 2021] [perl:error] [pid 1065808:tid 140400020277568] Can't locate APR/ThreadMutex.pm in @INC (you may need to install the APR::ThreadMutex module) (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 /etc/httpd /usr/share/puh/apache/perl) at /home/Test.pm line 40.\nBEGIN failed--compilation aborted at /home/test.pm line 40.\nCompilation failed in require at /home/startup.pl line 10.\nBEGIN failed--compilation aborted at /home/startup.pl line 10.\nCompilation failed in require at (eval 2) line 1.\n

There is also no /usr/lib64/perl5/vendor_perl/APR/ThreadMutex.pm on x86_64's variant of mod_perl, but I do see this existing in aarch64's variant.


Version-Release number of selected component (if applicable):
2.0.11-1

How reproducible:
always

Steps to Reproduce:
ncoulson@home:~/z/y$ rpm -qpl mod_perl-2.0.11-1.el8.x86_64.rpm | grep ThreadMutex

Actual results:
ncoulson@home:~/z/y$ rpm -qpl mod_perl-2.0.11-1.el8.x86_64.rpm | grep ThreadMutex
/usr/share/doc/mod_perl/docs/api/APR/ThreadMutex.pod
/usr/share/man/man3/APR::ThreadMutex.3pm.gz


Expected results: (Noted this existing in aarch64)
ncoulson@home:~/z/y$ rpm -qpl mod_perl-2.0.11-1.el8.aarch64.rpm  | grep ThreadMutex
/usr/lib64/perl5/vendor_perl/APR/ThreadMutex.pm
/usr/lib64/perl5/vendor_perl/auto/APR/ThreadMutex
/usr/lib64/perl5/vendor_perl/auto/APR/ThreadMutex/ThreadMutex.so
/usr/share/doc/mod_perl/docs/api/APR/ThreadMutex.pod
/usr/share/man/man3/APR::ThreadMutex.3pm.gz

Comment 1 Petr Pisar 2021-07-14 06:59:25 UTC
I confirm this issue.

There are two bugs in mod_perl build script:

(1) APR::ThreadMutex module is built only if APR library was built with threads support.
    mod_perl's build script parses /usr/include/apr-1/apr.h for HAS_THREADS preprocessor
    symbol to decide whether APR library supports threads. But apr-devel package modifies
    /usr/include/apr-1/apr.h in a way which mod_perl's build script does not understand.
    As a result mod_perl does not produce APR::ThreadMutex module.

(2) mod_perl's build script installs APR::ThreadMutex(3pm) manual even if APR::ThreadMutex
    module is disabled.

I will try to adapt mod_perl's build script to the modified apr.h header file.

Comment 2 Fedora Update System 2021-07-14 09:14:03 UTC
FEDORA-2021-765587b9ab has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-765587b9ab

Comment 3 Fedora Update System 2021-07-14 09:27:46 UTC
FEDORA-2021-b3da202f28 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2021-b3da202f28

Comment 4 Fedora Update System 2021-07-14 10:39:39 UTC
FEDORA-EPEL-2021-813118785a has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-813118785a

Comment 5 Fedora Update System 2021-07-15 01:13:04 UTC
FEDORA-EPEL-2021-813118785a has been pushed to the Fedora EPEL 8 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-813118785a

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 6 Fedora Update System 2021-07-15 01:40:30 UTC
FEDORA-2021-765587b9ab has been pushed to the Fedora 34 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-765587b9ab`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-765587b9ab

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2021-07-15 01:45:40 UTC
FEDORA-2021-b3da202f28 has been pushed to the Fedora 33 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-b3da202f28`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-b3da202f28

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.