-
Notifications
You must be signed in to change notification settings - Fork 198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Invalid datetime format: 1292 #1066
Comments
Extracted from the gist linked to the OP, this is the interesting part of the error message:
So it seems that the application tries to save the latest play time to be on year 55359 and the database doesn't like this. Now, it would be interesting to see, what kind of parameters the playSub app gives when it calls the API endpoint /rest/scrobble. Apparently, it sends the parameters as POST data as there are no urlargs visible on the log lines. |
Do you know of any way to view POST data? I did a quick internet search and couldnt find anything useful. If not, I will just close this as it has nothing to do with the music app but with the app play:Sub. |
The only way I can figure out is to make a small modification to the code of the Music app. Not saying that there isn't an easier way, just that I don't know one. You could add a code block like this:
...before this line: music/lib/Controller/SubsonicController.php Line 754 in 95cec94
With this, the application should log the POST data on the warning level just before the exception happens.
Well, it's still a bit early to make this conclusion although I might suspect it. |
Did that, here is the POST data for two of these errors:
Edit:
|
Okay thanks. I think I have a bug there. The timestamp is given as milliseconds (which matches the API specification) but the Music app interprets it as seconds. This timestamp part of the API call is optional and probably none of the clients I have tested have sent it. That's why this has not been caught earlier. |
@numerfolt Note that in the Subsonic API call arguments, the part following |
Oops, thanks. I changed it 👍 |
According to the Subsonic API specification, the optional `time` argument on the method `scrobble` is given as milliseconds since epoch. However, our logic assumed it to be in seconds. Depending on the database system in use, this caused either the scrobbling to fail or be recorded with a time far in the future. refs #1066
Fix for this has now been released in Music v1.8.4. |
Steps to reproduce
Expected behaviour
No errors in logfile
Actual behaviour
There are lots of errors in my logfile regarding "Invalid datetime format: 1292"
Server configuration
Operating system: Linux nextcloudpi 6.1.21-v8+ aarch64 GNU/Linux
Web server: Apache/2.4.56 (Debian)
Database: 10.5.19-MariaDB-0+deb11u2 Debian 11
PHP version: PHP 8.1.18
ownCloud version: Nextcloud 26.0.1.1
Updated from an older ownCloud or fresh install: Update from older version but problem existing ever since first install
Where did you install ownCloud from: Nextcloudpi image
Signing status (ownCloud 9.0 and above): -
The content of config/config.php:
List of activated apps:
Are you using external storage, if yes which one: no
Are you using encryption: no
Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...
Client configuration
Browser: Firefox
Operating system: Garuda Linux
Logs
Web server error log
Nextcloud Log (inserted last few entries in this gist):
https://gist.github.com/numerfolt/44427da1ba56561d28df9ca2f35ddc58
The text was updated successfully, but these errors were encountered: