#10743: [package_daemon] eats 100% cpu --------------------------------------+---------------------------- Reporter: diver | Owner: bonefish Type: bug | Status: new Priority: normal | Milestone: R1 Component: Servers/package_daemon | Version: R1/Development Resolution: | Keywords: Blocked By: | Blocking: Has a Patch: 0 | Platform: All --------------------------------------+---------------------------- Old description: > 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_daemin makes this problem go away. New description: 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. -- Comment (by diver): 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. -- Ticket URL: <https://dev.haiku-os.org/ticket/10743#comment:1> Haiku <https://dev.haiku-os.org> Haiku - the operating system.