Jump to content
IGNORED

O!MPD update PHP failure on large archive


Recommended Posts

I have a large music archive, reported by "mpc stats" as

 

Artists:  14841
Albums:   12198
Songs:   188306

 

The soundfile archive directories take 1.7 TB on a USB connected portable disk.

 

I can create the database with mpd ("mpc update"), and /mnt/dietpi_userdata/.mpd_cache/db_file, which I think is the mpd database,  is 6.8 MB.

 

O!MPD's database update fails at 28% with the message:

 

Update error!

PHP Fatal Error
Allowed memory size of 134217728 bytes exhausted (tried to allocate 74422784 bytes)
File: /var/www/ompd/getid3/getid3/module.tag.id3v2.php
Line: 282

 

This appears to be an internal problem of variable storage from the PHP programming language in which O!MPD is implemented, rather than a shortage of space for the MySQL database itself. Many albums are visible in O!MPD after the partial update. But I tried repeated updates, hoping that they would reach the full archive incrementally, and they always die at 28%. While the O!MPD update is working, "mpc" does not report an update by mpd, so it appears that O!MPD has a completely separate program for database creation.

 

This problem is not urgent, may not be solvable on my system, and would probably require some reconfiguration of PHP if it is solvable. I control mpd with Cantata running on a different host, and that might be better for me than O!MPD anyway. But if people wish to use O!MPD on large collections we probably need to solve it.

 

The problem seems to be general to O!MPD and its configuration under DietPi. But in case it makes a difference, I am running on a new USBridge Signature with eMMC memory and the DietPi with Allo GUI preinstalled system. I get soundfiles from a 5TB Seagate Backup Plus Portable drive connected to a separately powered USB hub on one of the "WiFI/BT" ports. I control the USBridge Sig by ssh over the network, which runs through a RTL8192EU dongle also on the USB hub. I produce sound through an ifi nano iDSD DAC connected to the clean USB port.

Link to comment

134217728 bytes is 128 MB which is fairly generous limit but 188,000+ tracks is one impressive collection size, I would say. I doubt anyone ever tested O!MPD at such a scale. The error itself is well known and can be treated easily. That is, if you are a PHP programmer:

 

https://www.airpair.com/php/fatal-error-allowed-memory-size

 

I would suggest contacting O!MPD developer via issues tracker at the project's GitHub page:

 

https://github.com/ArturSierzant/OMPD

 

My experience is that he is usually very responsive and helpful.

Link to comment

I got a reply from Artur Sierzant, who suggested, correctly, that the update failed due to a corrupt MP3 file. I removed the file, and reached 31%, then 41% of the database. Each time, the update quit due to "Signature Expired." It took several hours to get that far, and appears to rescan the file system rather slowly, even though it only updates the database for new files.

 

I will probably give up at this point, and stick to mpc and Cantata for controlling mpd.  For anyone wishing to pursue a similarly large collection on O!MPD, follow bamyasi's advice and contact Artur Sierzant on the github place, rather than the email that I used. There is probably a way to give the relevant signature a longer lifetime.

 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...