Skip Menu |

This queue is for tickets about the RPM2 CPAN distribution.

Report information
The Basics
Id: 15908
Status: new
Priority: 0/
Queue: RPM2

People
Owner: Nobody in particular
Requestors: kuchyt25 [...] potsdam.edu
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: (no value)
Fixed in: (no value)



Subject: Multiple packages in transaction causes failure
Distribution name/version: RPM2-0.66 Perl version: v5.8.6 for i386-linux-thread-multi Operating system vendor and version: Linux 2.6.11-1.1369_FC4 #1 i686 i686 i386 GNU/Linux It appears that adding multiple packages to a transaction set causes at least the fnpyKey of the previous package to be clobbered. So when it's used to open a file in the _null_callback, it appears that it's a random position in memory and as such contains random data. This causes the open to fail and for the transaction to fail with a "bad file descriptor" error. This can be examined by building a transaction set iterator that prints the fnpyKey after the rpmtsAddInstallElement() call in _add_install() as follows. CODE: rc = rpmtsAddInstallElement(t, h (fnpyKey)fn, upgrade, NULL); rpmtsi pi; rpmte pe; pi = rpmtsiInit(t); while ((pe = rpmtsiNext(pi, 0)) != NULL) { char * key1 = (char *) rpmteKey(pe); printf("_add_install: transaction filename - %s\n", key1); } ... Adding multiple packages should result in the newest added package printing it's filename and the prvious packages printing nothing or random data.