"too many files" error after playing a local song during 4 minutes
javiergonzper opened this issue · 4 comments
HI @ap4y and @daria-kopaliani
I am having the problem about "too many files" that was spoke before at #35.
In my case the steps to reproduce are:
1- Remove the internet conection of the device or the computer (if I am using the simulator). With internet everything works perfect (it is crazy).
2- Start playing a song of 4 minutes 30 seconds and lock the device.
3- Wait until the song finish. It can not load the next song because "too many files open" (impossible to read any image or access to the SQLite database...).
I have the current version of master.
I added a trace on the delegate of the update of the seconds (but controlling that do it only every 30 seconds) and there I read the NSData of a file. I can read the local file during the 3 or 4 first minutes playing. After that (while the song is playing) I started to receive errors "too many files open".
<0x1815c400 MusicPlayerViewController.m:(1491)> Error: Error Domain=NSCocoaErrorDomain Code=256
"The operation couldn\U2019t be completed. (NSCocoaErrorDomain error 256.)"
UserInfo=0x18bd8d70 {NSFilePath=/var/mobile/Containers/Data/Application/3526F4B6-D012-4225-B2FF-FB7031F4FF9D/Documents/Covers/2.png, NSUnderlyingError=0x18be7040
"The operation couldn\U2019t be completed. (NSPOSIXErrorDomain error 24 - Too many open files)"}
If I added the code of the commit 8121642 I can change from the song playing to the next one but the Sandbox stil blocked and I still can not access to the Database or the image due the error "too many files" so that is not the solution at least for my problem 😞
This is happening on iOS
, right? That's interesting, generic posix
error like this usually means that you used all allowed file descriptors. On a unix
systems you can usually check it with ulimit(1)
. I wonder if getrlimit(2)
is available on iOS
, it will make debugging easier.
I will check scenario that you described and will see what I can do.
Yes, sorry it happens on iOS7 and iOS8. I did not check in older versions but apparently is the same.
Thanks
Hey @ap4y I found my problem. It is not on your library it is on my code. I am reading from the disk on the refreshPlayer to refresh the times and other things.
I'm sorry I wasted your time. Your player is awesome, thanks for your job.
No worries @javiergonzper and thanks for the kind words.