Closed Bug 860426 Opened 12 years ago Closed 12 years ago

fix clobberer.py to deal with long paths on windows PGO builds

Categories

(Release Engineering :: General, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: kmoir, Assigned: jhopkins)

References

Details

Attachments

(2 files)

RyanVM kmoir|buildduty: OK, so far I've got slave94, slave104, slave105, slave107 kmoir|buildduty RyanVM: okay RyanVM seriously, look at this nightmare RyanVM https://tbpl.mozilla.org/?tree=Mozilla-Inbound&rev=78e13e815d62 philor lookin' good! catlee did something change recently? philor probably Ms2ger landed more deeply-nested tests with extremely long paths philor or maybe it's just the zero-padded paths, and we're finally noticing bhearsum i've talked a little about this in the context of thunderbird bhearsum https://bugzilla.mozilla.org/show_bug.cgi?id=859101 bhearsum https://bugzilla.mozilla.org/show_bug.cgi?id=854329 catlee can we patch up clobberer.py in the meanwhile? kmoir|buildduty catlee: do we own clobberer.py? catlee yes catlee http://hg.mozilla.org/build/tools/file/4872fbfed2a8/clobberer/clobberer.py catlee http://hg.mozilla.org/build/tools/file/4872fbfed2a8/clobberer/clobberer.py#l76 needs some adjustment... philor or http://hg.mozilla.org/build/tools/file/4872fbfed2a8/clobberer/clobberer.py#l11 catlee well, that needs to be changed completely catlee it's not a suffix catlee or rather, a suffix makes things worse catlee we shoudl print out the exception too philor sure, but if jhopkins' experience is broadly true, just changing the "suffix" to a single char would cause us to move the existing deleteme ones to the new one, and to then be able to delete them catlee the suffix results in "build" being renamed to "bulid.deleteme" catlee and we need to rename it to something shorter than "build" catlee and python doesn't have strings with negative length philor bummer
Component: Release Engineering: Automation (Release Automation) → Release Engineering: Automation (General)
QA Contact: bhearsum → catlee
Assignee: nobody → jhopkins
Windows path lengths are normally limited to about 260 characters, but unicode paths are limited to 30,000 characters. Whatever is creating the long paths is unicode-enabled. This new function uses win32api/win32file unicode-enabled Python APIs to deal with very long paths. Note that a requirement for Windows to treat a path as unicode is to use the absolute path (not relative) and prefix it with the string "\\?\".
Attachment #736129 - Flags: review?(nthomas)
Attachment #736129 - Flags: review?(nthomas) → review?(catlee)
Attachment #736129 - Flags: review?(catlee) → review+
Comment on attachment 736129 [details] [diff] [review] [tools] create Windows-specific rmtree function that handles very long paths Landed in http://hg.mozilla.org/build/tools/rev/92c703e1c26d
Attachment #736129 - Flags: checked-in+
clobberer.py was failing to remove read-only attributes for files due to setting attributes on the directory rather than the file.
Attachment #736378 - Flags: review?(catlee)
Attachment #736378 - Flags: review?(catlee) → review+
Comment on attachment 736378 [details] [diff] [review] [tools] bugfix to clobberer.py patch Landed in http://hg.mozilla.org/build/tools/rev/92c703e1c26d
Attachment #736378 - Flags: checked-in+
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Depends on: 867029
Blocks: 867782
Product: mozilla.org → Release Engineering
Component: General Automation → General
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: