Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 496406 - app-emulation/qemu: running find|touch randomly fails
Summary: app-emulation/qemu: running find|touch randomly fails
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: ARM Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-12-29 16:10 UTC by Tom Wijsman (TomWij) (RETIRED)
Modified: 2014-01-14 15:22 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2013-12-29 16:10:17 UTC
At the end of src_prepare the file list is too long for touch, it silently fails; thus src_prepare passes, but the command itself still fails and thus what it tries to prevent it does not do. Can you either correct the line or remove it?
Comment 1 SpanKY gentoo-dev 2013-12-30 23:19:19 UTC
the whole point of using xargs is to fix long lines.  the command seems to work fine for me, but there's no real information in this bug report.
Comment 2 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2013-12-31 19:46:44 UTC
Well, it appears to split wrong then; bug with xargs or touch perhaps?

Line in question: `find . -type f -print0 | xargs -0 touch -r configure`

Either xargs passes too much per call or touch doesn't accept enough of them.

Note that this is on ARM.

 $ xargs --show-limits

Your environment variables take up 3712 bytes
POSIX upper limit on argument length (this system): 2091392
POSIX smallest allowable upper limit on argument length (all systems): 4096
Maximum length of command we could actually use: 2087680
Size of command buffer we are actually using: 131072
Comment 3 SpanKY gentoo-dev 2013-12-31 19:50:54 UTC
still haven't really shown how it is failing

did you do an `ls` on the dir and see mismatch of timestamps ?  something else ?  what if you strace the find/xargs/touch processes ?

you also need to post `emerge --info` with every bug report.  otherwise you leave devs with randomly guessing at things.
Comment 4 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2013-12-31 21:30:52 UTC
(In reply to SpanKY from comment #3)
> still haven't really shown how it is failing

The touch command fails due to a too long file list.

> did you do an `ls` on the dir and see mismatch of timestamps ?  something
> else ?

As the command fails, the results are indifferent.

> what if you strace the find/xargs/touch processes ?

Yes, I can do that and will do so as soon as I get to it; but since the files in the directory have since changed, it will not be the exact same situation. So, I will see if it is still reproducible. But regardless of that, it can happen at random and it is worth considering to account for that.

> you also need to post `emerge --info` with every bug report.  otherwise you
> leave devs with randomly guessing at things.

`emerge --info` is also a guess at some random unrelated stuff, you're not going to find a resolution to this bug by looking at a barely changed fresh stage3; in fact it even manages to misrepresent my system, as this is a QEMU static chroot.

Portage 2.2.7 (default/linux/arm/13.0/armv6j, gcc-4.7.3, glibc-2.16.0, 3.12.5-gentoo armv6l)
=================================================================
System uname: Linux-3.12.5-gentoo-armv6l-with-gentoo-2.2
KiB Mem:     8157636 total,   2631884 free
KiB Swap:          0 total,         0 free
Timestamp of tree: Unknown
ld GNU ld (GNU Binutils) 2.23.1
app-shells/bash:          4.2_p45
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.7.5-r3, 3.2.5-r3, 3.3.3
dev-util/cmake:           2.8.11.2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.69
sys-devel/automake:       1.11.6, 1.13.4
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.7.3-r1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.9 (virtual/os-headers)
sys-libs/glibc:           2.16.0
Repositories: gentoo x-portage
ACCEPT_KEYWORDS="arm"
ACCEPT_LICENSE="* -@EULA"
CBUILD="armv6j-hardfloat-linux-gnueabi"
CFLAGS="-O2 -pipe -march=armv6j -mfpu=vfp -mfloat-abi=hard"
CHOST="armv6j-hardfloat-linux-gnueabi"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=armv6j -mfpu=vfp -mfloat-abi=hard"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--ask --verbose --autounmask-write --autounmask-keep-mask=y --tree --unordered-display --keep-going"
FCFLAGS="-O2 -pipe -march=armv6j"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news nodoc noinfo parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe -march=armv6j"
GENTOO_MIRRORS="http://gentoo.tiscali.nl"
LANG="C"
LC_ALL="C"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j20 -l9"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://88.198.51.10/gentoo-portage"
USE="X acl alsa arm avahi bzip2 cec cli cracklib cxx dirac dri faac fortran gles1 gles2 iconv libass midi minimal modules mudflap ncurses network nls nptl openmp openvg pam pcre pulseaudio readline session ssl tcpd unicode webserver zlib" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev omap omapfb dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 5 SpanKY gentoo-dev 2014-01-01 06:32:26 UTC
the fact that you're not actually running this natively is probably the single most important point.  all results are suspect because of that.

as such, i highly doubt it's not a bug in findutils or coreutils.
Comment 6 SpanKY gentoo-dev 2014-01-01 06:51:20 UTC
also, the fact that you're using qemu to run your system instead of actual hardware is critical information that you need to mention in every report originating from this system.

or, even better, just buy real hardware and use that.  there are plenty of dirt cheap armv7 laptops available on the market that easily run Gentoo.  like this $250 chromebook (and probably get it even cheaper on like ebay):
http://dev.chromium.org/chromium-os/developer-information-for-chrome-os-devices/samsung-arm-chromebook
Comment 7 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2014-01-01 08:21:37 UTC
Will do, I assumed it did full emulation; but that doesn't appear to be so... :/

Okay, not reproducible on the Raspberry Pi and outside the chroot (which I made to build faster [cheap style :P], but might reconsider that seeing things fail).

Given that it breaks strace, I guess there is no realistic way to debug this?

Anyhow, since the scope is much more limited than I thought; closed bug WFM...
Comment 8 SpanKY gentoo-dev 2014-01-01 17:13:59 UTC
(In reply to Tom Wijsman (TomWij) from comment #7)

don't get me wrong ... being able to hop into a chroot with qemu is super useful (and i do it myself).  but when things start acting weird/failing, you'll need to verify on actual hardware that it's failing.

as for debugging strace/etc..., that'll require digging into qemu.
Comment 9 Rick Farina (Zero_Chaos) gentoo-dev 2014-01-01 20:03:04 UTC
If you want fast arm hardware for development I can't speak more highly about the things I buy from hardkernel:

http://www.hardkernel.com/main/products/prdt_info.php?g_code=G137510300620

I have odroid-xu and odroid-u2 and it's just great to work with.