Opened 10 years ago

Last modified 4 years ago

#10743 closed bug

[package_daemon] eats 100% cpu — at Version 1

Reported by: diver Owned by: bonefish
Priority: normal Milestone: R1/beta2
Component: Servers/package_daemon Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description (last modified by diver)

hrev47099 x86_gcc2

Sometimes while building packages using haikuporter job runner thread of pacake_daemon starts to consume a lot of cpu without ever stopping.

I debugged the thread in question and it looks like it stucks comparing something in BString::eq

Restarting package_daemon makes this problem go away.

Change History (6)

comment:1 by diver, 10 years ago

Description: modified (diff)

package daemin crashed after running haikuporter which resulted in the following error:

Skipping download of source for FFmpeg
Skipping unpack of FFmpeg
Skipping patchset for FFmpeg
Cleaning up temporary directories ...
Populating source package ...
mount: Device/File/Resource busy
Command '['/bin/bash', '-c', '\n# ignore sigint but stop on every error\ntrap \'\' SIGINT\nset -e\n\nmkdir -p \\\n\tdev \\\n\tboot/system/packages \\\n\tboot/system/cache/tmp \\\n\tboot/system/packages \\\n\tboot/system/settings/etc \\\n\tport \\\n\nln -sfn /boot/system system\nln -sfn /boot/system/bin bin\nln -sfn /boot/system/package-links packages\nln -sfn /boot/system/cache/tmp tmp\nln -sfn /boot/system/settings/etc etc\nln -sfn /boot/system/var var\n\n# remove any packages that may be lying around\nrm -f boot/system/packages/*.hpkg\n\n# link the list of required packages\nfor pkg in $packages; do\n\tln -sfn "$pkg" boot/system/packages/\ndone\n\n# silently unmount if needed, just to be one the safe side\nif [ -e dev/console ]; then\n\tunmount dev\nfi\nif [ -e boot/system/bin ]; then\n\tunmount boot/system\nfi\nif [ "$(echo port/work*)" != port/work\\* ]; then\n\tunmount port\nfi\n\n# if it has been defined, mount the cross-build sysroot\nif [[ -n $crossSysrootDir ]]; then\n\tif [ -e $crossSysrootDir/boot/system/develop ]; then\n\t\tunmount $crossSysrootDir/boot/system\n\tfi\n\t# symlink haiku_cross_devel package into place\n\tmkdir -p $crossSysrootDir/boot/system/packages\n\tcrossDevelPath=/boot/system/develop/cross\n\tln -sfn \\\n\t\t$crossDevelPath/haiku_cross_devel_sysroot_$targetArchitecture.hpkg \\\n\t\t$crossSysrootDir/boot/system/packages/haiku_cross_devel_sysroot.hpkg\n\tmount -t packagefs -p "type system" $crossSysrootDir/boot/system\nfi\n\n# mount dev and system-packagefs\nmount -t bindfs -p "source /dev" dev\nmount -t packagefs -p "type system" boot/system\n\n# bind-mount the port directory to port/\nmount -t bindfs -p "source $portDir" port\n\n']' returned non-zero exit status 1

It failed to unmount /data/haikuports/media-video/ffmpeg/work-7407/boot/system which happens very often here, but doesn't result in package_daemon crash, so it might be just a coincidence.

by diver, 10 years ago

Attachment: syslog added

by diver, 10 years ago

Attachment: syslog.2 added
Note: See TracTickets for help on using tickets.