Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Error overwriting the MP4 file (18:Invalid cross-device link). #43
Could somebody please help me out with this error?
I am using Ubuntu 12.04 LTS.
I get the following error whenever pianobarfly (master branch) tries to add the id3tag to the audio file between one audio track and another:
|> "Davey Jones Locker" by "Pepper" on "Pink Crustaceans And Good Vibrations"
So I looked up on this error and I saw some people suggesting the use of the develop branch. I understood this happens because of /tmp folder being on a different filesystem than the audio files. My audio files are being recorded to the following path: ./mp3
This is how my config file looks like:
user = user
(I am using a proxy because I am outside the US).
In order to run the develop branch I had to take the audio_quality var out of the config file, otherwise I would get "(i) Login... Network error: Timeout.".
I tried with the DEVELOP branch and I get another error, this time right after receiving the playlist and before playing the first song:
|> Station "Sublime Radio" (1135921372068795883)
$ mount -l
Any help is highly apreciated. Thanks in advance.
I get the same error.
Also there seems to be an occasional bug handling some strings? See the name of the album here, it says "]":
|> "Chronicle A Free Subletting" by "Pretendo" on "]"
It created the file:
But the album is really named "Pretendo ]["
Anyway back to the id3tag error:
|> "Crutch" by "Pinback" on "Pinback"
/home is on the same as /, namely /dev/sda1, aka my laptops ssd.
Just to rule out the obvious, there is plenty of available ram for the tmpfs /tmp.
root@noexcuse:~# df -h
root@noexcuse:~# free -h
FIXED thanks mostly to https://github.com/silentcontender/patches/blob/master/pianobarfly/tmpfs_fix.diff
That patch has 2 major but simple to fix bugs.
[ update ]
I had a fixed version of that patch up here originally but now see below instead, it's much simpler.
I made a much simpler fix.
Instead of using tmpnam() which uses /tmp, just copy the mp3/m4a output file name and add a couple characters to it to make a temp file guaranteed always on the same filesystem as the destination. Then we can just use the original simple rename() to do both jobs at once, writing the new output and deleting the temp file.