Version-Release number of selected component: rpm-build-4.11.0.1-2.fc20 Additional info: backtrace_rating: 4 cmdline: rpmbuild -ba w3perl.spec crash_function: rfree executable: /usr/bin/rpmbuild kernel: 3.9.0-0.rc6.git2.2.fc20.i686.PAE runlevel: N 5 uid: 1000 ureports_counter: 1 var_log_messages: Apr 15 08:40:22 fab abrt[11922]: Saved core dump of pid 10617 (/usr/bin/rpmbuild) to /var/tmp/abrt/ccpp-2013-04-15-08:40:22-10617 (2465792 bytes) Truncated backtrace: Thread no. 1 (10 frames) #6 rfree at /lib/librpmio.so.3 #7 rpmstrPoolFree at /lib/librpmio.so.3 #8 rpmdsFree at /lib/librpm.so.3 #9 addReqProv at /lib/librpmbuild.so.3 #10 rpmlibNeedsFeature at /lib/librpmbuild.so.3 #11 genCpioListAndHeader at /lib/librpmbuild.so.3 #12 processBinaryFiles at /lib/librpmbuild.so.3 #13 buildSpec at /lib/librpmbuild.so.3 #14 buildForTarget.constprop.1 #15 build.constprop.0
Created attachment 735672 [details] File: backtrace
Created attachment 735673 [details] File: cgroup
Created attachment 735674 [details] File: core_backtrace
Created attachment 735675 [details] File: dso_list
Created attachment 735676 [details] File: environ
Created attachment 735677 [details] File: limits
Created attachment 735678 [details] File: maps
Created attachment 735679 [details] File: open_fds
Created attachment 735680 [details] File: proc_pid_status
Please attach the reproducer spec as well. (I assume this is reproducable?)
(In reply to comment #10) > Please attach the reproducer spec as well. (I assume this is reproducable?) It's not a standard spec, in fact it's an opensuse one. Should I still have to upload it?
How is a spec from Suse not a standard? If rpm crashes on one of those, it can crash on a Fedora spec too. So yes, please attach the spec especially if the crash is indeed reproducable with it.
Created attachment 736402 [details] with some modification from http://download.opensuse.org/repositories/network:/utilities/openSUSE_Factory/src/w3perl-3.16-1.13.src.rpm Please see the attachment. Thanks.
Easily reproduced now, will fix. Thanks for reporting.
(In reply to comment #14) > Easily reproduced now, will fix. Thanks for reporting. Could you tell me the details? Thanks.
When I know what the details are :) Its related to the %{apache_libexec} and %{apache_sysconfdir} macros which fail to evaluate as %{apxs} is not defined (and in the original spec, apxs path is wrong). This blows up something in the files list processing / dependency generation. For now, "%define apxs /usr/bin/apxs" should allow the package to be correctly built.
The problem is these %files entries: %dir %{apache_sysconfdir}/../conf.d %config (noreplace) %{apache_sysconfdir}/../conf.d/w3perl.conf When %{apache_sysconfdir} evaluates to nothing (as is the case with the reproducer spec), the paths end up being: /../conf.d /../conf.d/w3perl.conf Rpm thinks these are ok as they start with /, but they actually "escape" the buildroot and the dependency generation blows up because it assumes all paths are inside the buildroot. So the crash is actually just a symptom of a more fundamental (and ages old) flaw: its trivial to escape the buildroot in %files, whether by accident as happens here, or on purpose. Fixed upstream now: http://rpm.org/gitweb?p=rpm.git;a=commitdiff;h=dbc2d51f066207e29e4a725f15d03cb04d9429c7
Fixed in rpm >= 4.11.1: Processing files: w3perl-3.16-1.13.noarch error: Path is outside buildroot: /home/pmatilai/rpmbuild/BUILDROOT/conf.d error: Path is outside buildroot: /home/pmatilai/rpmbuild/BUILDROOT/conf.d/w3perl.conf