Re: transient error with macports-base 2.8: Error: Unable to execute port: sqlite error: another row available (100) while executing query: SELECT cxx_stdlib FROM registry.ports WHERE id=109

2022-10-09 Thread Joshua Root
Should be catching the error as of 



- Josh


Re: transient error with macports-base 2.8: Error: Unable to execute port: sqlite error: another row available (100) while executing query: SELECT cxx_stdlib FROM registry.ports WHERE id=109

2022-10-09 Thread Joshua Root

On 2022-10-10 07:27 , Ken Cunningham wrote:

FYI, I saw this issue after upgrading to macports-base 2.8 on 10.13 from 
current git master 2.8 release:

$ sudo port -v destroot fluxbox
Error: Unable to execute port: sqlite error: another row available (100) while 
executing query: SELECT cxx_stdlib FROM registry.ports WHERE id=109


Looks like that's coming from reg_entry_propget when the db contains a 
NULL value: 



The error reporting there isn't very helpful, since it's only reporting 
the sqlite result code, which is not the problem.


The cxx_stdlib_overridden.tcl script that runs at installation time is 
supposed to ensure there are no NULL cxx_stdlib values in the registry. 
Any rev-upgrade run will also do that, which is probably how the problem 
went away.


You can poke around in the registry with the sqlite3 command to help 
diagnose this sort of thing. You can try the query from the error message:


SELECT cxx_stdlib FROM ports WHERE id=109;

Or something a little broader:

SELECT * FROM ports WHERE cxx_stdlib is NULL;

- Josh


transient error with macports-base 2.8: Error: Unable to execute port: sqlite error: another row available (100) while executing query: SELECT cxx_stdlib FROM registry.ports WHERE id=109

2022-10-09 Thread Ken Cunningham
FYI, I saw this issue after upgrading to macports-base 2.8 on 10.13 from 
current git master 2.8 release:

$ sudo port -v destroot fluxbox
Error: Unable to execute port: sqlite error: another row available (100) while 
executing query: SELECT cxx_stdlib FROM registry.ports WHERE id=109

$ sudo port clean fluxbox
--->  Cleaning fluxbox

$ sudo port -v destroot fluxbox
Error: Unable to execute port: sqlite error: another row available (100) while 
executing query: SELECT cxx_stdlib FROM registry.ports WHERE id=109

$ port -v
MacPorts 2.7.99
Entering shell mode... ("help" for help, "quit" to quit)
> quit
Goodbye



So I installed a couple of other ports (wget, aria2) and then tried again, and 
there was no such error after that.

$ sudo port -v destroot fluxbox
--->  Computing dependencies for fluxbox.
--->  Fetching distfiles for fluxbox
--->  Verifying checksums for fluxbox
--->  Checksumming fluxbox-1.3.7.tar.bz2
--->  Extracting fluxbox
--->  Extracting fluxbox-1.3.7.tar.bz2

— and so on


I was hoping for a nice, tight, reproducible error report, but this is what I 
have instead. FWIW.



Ken