Opened 6 years ago

Closed 6 years ago

#10102 closed bug (fixed)

[package_daemon] crashes in strcmp

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

Description

This is hrev46233 gcc2 hybrid.

I was trying to move some packages from or to ~/config/packages folder when package_daemon crashed.

Attachments (3)

package_daemon-189-debug-15-10-2013-10-21-15.report (10.4 KB ) - added by diver 6 years ago.
syslog (95.3 KB ) - added by diver 6 years ago.
package_daemon-683-debug-15-10-2013-10-25-58.report (11.5 KB ) - added by diver 6 years ago.

Download all attachments as: .zip

Change History (11)

by diver, 6 years ago

Attachment: syslog added

comment:1 by diver, 6 years ago

Summary: [package_daemon] crash in BString::__eq[package_daemon] crashes in BString::__eq

Moving distcc-3.1-2-x86_gcc2.hpkg out reproduces it.

comment:2 by anevilyak, 6 years ago

Component: - GeneralServers/package_daemon
Owner: changed from nobody to bonefish
Summary: [package_daemon] crashes in BString::__eq[package_daemon] crashes in strcmp

comment:3 by bonefish, 6 years ago

I've tried and tried, but cannot reproduce this crash with the distcc package. The debug report suggests that the crash happens when looking up the removed file in the Volume::fPackagesByFileName hash table, so apparently the has table has been corrupted. The most likely cause -- an item being deleted without removing it from the table -- is something I don't see happening either (with added debug output).

What is the exact sequence of steps you perform to reproduce the crash?

comment:4 by diver, 6 years ago

pkgman install --home distcc mv ~/config/packages/administrative/transaction-1/* ~/config/packages # Press Ok in package_daemon error window. mv ~/config/packages/distcc* .

comment:5 by bonefish, 6 years ago

Can't reproduce the issue with these steps either. :-/ Tested in qemu with a gcc2h build.

comment:6 by diver, 6 years ago

Ok, it seems that we need more than one package to be downloaded first. Reproducible in current nightly using:

pkgman uninstall python pkgman install --home distcc mv ~/config/packages/administrative/transaction-1/* ~/config/packages # Press Ok in package_daemon error window. mv ~/config/packages/distcc* .

comment:7 by bonefish, 6 years ago

Status: newin-progress

comment:8 by bonefish, 6 years ago

Resolution: fixed
Status: in-progressclosed

Fixed in hrev46284.

Note: See TracTickets for help on using tickets.