Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#18607 closed defect (fixed)

port outdated fails in trunk since r47110.

Reported by: dbevans (David B. Evans) Owned by: jmroot (Joshua Root)
Priority: Normal Milestone: MacPorts 1.8.0
Component: base Version: 1.8.0
Keywords: outdated portindex Cc:
Port:

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Running MacPorts trunk r47210

% port outdated
The following installed ports are outdated:
doxygen                        1.5.7.1_0 < 1.5.8_1       
Warning: It looks like your PortIndex file may be corrupt.
Error: search for portname xine-lib failed: bad argument "": should be "nonewline"

This has persisted through several updates to PortIndex

Reverting to MacPorts trunk r47109 fixes the problem. I assume that this has to do with the changes committed in r47110. Not affected by changes in r47206.

Change History (8)

comment:1 Changed 16 years ago by blb@…

Did you try deleting the PortIndex.quick file to see if it would regenerate a good one without issues?

comment:2 Changed 16 years ago by dbevans (David B. Evans)

Yes, just did the following:

cd /opt/macports/trunk
svn update
cd base
make distclean
cd ..
make
sudo make install
rm /opt/macports/trunk/dports/PortIndex.quick
port outdated

A new PortIndex.quick file is generated and port outdated fails as follows (again on xine-lib):

% port outdated
The following installed ports are outdated:
db46                           4.6.21_3 < 4.6.21_4       
doxygen                        1.5.7.1_0 < 1.5.8_1       
Warning: It looks like your PortIndex file may be corrupt.
Error: search for portname xine-lib failed: bad argument "": should be "nonewline"

comment:3 Changed 16 years ago by alakazam@…

I think jmr committed a fix today regarding this issue (the problem was with calculating string lengths for non ascii strings. See r47206.

comment:4 Changed 16 years ago by dbevans (David B. Evans)

Yes, I know but that doesn't seem to help (see original report). The latest results above are at r47225. Additionally, if I deactivate xine-lib then port outdated completes without error so its something to do with xine-lib apparently.

comment:5 Changed 16 years ago by alakazam@…

Oh, sorry ! I can reproduce this problem, here is the relevant debug output :

alakazam@alakazam macports % port -d info xine-lib
Warning: It looks like your PortIndex file may be corrupt.
DEBUG: bad argument "": should be "nonewline"
    while executing
"read $fd $len"
    invoked from within
"set line [read $fd $len]"
    invoked from within
"try {
                    seek $fd $offset
                    gets $fd line
                    set name [lindex $line 0]
                    set len..."
    (procedure "mportlookup" line 22)
    invoked from within
"mportlookup $portname"
Error: lookup of portname xine-lib failed: bad argument "": should be "nonewline"

comment:6 Changed 16 years ago by alakazam@…

I suspect a similar problem to the one fixed by r47206 : incorrect offset calculations when using non ascii UTF8 strings. The port before xine-lib in the Portindex is x264, and its description includes several å's. xine-lib's description is plain ASCII.

comment:7 Changed 16 years ago by blb@…

Resolution: fixed
Status: newclosed

Should be fixed in r47237.

comment:8 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Note: See TracTickets for help on using tickets.