Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#29105 closed defect (wontfix)

corruption - malformed partial flat receipt can be written

Reported by: alangrow+macports@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: base Version: 1.9.2
Keywords: malformed receipt Cc:
Port:

Description

When upgrading, port ran out of disk space, but wrote a partial receipt file. After freeing up space and retrying the operation, port would error out with a "malformed receipt" error.

It took a while to track this down, but removing the partial receipt file did finally get things working again.

I haven't looked at the port code but these problems can usually be avoided by first writing to a temporary file, closing, and then (if there were no errors) doing an atomic rename.

Attachments (1)

receipt (120.0 KB) - added by alangrow+macports@… 13 years ago.
This was the partial receipt in question, for openssl 1.0.0d_0

Download all attachments as: .zip

Change History (4)

Changed 13 years ago by alangrow+macports@…

Attachment: receipt added

This was the partial receipt in question, for openssl 1.0.0d_0

comment:1 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: alangrow+macports@… removed

comment:2 Changed 13 years ago by jmroot (Joshua Root)

Resolution: wontfix
Status: newclosed
Summary: corruption - malformed partial receipt can be writtencorruption - malformed partial flat receipt can be written

One of the many reasons why the sqlite registry was introduced.

comment:3 Changed 13 years ago by alangrow+macports@…

Gee that was helpful. You're probably tired of repeating yourself, so let me do it for you, for anyone else who stumbles over this ticket:

...existing installs will need their macports.conf edited in order to use it, by changing 'portdbformat flat' to 'portdbformat sqlite'. After making this change, your existing flat receipts will be converted the first time you run port(1) with sufficient privileges (this usually means using sudo; e.g. 'sudo port installed').

http://lists.macosforge.org/pipermail/macports-announce/2010-June/000008.html

Note: See TracTickets for help on using tickets.