alehouse / cantata

Automatically exported from code.google.com/p/cantata
GNU General Public License v3.0
1 stars 0 forks source link

Cantata freeze.. #550

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Which version of Cantata?
1.4.1

Which build? KDE, Qt4, Qt5, Windows, Ubuntu, Mac?
Windows 7 32bit

What steps will reproduce the problem?
1. Run application =)
2. Use application.
3. Application partially freezes.
4. Restart mpd does not solve the problem.

What is the expected output? What do you see instead?
Cantana connected and does not load playlists and other. No control mpd.

Please provide any additional information below.
Restart Cantata solved problem. Mpd run in Openwrt. Mpd last version.
Other clients are working properly.

Original issue reported on code.google.com by khseal...@gmail.com on 28 Sep 2014 at 5:47

GoogleCodeExporter commented 9 years ago
What were you doing when it froze? Can you run as follows:

    1. Run cmd.exe from start menu.
    2. cd c:\Program Files\Cantata
    3. set CANTATA_DEBUG=0xffffffff
    4. cantata.exe

This will cause all Cantata debug to be logged to 
C:\Users\USERNAME\AppData\Local\mpd\cantata\cache\cantata.log 

After the crash, please add the contents of this log file to this bug report.

Original comment by cantata....@gmail.com on 28 Sep 2014 at 5:59

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
This happens if I reboot mpd during playback. I will make the logs.

Original comment by khseal...@gmail.com on 28 Sep 2014 at 6:21

GoogleCodeExporter commented 9 years ago
Logs not created. =(

Original comment by khseal...@gmail.com on 28 Sep 2014 at 6:23

Attachments:

GoogleCodeExporter commented 9 years ago
This *only* happens when you restart mpd?

As to the log, please try with 0x0001FFFF

Original comment by craig.p....@gmail.com on 28 Sep 2014 at 6:38

GoogleCodeExporter commented 9 years ago
When you say freeze - is the UI stuck? As in not updating, or is it just that 
Cantata no longer seems to be talking to MPD?

Original comment by craig.p....@gmail.com on 28 Sep 2014 at 6:39

GoogleCodeExporter commented 9 years ago
*This *only* happens when you restart mpd?*
I'm not sure that this only happens when restart the mpd.

*When you say freeze - is the UI stuck? As in not updating, or is it just that 
Cantata no longer seems to be talking to MPD?*
Part of the UI stuck. Play and pause button freezes. Progress bar freezes. See 
the screenshot. The screenshot is selected and plays music 03 Return To 
Innocence. A progress bar shows the other information.

Original comment by khseal...@gmail.com on 28 Sep 2014 at 7:16

Attachments:

GoogleCodeExporter commented 9 years ago
In the screenshot you are playing a stream - there is no progress info in this 
case, as Cantata does not know the length. The screenshot shows the 1st item 
being active - not "03 Return to Innocence"

If the play/pause button does not work - then that would imply that the 
messages are not being sent to MPD, or MPD is not responding to them.

The log shows that the 1st attempt to change track failed with "Oaae?iiue ocae 
cae?ue niaaeiaiea" I'm assuming this is an error message in your language, that 
has just not been logged correctly to the log file. Any idea what it means?

Is this being run on a laptop? And was the laptop suspended, whilst changes 
were made to mpd? e.g. Load 3 songs, play 1st, suspend laptop, mpd (on another 
machine) then starts to play second sond, resume laptop - and Cantata is 
'stuck' ???

Original comment by craig.p....@gmail.com on 28 Sep 2014 at 8:37

GoogleCodeExporter commented 9 years ago
Length is not displayed because play online radio. I have included playing 03 
Return to Innocenzo after a reboot, but the progress bar remains about the 
first position. 

I maybe a little lied. The button works but does not change the status of the 
buttons. 

Yes, it is Russian in UTF-8 or cp1251 encoding. In the cantata language is 
displayed normally. 

No, the laptop I did not turn it off or suspended. I use only one cantata.

Original comment by khseal...@gmail.com on 28 Sep 2014 at 9:37

GoogleCodeExporter commented 9 years ago
OK, but the screenshot shows MPD playing the stream. If you have restarted 
Cantata and it *still* shows MPD playing the stream, but MPD is in fact playing 
another track - then that would be an MPD issue. Cantata does not save the MPD 
state - so when it restarts it will get the state info from MPD.

What it sound like is that for some reason, is that Cantata has lost the 
connection to MPD and can't get it back. This is why I asked about the suspend 
above - as I have seen this in that scenario.

I assume you are running MPD on another (non-Windows) machine? Can you try a 
Linux build of Cantata - and see if this has the same issues?

Original comment by craig.p....@gmail.com on 29 Sep 2014 at 6:51

GoogleCodeExporter commented 9 years ago
I think that after you restart the cantata can send commands, but does not 
receive information from mpd. 
Usually when the connection is interrupted, Cantata writes about this. In this 
case, there is no connection, but Сontata not write about it. 

Mpd running on the router under Openwrt. 
I will try to put Cantata on Ubuntu.

Original comment by khseal...@gmail.com on 29 Sep 2014 at 7:57

GoogleCodeExporter commented 9 years ago
Does this issue *only* happen when you have 1 or more streams in the playqueue?

Original comment by craig.p....@gmail.com on 29 Sep 2014 at 10:59

GoogleCodeExporter commented 9 years ago
It seems in Ubuntu is no such problem. In windows it is also not there every 
time.
I think, to do somewhere button to reconnect mpd. 

Original comment by khseal...@gmail.com on 29 Sep 2014 at 11:35

GoogleCodeExporter commented 9 years ago
Streams? Did you mean a few positions in playqueue?

Original comment by khseal...@gmail.com on 29 Sep 2014 at 11:36

GoogleCodeExporter commented 9 years ago
As in songs from HTTP sources - Radio Streams, Jamendo, Podcasts, SoundCloud, 
etc.

If you add *just* items from your library (MP3, FLAC, Ogg, whatever), does it 
work ok?

Original comment by craig.p....@gmail.com on 29 Sep 2014 at 11:39

GoogleCodeExporter commented 9 years ago
The code already automatically tries to reconnect - and show an error if this 
fails (with a reconnect button). Adding an explicit reconnect button would not 
help here.

Original comment by craig.p....@gmail.com on 29 Sep 2014 at 11:42

GoogleCodeExporter commented 9 years ago
I understand how it works. But the problem is that apparently the code does not 
always understand when is disconnected mpd.

Original comment by khseal...@gmail.com on 29 Sep 2014 at 11:51

GoogleCodeExporter commented 9 years ago
Ok, I'll try to play only from the library.

Original comment by khseal...@gmail.com on 29 Sep 2014 at 11:53

GoogleCodeExporter commented 9 years ago
In library retry error. Cantata writes an error that the song was not found. In 
mpd logs there are no errors ...

Original comment by khseal...@gmail.com on 30 Sep 2014 at 12:44

Attachments:

GoogleCodeExporter commented 9 years ago
Again, I need log files. All this tells me is that *MPD* reported no such song 
- this message comes from MPD. Now, it might be that Cantata asked it to play 
an invalid song position - but without logs I would not know.

Original comment by craig.p....@gmail.com on 30 Sep 2014 at 6:36

GoogleCodeExporter commented 9 years ago
This is a long shot... The next release of Cantata for windows will be built 
against Qt5. Now this /might/ improve things -  doubt it, but worth a try. So, 
can you please try the pre-release version which you can get from:

http://www.tempfiles.net/download/201409/357776/Cantata-1.html

Original comment by craig.p....@gmail.com on 30 Sep 2014 at 4:13

GoogleCodeExporter commented 9 years ago
It seems to me version works better. Only the interface language does not 
switch.

Original comment by khseal...@gmail.com on 30 Sep 2014 at 5:26

GoogleCodeExporter commented 9 years ago
"works better"? as in fixed? or the bug doesn't happen as often?

As to the language, yeah  I noticed this after that installer was built - 
already fixed in trunk.

Original comment by craig.p....@gmail.com on 30 Sep 2014 at 6:08

GoogleCodeExporter commented 9 years ago
Currently there are no freezes. Need more time for testing.

Original comment by khseal...@gmail.com on 30 Sep 2014 at 6:15

GoogleCodeExporter commented 9 years ago
So, can I assume this is fixed now?

Original comment by craig.p....@gmail.com on 3 Oct 2014 at 6:20

GoogleCodeExporter commented 9 years ago
No, the problem remained.

Original comment by khseal...@gmail.com on 4 Oct 2014 at 10:22

Attachments:

GoogleCodeExporter commented 9 years ago
Hmmmm... Please try this version: 
http://www.tempfiles.net/download/201410/357952/Cantata-1.html

...when Cantata needs to reconnect to MPD (which happens once in your log 
file), it will also fully update the playqueue and status. This /might/ help.

In noticed only 1 IDLE message being sent from MPD to Cantata - this looks a 
bit odd. Cantata needs the IDLE message to know when MPD's state has changed.

On a unrelated note - why does your MPD *not* support the sticker command?

Original comment by craig.p....@gmail.com on 4 Oct 2014 at 11:18

GoogleCodeExporter commented 9 years ago
I can not say anything about IDLE commands. I can say that the problem occurs 
sometimes. Perhaps MPD  sometimes forget to send IDLE = (

Sticker command?

Original comment by khseal...@gmail.com on 4 Oct 2014 at 3:03

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
I checked the version to which you have given link. The problem remained.

Original comment by khseal...@gmail.com on 4 Oct 2014 at 3:20

GoogleCodeExporter commented 9 years ago
Cantata 1.5 uses MPD's 'sticker' command to store ratings. For each item in the 
playqueue it will ask MPD for its 'rating sticker' - but this fails with "ACK 
[5@0] {} unknown command "sticker" Implying your MPD does not know about the 
sticker command. Which is odd, as its MPD 0.18

As to the error, not sure what more I can do. If MPD accepts the 'playid' 
command (which it appears to), but does not inform Cantata that the playqueue 
has changed - then what is Cantata supposed to do? Cantata needs MPD to signal 
via its IDLE mode that something has changed - which it is not doing. The 
'playid <song id>' commands look like they are being accepted (MPD replies 
"OK") - but MPD does not inform Cantata of the updated status.

What does your mpd.conf look like? Have you made many changes?

Original comment by craig.p....@gmail.com on 4 Oct 2014 at 4:45

GoogleCodeExporter commented 9 years ago
You should have something like the following in your log file:

MPDConnection 0x10c99d000 0x7fa6eae10080 sendCommand: "playid "355"" true true
MPDConnection 0x10c99d000 Timeout (ms): 2000
MPDConnection 0x10c99d000 Socket state after write: 3
MPDConnection 0x10c99d000 0x7fa6eae10080 Waiting for read data, attempt 0
MPDConnection 0x10c99d000 0x7fa6eae10080 Read: "OK
" , socket state: QAbstractSocket::ConnectedState
MPDConnection 0x10c99d000 0x7fa6eae10080 sendCommand - sent
MPDConnection 0x10c99d000 idleDataReady
MPDConnection 0x10c99d000 0x7fa6eae100a0 Read: "changed: player
OK
" , socket state: QAbstractSocket::ConnectedState
MPDConnection 0x10c99d000 parseIdleReturn: "changed: player
OK
"

Notice the "changed: player" - this is Cantata receiving a message from MPD 
that there has been a change in the 'player' This does not seem to occur for 
your system.

Original comment by craig.p....@gmail.com on 4 Oct 2014 at 7:15

GoogleCodeExporter commented 9 years ago
Strangely different when mpd off, Cantata still shows that there is a play, but 
no writes that the connection is lost. 
My config in attach.

Original comment by khseal...@gmail.com on 4 Oct 2014 at 7:43

Attachments:

GoogleCodeExporter commented 9 years ago
Stickers maybe disabled. I'll see makefile options.

Original comment by khseal...@gmail.com on 4 Oct 2014 at 8:06

GoogleCodeExporter commented 9 years ago
Repaired stickers, rebuilt mpd. It was necessary to enable sqlite3. =)

Original comment by khseal...@gmail.com on 4 Oct 2014 at 8:41

GoogleCodeExporter commented 9 years ago
I was just curious about the stickers - will not help with this.

Please try this version: 
http://www.tempfiles.net/download/201410/357962/Cantata-1.html

Run with debug logging as before.\

Cantata has 2 connections to MPD - one for sending commands, and one (the IDLE 
one) for receiving MPD status updates. Now, when a command was failed to be 
sent - Cantata would detect that connection was lost, and reconnect the command 
connection. If the other connection was lost, it should be automatically 
signalled, and reconnect. It /might/ be that this signalling is not happening. 
So, in this new version - when Cantata fails to send a command, it will close 
both connections, and reconnect both.

Original comment by craig.p....@gmail.com on 4 Oct 2014 at 8:46

GoogleCodeExporter commented 9 years ago
I found even some error.

Original comment by khseal...@gmail.com on 4 Oct 2014 at 8:49

Attachments:

GoogleCodeExporter commented 9 years ago
Is that with the new version? Anyway, its not relevant for this issue. But, the 
whole point to cantata-tags is that TagLib sometimes crashes on certain tags - 
placing the tag reading/writing in another app stops this from crashing cantata 
itself.

How does the new version react with the issue that this bug report is about?

Original comment by craig.p....@gmail.com on 4 Oct 2014 at 8:52

GoogleCodeExporter commented 9 years ago
As to the crashing cantata-tags, please copy the version from 
http://www.tempfiles.net/download/201410/357963/cantata-tags.html into the 
helpers sub-folder of your cantata-install - the restart cantata. I've added 
some code to hopefully hide the crash dialog - as I dont care about it (as this 
is the whole point of cantata-tags!) I'm no windows dev, not user!, so I'm not 
100% if it works or not...

Original comment by craig.p....@gmail.com on 4 Oct 2014 at 9:04

GoogleCodeExporter commented 9 years ago
It seems the problem is solved in the new version.

Original comment by khseal...@gmail.com on 4 Oct 2014 at 9:13

GoogleCodeExporter commented 9 years ago
It is log.

Original comment by khseal...@gmail.com on 4 Oct 2014 at 9:15

Attachments:

GoogleCodeExporter commented 9 years ago
The 'freezing' - or the cantata-tags crash? If its the freezing, can you post a 
log file? it'd be nice to know if it is infact disconncting and reconnecting 
both.

Original comment by craig.p....@gmail.com on 4 Oct 2014 at 9:16

GoogleCodeExporter commented 9 years ago
New Cantata-tags full broken.

Original comment by khseal...@gmail.com on 4 Oct 2014 at 9:17

Attachments:

GoogleCodeExporter commented 9 years ago
I talked about the problem freezing. Logs in up. 

Original comment by khseal...@gmail.com on 4 Oct 2014 at 9:20

GoogleCodeExporter commented 9 years ago
Try this version: http://www.tempfiles.net/download/201410/357964/Cantata-1.html

Original comment by craig.p....@gmail.com on 4 Oct 2014 at 9:47

GoogleCodeExporter commented 9 years ago
In this version, all the errors are gone. Tomorrow I will do tests and attached 
logs.

Original comment by khseal...@gmail.com on 5 Oct 2014 at 9:53

GoogleCodeExporter commented 9 years ago
There are rare random disconnects. Previously, these disconnects were not. I 
will try to display them in logs.

Original comment by khseal...@gmail.com on 6 Oct 2014 at 11:13

GoogleCodeExporter commented 9 years ago
Here are the logs. 

Original comment by khseal...@gmail.com on 6 Oct 2014 at 2:08

Attachments:

GoogleCodeExporter commented 9 years ago
Please try this version: 
http://www.tempfiles.net/download/201410/358072/Cantata-1.html

Cantata used to have 2 socket connections to MPD - to make things 'simpler'. I 
thinks this /might/ be making things worse here. The linked version uses a 
single connection to MPD. This /might/ make things better.

Please note, that I have only just coded this - and I have not extensively 
tested! So it /might/ be worse than before :-)

Original comment by craig.p....@gmail.com on 6 Oct 2014 at 7:20

GoogleCodeExporter commented 9 years ago
Checking. 
There is another bug.
2014-10-07 01:06:17 - QTextCursor::setPosition: Position '145' out of range
2014-10-07 01:06:17 - QTextCursor::setPosition: Position '19' out of range
2014-10-07 01:06:17 - QTextCursor::setPosition: Position '255' out of range
2014-10-07 01:06:17 - QTextCursor::setPosition: Position '106' out of range
When is a mouse left click doesn't work.
It was in the version 1.8.2

Original comment by khseal...@gmail.com on 6 Oct 2014 at 9:10