Skip to contentSkip to conversation

debugedit: canonicalization unexpectedly shrank by one character

DISCUSSION Martin Jansa 3 participants 3 messages Apr 24, 2013 – Apr 25, 2013

lore
Share & tools
lore
#0 lore raw

Hi,

with debugedit errors now catched and shown after:
commit 262a69ffd33e9d001a7a15fc73671a015e3b5dd1

Author: Richard Purdie <[email protected]>
Date:   Mon Mar 25 16:52:07 2013 +0000

package.bbclass: Handle subprocess errors correctly

If an error occurs in subprocess.call() we currently don't catch it. In particular we have issues where debugedit is segfaulting unnoticed. This fixes up various code paths to catch the errors.

I get couple of recipes failing with errors like:

NOTE: Running task 4179 of 4962 (ID: 2136, /OE/webos/owpb/openwebos-ports/meta-smartphone/meta-android/recipes-multimedia/android-audiosystem/android-audiosystem_bzr.bb, do_package)
NOTE: recipe android-audiosystem-1.8+bzr43-r0: task do_package: Started
ERROR: debugedit failed with exit code 1 (cmd was '/OE/webos/owpb/openwebos-ports/tmp-eglibc/sysroots/x86_64-linux/usr/lib/rpm/bin/debugedit' -b '/OE/webos/owpb/openwebos-ports/tmp-eglibc/work/armv7a-vfp-neon-webos-linux-gnueabi' -d '/usr/src/debug' -i -l '/OE/webos/owpb/openwebos-ports/tmp-eglibc/work/armv7a-vfp-neon-webos-linux-gnueabi/android-audiosystem/1.8+bzr43-r0/debugsources.list' '/OE/webos/owpb/openwebos-ports/tmp-eglibc/work/armv7a-vfp-neon-webos-linux-gnueabi/android-audiosystem/1.8+bzr43-r0/package/usr/lib/libwaudio.so.1.0')
ERROR: Function failed: split_and_strip_files
ERROR: Logfile of failure stored in: /OE/webos/owpb/openwebos-ports/tmp-eglibc/work/armv7a-vfp-neon-webos-linux-gnueabi/android-audiosystem/1.8+bzr43-r0/temp/log.do_package.3450
NOTE: recipe android-audiosystem-1.8+bzr43-r0: task do_package: Failed
ERROR: Task 2136 (/OE/webos/owpb/openwebos-ports/meta-smartphone/meta-android/recipes-multimedia/android-audiosystem/android-audiosystem_bzr.bb, do_package) failed with exit code '1'

Unfortunately this error does not show stdout/stderr from debugedit, but running it manually:
'/OE/webos/owpb/openwebos-ports/tmp-eglibc/sysroots/x86_64-linux/usr/lib/rpm/bin/debugedit' -b '/OE/webos/owpb/openwebos-ports/tmp-eglibc/work/armv7a-vfp-neon-webos-linux-gnueabi' -d '/usr/src/debug' -i -l '/OE/webos/owpb/openwebos-ports/tmp-eglibc/work/armv7a-vfp-neon-webos-linux-gnueabi/android-audiosystem/1.8+bzr43-r0/debugsources.list' '/OE/webos/owpb/openwebos-ports/tmp-eglibc/work/armv7a-vfp-neon-webos-linux-gnueabi/android-audiosystem/1.8+bzr43-r0/package/usr/lib/libwaudio.so.1.0' /OE/webos/owpb/openwebos-ports/tmp-eglibc/sysroots/x86_64-linux/usr/lib/rpm/bin/debugedit: canonicalization unexpectedly shrank by one character

This leads to
https://bugzilla.redhat.com/show_bug.cgi?id=304121
https://bugs.launchpad.net/rpm/+bug/638633
https://qa.mandriva.com/show_bug.cgi?id=62391

but no clear solution (it would be nice to show which path triggered that message as suggested in redhat bugzilla)

I can INHIBIT_PACKAGE_DEBUG_SPLIT in failing recipes or adding slash to -d '/usr/src/debug/' works in this case too..

Other ideas?

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#1 lore raw
Quoted 25 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Martin Jansa
Sent: Wednesday, April 24, 2013 3:20 AM
To: [email protected]
Subject: [OE-core] debugedit: canonicalization unexpectedly shrank by one character

Hi,

with debugedit errors now catched and shown after:
commit 262a69ffd33e9d001a7a15fc73671a015e3b5dd1

Author: Richard Purdie <[email protected]>
Date:   Mon Mar 25 16:52:07 2013 +0000

package.bbclass: Handle subprocess errors correctly

If an error occurs in subprocess.call() we currently don't catch
it. In particular
we have issues where debugedit is segfaulting unnoticed. This fixes
up
various code paths to catch the errors.

I get couple of recipes failing with errors like:

[...]

Quoted 10 lines

This leads to
https://bugzilla.redhat.com/show_bug.cgi?id=304121
https://bugs.launchpad.net/rpm/+bug/638633
https://qa.mandriva.com/show_bug.cgi?id=62391

but no clear solution (it would be nice to show which path triggered that message as suggested in redhat bugzilla)

I can INHIBIT_PACKAGE_DEBUG_SPLIT in failing recipes or adding slash to -d '/usr/src/debug/' works in this case too..

I tried set PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src" in the package and that seemed to work around the problem. In my package that was offending was because there was an -rpath that had a trailing /. It seems debugedit is very sensitive to rogue path separators. Are there ways to make this more robust?

#2 lore raw
Quoted 31 lines · Ian Geiser
Quoted 25 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Martin Jansa
Sent: Wednesday, April 24, 2013 3:20 AM
To: [email protected]
Subject: [OE-core] debugedit: canonicalization unexpectedly shrank by one character

Hi,

with debugedit errors now catched and shown after:
commit 262a69ffd33e9d001a7a15fc73671a015e3b5dd1

Author: Richard Purdie <[email protected]>
Date:   Mon Mar 25 16:52:07 2013 +0000

package.bbclass: Handle subprocess errors correctly

If an error occurs in subprocess.call() we currently don't catch
it. In particular
we have issues where debugedit is segfaulting unnoticed. This fixes
up
various code paths to catch the errors.

I get couple of recipes failing with errors like:

[...]

Quoted 5 lines

This leads to
https://bugzilla.redhat.com/show_bug.cgi?id=304121
https://bugs.launchpad.net/rpm/+bug/638633
https://qa.mandriva.com/show_bug.cgi?id=62391

Quoted 6 lines
Quoted 5 lines

but no clear solution (it would be nice to show which path triggered that message as suggested in redhat bugzilla)

I can INHIBIT_PACKAGE_DEBUG_SPLIT in failing recipes or adding slash to -d '/usr/src/debug/' works in this case too..

I tried set PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src" in the package and that seemed to work around the problem. In my package that was offending was because there was an -rpath that had a trailing /. It seems debugedit is very sensitive to rogue path separators. Are there ways to make this more robust?

Source for debugedit is part of RPM. I don't see any reason why we wouldn't accept patches for something like this. (However, it does seem like the rpath may be wrong as well. Fixing the rpath should probably be done as well.)

--Mark

Quoted 8 lines

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core