Opened 18 years ago

Closed 18 years ago

Last modified 17 years ago

#11845 closed defect (duplicate)

port -R upgrade ... goes into a possible infinite loop

Reported by: jneitzel@… Owned by: macports-tickets@…
Priority: High Milestone:
Component: base Version: 1.4.3
Keywords: Cc:
Port:

Description (last modified by jmpalacios (Juan Manuel Palacios))

Hello,

I have never reported a MacPorts bug before. So, hopefully this report contains enough info to fix the problem.

Machine: 20" iMac,
CPU: 2.16 GHz Intel Core 2 Duo,
RAM: 1024 MB (1 GB),
OS: Mac OS X 10.4.9 (8P2137)

In short, I find that a port upgrade rarely works as expected unless you are only upgrading one port with no dependencies or dependents... IIRC, in such a case, it does seem to work fine. However, today I notice at least the following 2 problems:

% sudo port -R upgrade outdated
Password:
--->  Fetching pango
--->  Attempting to fetch pango-1.16.2.tar.bz2 from http://mandril.creatis.insa-lyon.fr/linux/gnome.org/sources/pango/1.16
--->  Verifying checksum(s) for pango
--->  Extracting pango
--->  Applying patches to pango
--->  Configuring pango
--->  Building pango with target all
--->  Staging pango into destroot
--->  Deactivating pango 1.16.1_1
--->  Installing pango 1.16.2_0
--->  Activating pango 1.16.2_0
--->  Cleaning pango
--->  Fetching gimp2

[snip]

--->  Fetching freetype
--->  Attempting to fetch freetype-2.3.4.tar.bz2 from http://download.savannah.gnu.org/releases/freetype/
--->  Verifying checksum(s) for freetype
--->  Extracting freetype
--->  Applying patches to freetype
--->  Configuring freetype
--->  Building freetype with target all
--->  Staging freetype into destroot
--->  Deactivating freetype 2.3.3_0
--->  Installing freetype 2.3.4_0
--->  Activating freetype 2.3.4_0
--->  Cleaning freetype
--->  Deactivating freetype 2.3.3_0
Error: Deactivating freetype 2.3.3_0 failed: Active version of freetype is not 2.3.3_0 but 2.3.4_0.
--->  Deactivating cairo 1.4.2_0
Error: Deactivating cairo 1.4.2_0 failed: Active version of cairo is not 1.4.2_0 but 1.4.4_0.
tclsh(5981,0xa000cfc0) malloc: *** vm_allocate(size=1110016) failed (error code=3)
tclsh(5981,0xa000cfc0) malloc: *** error: can't allocate region
tclsh(5981,0xa000cfc0) malloc: *** set a breakpoint in szone_error to debug
unable to realloc 1109324 bytes
IOT trap

...
After it failed, there was still 1 outdated port (sqlite3). So, I did the following, which appears to eventually go into an infinite loop. It goes on for a good while... So, I will tell you now that I eventually have to use kill(1) to terminate it w/ a SIGTERM.

% sudo port -R -f upgrade sqlite3
Password:
--->  Fetching ncursesw
--->  Verifying checksum(s) for ncursesw
--->  Extracting ncursesw
--->  Applying patches to ncursesw
--->  Configuring ncursesw
--->  Building ncursesw with target all
--->  Staging ncursesw into destroot
--->  Unable to uninstall ncursesw 5.6_0+darwin_8, the following ports depend on it:
--->    ncurses
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating ncursesw 5.6_0+darwin_8
--->  Uninstalling ncursesw 5.6_0+darwin_8
--->  Installing ncursesw 5.6_0+darwin_8
--->  Activating ncursesw 5.6_0+darwin_8
--->  Cleaning ncursesw
--->  Fetching ncurses
--->  Verifying checksum(s) for ncurses
--->  Extracting ncurses
--->  Applying patches to ncurses
--->  Configuring ncurses
--->  Building ncurses with target all
--->  Staging ncurses into destroot
--->  Unable to uninstall ncurses 5.6_0+darwin_8, the following ports depend on it:
--->    readline
--->    lynx
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating ncurses 5.6_0+darwin_8
--->  Uninstalling ncurses 5.6_0+darwin_8
--->  Installing ncurses 5.6_0+darwin_8
--->  Activating ncurses 5.6_0+darwin_8
--->  Cleaning ncurses
--->  Fetching readline
--->  Verifying checksum(s) for readline
--->  Extracting readline
--->  Applying patches to readline
--->  Configuring readline
--->  Building readline with target all
--->  Staging readline into destroot
--->  Unable to uninstall readline 5.2.001_0, the following ports depend on it:
--->    sqlite3
--->    sqlite3
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating readline 5.2.001_0
--->  Uninstalling readline 5.2.001_0
--->  Installing readline 5.2.001_0
--->  Activating readline 5.2.001_0
--->  Cleaning readline
Portfile changed since last build; discarding previous state.
--->  Fetching sqlite3
--->  Attempting to fetch sqlite-3.3.16.tar.gz from http://www.sqlite.org/
--->  Verifying checksum(s) for sqlite3
--->  Extracting sqlite3
--->  Applying patches to sqlite3
--->  Configuring sqlite3
--->  Building sqlite3 with target all
--->  Staging sqlite3 into destroot
--->  Unable to uninstall sqlite3 3.3.14_0+darwin_8, the following ports depend on it:
--->    apr-util
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating sqlite3 3.3.14_0+darwin_8
--->  Uninstalling sqlite3 3.3.14_0+darwin_8
--->  Installing sqlite3 3.3.16_0+darwin_8
--->  Activating sqlite3 3.3.16_0+darwin_8
--->  Cleaning sqlite3
--->  Fetching apr-util
--->  Verifying checksum(s) for apr-util
--->  Extracting apr-util
--->  Configuring apr-util
--->  Building apr-util with target all
--->  Staging apr-util into destroot
--->  Unable to uninstall apr-util 1.2.8_2, the following ports depend on it:
--->    subversion
--->    subversion
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating apr-util 1.2.8_2
--->  Uninstalling apr-util 1.2.8_2
--->  Installing apr-util 1.2.8_2
--->  Activating apr-util 1.2.8_2
--->  Cleaning apr-util
--->  Fetching subversion
--->  Verifying checksum(s) for subversion
--->  Extracting subversion
--->  Applying patches to subversion
--->  Configuring subversion
--->  Building subversion with target all mucc
--->  Staging subversion into destroot
--->  Deactivating subversion 1.4.3_1
--->  Uninstalling subversion 1.4.3_1
--->  Installing subversion 1.4.3_1
--->  Activating subversion 1.4.3_1
--->  Cleaning subversion
--->  Fetching subversion
--->  Verifying checksum(s) for subversion
--->  Extracting subversion
--->  Applying patches to subversion
--->  Configuring subversion
--->  Building subversion with target all mucc
--->  Staging subversion into destroot
--->  Deactivating subversion 1.4.3_1
--->  Uninstalling subversion 1.4.3_1
--->  Installing subversion 1.4.3_1
--->  Activating subversion 1.4.3_1
--->  Cleaning subversion
--->  Fetching sqlite3
--->  Attempting to fetch sqlite-3.3.16.tar.gz from http://www.sqlite.org/
--->  Verifying checksum(s) for sqlite3
--->  Extracting sqlite3
--->  Applying patches to sqlite3
--->  Configuring sqlite3
--->  Building sqlite3 with target all
--->  Staging sqlite3 into destroot
--->  Unable to uninstall sqlite3 3.3.16_0+darwin_8, the following ports depend on it:
--->    apr-util
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating sqlite3 3.3.16_0+darwin_8
--->  Uninstalling sqlite3 3.3.16_0+darwin_8
--->  Installing sqlite3 3.3.16_0+darwin_8
--->  Activating sqlite3 3.3.16_0+darwin_8
--->  Cleaning sqlite3
--->  Fetching apr-util
--->  Attempting to fetch apr-util-1.2.8.tar.bz2 from http://www.apache.org/dist/apr
--->  Verifying checksum(s) for apr-util
--->  Extracting apr-util
--->  Configuring apr-util
--->  Building apr-util with target all
--->  Staging apr-util into destroot
--->  Unable to uninstall apr-util 1.2.8_2, the following ports depend on it:
--->    subversion
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating apr-util 1.2.8_2
--->  Uninstalling apr-util 1.2.8_2
--->  Installing apr-util 1.2.8_2
--->  Activating apr-util 1.2.8_2
--->  Cleaning apr-util
--->  Fetching subversion
--->  Verifying checksum(s) for subversion
--->  Extracting subversion
--->  Applying patches to subversion
--->  Configuring subversion
--->  Building subversion with target all mucc
--->  Staging subversion into destroot
--->  Deactivating subversion 1.4.3_1
--->  Uninstalling subversion 1.4.3_1
--->  Installing subversion 1.4.3_1
--->  Activating subversion 1.4.3_1
--->  Cleaning subversion
--->  Fetching lynx
--->  Attempting to fetch lynx2.8.6.tar.bz2 from http://lynx.isc.org/lynx2.8.6/
--->  Verifying checksum(s) for lynx
--->  Extracting lynx
--->  Applying patches to lynx
--->  Configuring lynx
--->  Building lynx with target all
--->  Staging lynx into destroot
--->  Deactivating lynx 2.8.6rel.4_0
--->  Uninstalling lynx 2.8.6rel.4_0
--->  Installing lynx 2.8.6rel.4_0
--->  Activating lynx 2.8.6rel.4_0
--->  Cleaning lynx
--->  Fetching ncurses
--->  Attempting to fetch ncurses-5.6.tar.gz from http://ftp.gnu.org/gnu/ncurses
--->  Verifying checksum(s) for ncurses
--->  Extracting ncurses
--->  Applying patches to ncurses
--->  Configuring ncurses
--->  Building ncurses with target all
--->  Staging ncurses into destroot
--->  Unable to uninstall ncurses 5.6_0+darwin_8, the following ports depend on it:
--->    readline
--->    lynx
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating ncurses 5.6_0+darwin_8
--->  Uninstalling ncurses 5.6_0+darwin_8
--->  Installing ncurses 5.6_0+darwin_8
--->  Activating ncurses 5.6_0+darwin_8
--->  Cleaning ncurses
--->  Fetching readline
--->  Attempting to fetch readline52-001 from http://ftp.gnu.org/gnu/readline/readline-5.2-patches/
--->  Attempting to fetch readline-5.2.tar.gz from http://ftp.gnu.org/gnu/readline
--->  Verifying checksum(s) for readline
--->  Extracting readline
--->  Applying patches to readline
--->  Configuring readline
--->  Building readline with target all
--->  Staging readline into destroot
--->  Unable to uninstall readline 5.2.001_0, the following ports depend on it:
--->    sqlite3
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating readline 5.2.001_0
--->  Uninstalling readline 5.2.001_0
--->  Installing readline 5.2.001_0
--->  Activating readline 5.2.001_0
--->  Cleaning readline
--->  Fetching sqlite3
--->  Attempting to fetch sqlite-3.3.16.tar.gz from http://www.sqlite.org/
--->  Verifying checksum(s) for sqlite3
--->  Extracting sqlite3
--->  Applying patches to sqlite3
--->  Configuring sqlite3
--->  Building sqlite3 with target all
--->  Staging sqlite3 into destroot
--->  Unable to uninstall sqlite3 3.3.16_0+darwin_8, the following ports depend on it:
--->    apr-util
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating sqlite3 3.3.16_0+darwin_8
--->  Uninstalling sqlite3 3.3.16_0+darwin_8
--->  Installing sqlite3 3.3.16_0+darwin_8
--->  Activating sqlite3 3.3.16_0+darwin_8
--->  Cleaning sqlite3
--->  Fetching apr-util
--->  Attempting to fetch apr-util-1.2.8.tar.bz2 from http://www.apache.org/dist/apr
--->  Verifying checksum(s) for apr-util
--->  Extracting apr-util
--->  Configuring apr-util
--->  Building apr-util with target all
--->  Staging apr-util into destroot
--->  Unable to uninstall apr-util 1.2.8_2, the following ports depend on it:
--->    subversion
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating apr-util 1.2.8_2
--->  Uninstalling apr-util 1.2.8_2
--->  Installing apr-util 1.2.8_2
--->  Activating apr-util 1.2.8_2
--->  Cleaning apr-util
--->  Fetching subversion
--->  Verifying checksum(s) for subversion
--->  Extracting subversion
--->  Applying patches to subversion
--->  Configuring subversion
--->  Building subversion with target all mucc
--->  Staging subversion into destroot
--->  Deactivating subversion 1.4.3_1
--->  Uninstalling subversion 1.4.3_1
--->  Installing subversion 1.4.3_1
--->  Activating subversion 1.4.3_1
--->  Cleaning subversion
--->  Fetching lynx
--->  Verifying checksum(s) for lynx
--->  Extracting lynx
--->  Applying patches to lynx
--->  Configuring lynx
--->  Building lynx with target all
--->  Staging lynx into destroot
--->  Deactivating lynx 2.8.6rel.4_0
--->  Uninstalling lynx 2.8.6rel.4_0
--->  Installing lynx 2.8.6rel.4_0
--->  Activating lynx 2.8.6rel.4_0
--->  Cleaning lynx
--->  Fetching readline
--->  Attempting to fetch readline52-001 from http://ftp.gnu.org/gnu/readline/readline-5.2-patches/
--->  Attempting to fetch readline-5.2.tar.gz from http://ftp.gnu.org/gnu/readline
--->  Verifying checksum(s) for readline
--->  Extracting readline
--->  Applying patches to readline
--->  Configuring readline
--->  Building readline with target all
--->  Staging readline into destroot
--->  Unable to uninstall readline 5.2.001_0, the following ports depend on it:
--->    sqlite3
Warning: Uninstall forced.  Proceeding despite dependencies.
Sig 15

...
Anyway, I hope this is helpful.

Notice that despite the problems, I no longer have any outdated ports. And they all appear to function as expected. So, I suppose it works (just not very well)?

--
Jeffrey Neitzel

Change History (5)

comment:1 Changed 18 years ago by jmpalacios (Juan Manuel Palacios)

Description: modified (diff)
Priority: BlockerImportant

comment:2 Changed 18 years ago by markd@…

Resolution: duplicate
Status: newclosed

This problem is reported on #10827, so I'm closing as a duplicate.

comment:3 Changed 18 years ago by jneitzel@…

Yes, that makes sense... Thanks.

comment:4 Changed 17 years ago by nox@…

Priority: ImportantHigh

comment:5 Changed 17 years ago by jmpalacios (Juan Manuel Palacios)

Milestone: MacPorts 1.4
Note: See TracTickets for help on using tickets.