[MacPorts] #59445: restore_ports.tcl script fails with the error "infinite loop" (deps cycle)

MacPorts noreply at macports.org
Wed Oct 23 10:30:49 UTC 2019


#59445: restore_ports.tcl script fails with the error "infinite loop" (deps cycle)
---------------------+--------------------
  Reporter:  JDLH    |      Owner:  (none)
      Type:  defect  |     Status:  new
  Priority:  Normal  |  Milestone:
 Component:  base    |    Version:  2.6.2
Resolution:          |   Keywords:
      Port:          |
---------------------+--------------------
Changes (by JDLH):

 * version:   => 2.6.2


Old description:

> I recently updated my macOS version from 10.11 El Capitan to macOS High
> Sierra 10.13.6. I am following the [wiki:Migration Migration
> instructions].
>
> When I ran the `restore_ports.tcl` script, it failed with the error
> message:
>
> {{{
> Error: we appear to be stuck, exiting...
> infinite loop
>     while executing
> "sort_ports $portList"
>     invoked from within
> "set operationList [sort_ports $portList]"
>     (file "./restore_ports.tcl" line 285)
> }}}
>
> I did some investigation, adding diagnostic statements to
> `restore_ports.tcl` . My conclusion is that the underlying cause of the
> problem is that: a) some of the ports in my list had a mutual dependency
> cycle, and b) the script could not come up with an installation order for
> these two ports. Thus it issued the "infinite loop" error message.
> Details below.
>
> My **workaround** was to edit my list of ports to restore. I looked at
> the ports involved in the cycle. One was clearly little used, I didn't
> even recognise it. I removed that from my list of ports. I also had
> hundreds of entries for old versions of ports which were no longer
> active; I removed all of them also. With this change, `restore_ports.tcl`
> was able to avoid the dependency cycle, and the restore is underway.
>
> This problem is similar to #49210 'restore_ports.tcl script on fails on
> El Capitan with the error "infinite loop"'. That ticket did not come up
> with a clear solution to their problem, and it is closed and four years
> old. I think it's better to open a new ticket than to add this commentary
> on to that ticket. Hopefully others with this problem will find the
> workaround helpful, even before the underlying bug gets fixed.
>
> **Versions**: \\
> macOS High Sierra 10.13.6 \\
> Xcode 10.1 [but I think not involved in this bug] \\
> restore_ports.tcl: https://github.com/macports/macports-
> contrib/raw/master/restore_ports/restore_ports.tcl (I believe commit
> 75135bd from Mar 24, 2015). \\
> Port with incorrect dependency calculation: librsvg \\
> Port incorrectly listed as dependency, causing cycle: adwaita-icon-theme

New description:

 I recently updated my macOS version from 10.11 El Capitan to macOS High
 Sierra 10.13.6. I am following the [wiki:Migration Migration
 instructions].

 When I ran the `restore_ports.tcl` script, it failed with the error
 message:

 {{{
 Error: we appear to be stuck, exiting...
 infinite loop
     while executing
 "sort_ports $portList"
     invoked from within
 "set operationList [sort_ports $portList]"
     (file "./restore_ports.tcl" line 285)
 }}}

 I did some investigation, adding diagnostic statements to
 `restore_ports.tcl` . My conclusion is that the underlying cause of the
 problem is that: a) some of the ports in my list had a mutual dependency
 cycle, and b) the script could not come up with an installation order for
 these two ports. Thus it issued the "infinite loop" error message. Details
 below.

 My **workaround** was to edit my list of ports to restore. I looked at the
 ports involved in the cycle. One was clearly little used, I didn't even
 recognise it. I removed that from my list of ports. I also had hundreds of
 entries for old versions of ports which were no longer active; I removed
 all of them also. With this change, `restore_ports.tcl` was able to avoid
 the dependency cycle, and the restore is underway.

 This problem is similar to #49210 'restore_ports.tcl script on fails on El
 Capitan with the error "infinite loop"'. That ticket did not come up with
 a clear solution to their problem, and it is closed and four years old. I
 think it's better to open a new ticket than to add this commentary on to
 that ticket. Hopefully others with this problem will find the workaround
 helpful, even before the underlying bug gets fixed.

 **Versions**: \\
 macOS High Sierra 10.13.6 \\
 Xcode 10.1 [but I think not involved in this bug] \\
 restore_ports.tcl: https://github.com/macports/macports-
 contrib/raw/master/restore_ports/restore_ports.tcl (I believe commit
 75135bd from Mar 24, 2015). \\
 Ports forming dependency cycle: librsvg, adwaita-icon-theme

--

Comment:

 Update: changed description of ports involved to say neutral "form cycle",
 instead of saying script listed dependencies wrong for one port. Added
 MacPorts version number.

-- 
Ticket URL: <https://trac.macports.org/ticket/59445#comment:4>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list