Opened 18 years ago

Closed 18 years ago

#10632 closed defect (worksforme)

after disk full during upgrade, Error: port installed failed: unmatched open brace in list

Reported by: ryogt@… Owned by: macports-tickets@…
Priority: High Milestone:
Component: base Version: 1.3.2
Keywords: disk full unmatched brace Cc: markd@…
Port:

Description

I had already sent this BR yesterday, but I think it has gone lost during the import of old BRs...

I got a problem during last night upgrade: my disk has gone full and this morning i get this:

$ port -vd installed
DEBUG: unmatched open brace in list
    while executing
"array set receipt_$ref $receipt_contents"
    (procedure "receipt_flat::open_entry" line 85)
    invoked from within
"${darwinports::registry.format}::open_entry $name $version $revision $variants"
    (procedure "open_entry" line 4)
    invoked from within
"open_entry $iname $iversion $irevision $ivariants"
    (procedure "registry::installed" line 13)
    invoked from within
"registry::installed"
Error: port installed failed: unmatched open brace in list
No ports are installed.

Version: MacPorts 1.320

Change History (4)

comment:1 Changed 18 years ago by ryogt@…

Dirty hack to found the broken packages. This will not solve the problem, it's only a quick way to have back a working macports, it has to be fixed upstream.

  • Edit /opt/local/share/darwinports/Tcl/registry1.0/receipt_flat.tcl and add this code just before the first error (see the bug report)
    ui_msg "${name} ${version}"
    
  • Now print out the list of packages, the last one is corrupted (for me was gtk2)
    $ port installed
    
  • Move old bad receipt (the package will result uninstalled)
    $ sudo mv /opt/local/var/db/dports/receipts/gtk2 /tmp
    
  • Install the package again (it will complain about overwriting old orphaned files)
    $ sudo port -f install gtk2
    

comment:2 Changed 18 years ago by yeled@…

Version: current1.3.2

comment:3 Changed 18 years ago by markd@…

Cc: markd@… added

I don't know that anyone will know how to recover from this gracefully (without reinstalling) since data may have been corrupted due to a disk being full.

comment:4 Changed 18 years ago by markd@…

Resolution: worksforme
Status: newclosed

I don't think there is anything we can fix here.

Note: See TracTickets for help on using tickets.