Damaged database?

Bradley Giesbrecht pixilla at macports.org
Sat Feb 23 11:23:53 PST 2013


On Feb 23, 2013, at 11:21 AM, Bradley Giesbrecht wrote:

> On Feb 23, 2013, at 8:49 AM, Adam Dershowitz wrote:
> 
>> On Feb 23, 2013, at 1:09 AM, Ryan Schmidt wrote:
>> 
>>> On Feb 23, 2013, at 01:23, Adam Dershowitz wrote:
>>> 
>>>> I just tried to restore my full /opt/local directory using timemachine from about two weeks ago.  If I then do a sync and try to upgrade gst-plugins-base, the same thing happens.  It first successfully upgrades a bunch of different things.  Finally, it gets to gst-plugins-base and gives the same error.  I also restored from about a month ago, and get the identical results.  I have done many upgrades during that time period.  So, it seems that there is something wrong in the sqlite database that just relates to gst-plugins-base.  And that it has been there for a while.  
>>>> Short of doing a full reinstall of all my ports, any other thoughts about how to repair that single entry?  I would think that all I really want to do is to delete the appropriate entries from the database and to do a corresponding forced uninstall of gst-plugins-base.  But, I am not sure how to get that to work.  
>>>> Any suggestions?  
>>> 
>>> I'm not sure what's going on... if you want to try forcibly uninstalling gst-plugins-base the way to do so would be:
>>> 
>>> sudo port -f uninstall gst-plugins-base
>>> 
>>> 
>> 
>> I guess I wasn't clear.  The problem is that the upgrade was trying to do that, and it was failing.  And trying it explicitly also makes it fail:
>> 
>> $ sudo port -f uninstall  gst-plugins-base
>> --->  Unable to uninstall gst-plugins-base @0.10.36_2+universal, the following ports depend on it:
>> --->  	webkit-gtk @1.10.2_0+video
>> --->  	wine-devel @1.5.21_0
>> Warning: Uninstall forced.  Proceeding despite dependencies.
>> --->  Deactivating gst-plugins-base @0.10.36_2+universal
>> --->  Unable to deactivate gst-plugins-base @0.10.36_2+universal, the following ports depend on it:
>> --->  	webkit-gtk @1.10.2_0+video
>> --->  	wine-devel @1.5.21_0
>> Warning: Deactivate forced.  Proceeding despite dependencies.
>> Error: org.macports.deactivate for port gst-plugins-base returned: sqlite error: database disk image is malformed (11) while executing query: SELECT actual_path FROM registry.files WHERE id=? AND active ORDER BY actual_path
>> Please see the log file for port gst-plugins-base for details:
>>   /opt/local/var/macports/logs/_opt_local_var_macports_registry_portfiles_gst-plugins-base_0.10.36_2+universal/gst-plugins-base/main.log
>> Warning: Failed to execute portfile from registry for gst-plugins-base @0.10.36_2+universal
>> --->  Deactivating gst-plugins-base @0.10.36_2+universal
>> --->  Unable to deactivate gst-plugins-base @0.10.36_2+universal, the following ports depend on it:
>> --->  	webkit-gtk @1.10.2_0+video
>> --->  	wine-devel @1.5.21_0
>> Warning: Deactivate forced.  Proceeding despite dependencies.
>> Error: org.macports.uninstall for port gst-plugins-base returned: sqlite error: database disk image is malformed (11) while executing query: SELECT actual_path FROM registry.files WHERE id=? AND active ORDER BY actual_path
>> Warning: Failed to execute portfile from registry for gst-plugins-base @0.10.36_2+universal
>> --->  Unable to uninstall gst-plugins-base @0.10.36_2+universal, the following ports depend on it:
>> --->  	webkit-gtk @1.10.2_0+video
>> --->  	wine-devel @1.5.21_0
>> Warning: Uninstall forced.  Proceeding despite dependencies.
>> --->  Deactivating gst-plugins-base @0.10.36_2+universal
>> --->  Unable to deactivate gst-plugins-base @0.10.36_2+universal, the following ports depend on it:
>> --->  	webkit-gtk @1.10.2_0+video
>> --->  	wine-devel @1.5.21_0
>> Warning: Deactivate forced.  Proceeding despite dependencies.
>> Error: org.macports.deactivate for port gst-plugins-base returned: sqlite error: database disk image is malformed (11) while executing query: SELECT actual_path FROM registry.files WHERE id=? AND active ORDER BY actual_path
>> Please see the log file for port gst-plugins-base for details:
>>   /opt/local/var/macports/logs/_opt_local_var_macports_registry_portfiles_gst-plugins-base_0.10.36_2+universal/gst-plugins-base/main.log
>> Warning: Failed to execute portfile from registry for gst-plugins-base @0.10.36_2+universal
>> --->  Deactivating gst-plugins-base @0.10.36_2+universal
>> --->  Unable to deactivate gst-plugins-base @0.10.36_2+universal, the following ports depend on it:
>> --->  	webkit-gtk @1.10.2_0+video
>> --->  	wine-devel @1.5.21_0
>> Warning: Deactivate forced.  Proceeding despite dependencies.
>> Error: port uninstall failed: sqlite error: database disk image is malformed (11) while executing query: SELECT actual_path FROM registry.files WHERE id=? AND active ORDER BY actual_path
>> 
>> But, if I just choose some other random port to force uninstall it works fine.  So, it seems that there is something wrong with just some database entry for gst-plugins-base.  And the problem has been in my database for at least a month.  But it is not causing any other problems, that I can see, other then just not being able to upgrade that one port.
> 
> What happens if you query the sqlite registry db directly?
> 
> $ sqlite3 /opt/local/var/macports/registry/registry.db .schema
> $ sqlite3 /opt/local/var/macports/registry/registry.db "select load_extension('/opt/local/share/macports/sqlite/macports.sqlext');select t1.id, t1.name from ports t1 where t1.name = 'gst-plugins-base'"
> $ sqlite3 /opt/local/var/macports/registry/registry.db "select load_extension('/opt/local/share/macports/sqlite/macports.sqlext');select t1.id, t1.name, group_concat(distinct t2.name) as "deps", group_concat(distinct t3.path) as "files" from ports t1 join dependencies t2 on t1.id = t2.id join files t3 on t1.id = t3.id where t1.name = 'gst-plugins-base';"


You might be using a different version of sqlite than me. You might try using sqlite instead of sqlite3.

Regards,
Bradley Giesbrecht (pixilla)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2763 bytes
Desc: not available
URL: <http://lists.macosforge.org/pipermail/macports-users/attachments/20130223/207d8c5f/attachment.p7s>


More information about the macports-users mailing list