mirror of
https://github.com/koel/koel.git
synced 2026-04-25 08:46:00 +03:00
[GH-ISSUE #1078] Sync fails on 4.0.0 due to undefined getID3 method #632
Labels
No labels
Authentication
Dependencies
Documentation
Feature Request
Flac
Help Wanted
Installation/Setup
Integration
Mobile
PR Welcome
Pending Release
Performance
Playlist
S3
Search
Sync
[Pri] Low
[Pri] Normal
[Status] Keep Open
[Status] Needs Author Reply
[Status] Needs Review
[Status] Stale
[Status] Will Implement
[Type] Blessed
[Type] Bug
[Type] Duplicate
[Type] Enhancement
[Type] Help Request
[Type] Question
[Type] Task
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/koel-koel#632
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @BrookeDot on GitHub (Sep 12, 2019).
Original GitHub issue: https://github.com/koel/koel/issues/1078
Hey, thanks for contributing to Koel! To save time for both of us, please make sure these checkboxes are checked before submitting the issue:
All checked? Now also make sure your issue
Summary
When I run
php artisan koel:syncI get the following output:The issue was brought up without log details in #1056. i belive this is related to #1040 as the
getID3()version found invendor/james-heinrich/getid3is1.9.13but the method name matches version 2.0 of getID3 found upstream:https://github.com/JamesHeinrich/getID3/blob/v2.0.0-beta1/docs/Upgrading.md
https://github.com/JamesHeinrich/getID3/blob/v2.0.0-beta1/src/Module/AudioVideo/QuickTime.php#L479
Steps to reproduce:
Follow the upgrade instructions to upgrade to 4.0.0 and then run
php artisan koel:syncOS
Debian 10 (Buster)
PHP: 7.3.9-1 (FPM)
nginx: 1.17.3
DB: MariaDB 10.4.8
@BrookeDot commented on GitHub (Sep 12, 2019):
Update, looks like Koel is using getID3 2.0-beta (the changelong.txt just hasn't been updated) which has this bug. I manually updated getID3 to the 2.0 branch found in GitHub and the error was resolved and sync completed.
I think it was where this was fixed.
github.com/JamesHeinrich/getID3@26acc6edbe (diff-7255e08e81)@filipe-silva commented on GitHub (Sep 15, 2019):
Hi, I'm having the same problem, how did you update that single module?
@BrookeDot commented on GitHub (Sep 16, 2019):
There may be a more systematic way to do this with Yarn or Composer but here's what I did.
Then you can
artisan koel:synclike before.@tecosaur commented on GitHub (Sep 23, 2019):
Had the same issue, followed the suggestion in the last comment and now everything works :)
@phanan commented on GitHub (Sep 23, 2019):
Does anyone want to own this? This should already be covered by the tests, so changing the version number and running
phpunitwould be a sufficient start.@BrookeDot commented on GitHub (Sep 30, 2019):
I tried to update the
composer.jsonto fix this but still looks likev2.0.0-beta1is being used. The tests passed but I don't think the bug itself is fixed.Here are the results from Scrutinizer after using
^2.0-dev- Installing james-heinrich/getid3 (v2.0.0-beta1): Downloading (100%)and
^2.0.0-dev- Installing james-heinrich/getid3 (v2.0.0-beta1): Loading from cacheAny ideas here?
@gorfreed commented on GitHub (Oct 9, 2019):
Why was this closed without any resolution? I am experiencing the very same issue.
@gorfreed commented on GitHub (Oct 9, 2019):
These steps did not solve the issue, neither did composer update. This script seems to be incredibly bug-ridden.
remove current library
$ rm -Rf getid3/
Clone the current library into getid3 folder
$ git clone https://github.com/JamesHeinrich/getID3.git getid3
Checkout 2.0 branch
$ cd getid3/
$ git checkout 2.0
@phanan commented on GitHub (Oct 9, 2019):
WDYM "without any resolution"?
@gorfreed commented on GitHub (Oct 9, 2019):
It means the Sync fails due to undefined getID3 method. Unfortunately the author did not respond but I have tried all solutions given and they didn't fix the issue.
@gorfreed commented on GitHub (Oct 9, 2019):
its my 10th try or so to get this thing running at all. tried over the last 2 years... getting into the web-interface now was as far as i ever got, just to be stopped again by yet another bug...
@gorfreed commented on GitHub (Oct 9, 2019):
You have closed other "issues" detailing the same problem before, without resolution:
https://github.com/phanan/koel/issues/1056
@phanan commented on GitHub (Oct 9, 2019):
I'm sorry? What part here is unclear to you?
@gorfreed commented on GitHub (Oct 9, 2019):
I created another ticket for this:
https://github.com/phanan/koel/issues/1102
@BrookeDot commented on GitHub (Oct 9, 2019):
Looking into this a bit more, I'm not sure if #1095 fixed the issue as expected. The problem can be resolved by manually upgrading getId3 which has worked for several others. We will just need to make sure that is actually happening or perhaps downgrade to 1.9.18 if that does not cause a regression of the RegEx bug that was resolved by the 2.0.x upgrade.
What may work best here is re-open this issue until we have confirmed that the patch in #1095 resolves this for others or a new Koel release is out which does resolve it.
@gorfreed I'm not sure why the above steps to manually replace getID3 are not working for you as we don't have enough information about your setup. Unfortunately, #1102 also does not follow the issue template so will likely be closed. I know from my own experience that finding bugs or having troubling installing FOSS can be frustrating. I would suggest remaining diligent and reading through the issues to see if you can pin point what's wrong in your case. Koel is working for me and many others so there's likely a conflict somewhere. If you're still unsatisfied you may want to explore other free media player options that will meet your need. There is a list of a few others here. If you do wish to try Koel again, please respect the developer's wishes and use the template as well as provide other community members, like me, enough information to be helpful while looking at issues.
@phanan commented on GitHub (Oct 9, 2019):
@BrookeDot et al. As mentioned in another ticket, I can't reproduce this problem at all, so I was blindly merging your fix :) Looks like I'll just downgrade to 1.9.18 – v2 just isn't worth the fuss 😑
@BrookeDot commented on GitHub (Oct 9, 2019):
Downgrading to 1.9.18 sounds like a good option. The Regex issue had to be manually patched for me but was less of a headache then manually upgrading to 2.0 to fix this issue.
As for replication, I thought I mention my setup but looks like I didn't. Sorry! I'm running the following:
Debian 10.1 (buster)
NGINX 1.17.4
PHP 7.3.10
MariaDB 10.4.8
If I had to guess based on the output it's likely the PHP version that is causing the issue but we'd need to compare setups of others to be 100% on that. I see that getID3 1.9.18 says its tested with php 7.4 which is a good sign.
@phanan commented on GitHub (Oct 9, 2019):
OK, PR created. As long as the tests pass, I'll merge and release a new version.
@phanan commented on GitHub (Oct 9, 2019):
@BrookeDot Koel's TravisCI covers PHP 7.1, 7.2, and 7.3, so I'm pretty clueless about this issue.
@gorfreed commented on GitHub (Oct 9, 2019):
Hi guys, thank you for the responses! I am happy to see such an invested community! @BrookeDot I am pretty much on the bottom end of the Linux proficiency scale and I am amazed whenever I accomplish anything on my server. That said, usually I am able to find causes with some persistence and logic, but sometimes some steps of solutions discussed are so super-obvious that people don't spell them out, which is when I will be unable to recreate them. Below is a printout of me replacing the getid3 folder as suggested. As you see the sync command still doesn't run through. Am I wrong suspecting that perhaps there is more of a directory/path problem going on here?
@phanan commented on GitHub (Oct 9, 2019):
@gorfreed FWIW you're using the
rootaccount, which is oftentimes a big no-no when it comes to web applications. But maybe you want to try the latest release (v4.1.0) which was tagged a couple of minutes ago first.@BrookeDot commented on GitHub (Oct 9, 2019):
@gorfreed I just upgraded to 4.1.0 on my Linux server with the LEMP stack above without issue. Running commands as
rootcould be the issue. However, it looks like the bigger issue is that you're cloninggetId3into the main~/koelfolder where it should be cloned intovendor/james-heinrich/. In your case I think it is~/koel/vendor/james-heinrich/. It may also be helpful to usels -lanto see what files are in the directory you are in to check if things look correct.In my setup I have disabled root login and run all commands as the
www-datauser viasudo. For example my commands look like this:sudo -u www-data php artisan koel:syncDigitalOcean has a good guide on initial server setup for many popular Linux distributions which goes over disabling
roothttps://www.digitalocean.com/community/tutorial_collections/16
If you're still having trouble it may be good to know the following:
lsb_release -a( for debian/ubuntu),nginx -v,mysql -V,php -v)node -v,npm -v)@phanan commented on GitHub (Oct 9, 2019):
Thanks @BrookeDot – it's amazing to see how far you're going out of your way to help others :).