Summary: | parallel emerge + confcache => currupted db | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Carsten Lohrke (RETIRED) <carlo> |
Component: | New packages | Assignee: | Brian Harring (RETIRED) <ferringb> |
Status: | RESOLVED NEEDINFO | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Carsten Lohrke (RETIRED)
2005-12-10 07:04:18 UTC
FS? I built locking into confcache to protect against this from the get go, and at least my testing of it indicates the locking is working... try a ( python -c'import fcntl,os,time;fcntl.flock(os.open("/var/tmp",os.O_RDONLY),fcntl.LOCK_EX);print "master snagged it";time.sleep(15)' &); sleep 5s; python -c'import fcntl,os,time;fcntl.flock(os.open("/var/tmp", os.O_RDONLY),fcntl.LOCK_EX);print "got it"' That's effectively the locking involved; should succed with "master snagged it", then 10 seconds later "got it"; (In reply to comment #1) > FS? No, the whole system is fine. > I built locking into confcache to protect against this from the get go, and at > least my testing of it indicates the locking is working... He, I'm just the user of your code, but didn't look at it, "master snagged it", the db is dead though and this was my first shot in the dark. :) Err... so locking test succeeded? If that's the case, it would indicate a race is possible (yuck). No, the "got it" was printed of coure, sorry for the confusion. :) |