Bug 11284 - SBC - Accessing "now playing" Screen causes glitch in menu functions
: SBC - Accessing "now playing" Screen causes glitch in menu functions
Status: CLOSED FIXED
Product: SB Controller
Classification: Unclassified
Component: UI
: unspecified
: PC Windows Vista
: -- major with 3 votes (vote)
: 7.3.3
Assigned To: Wadzinski Tom
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-03-08 03:47 UTC by kabmorgan
Modified: 2009-06-17 09:37 UTC (History)
7 users (show)

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description kabmorgan 2009-03-08 03:47:14 UTC
If you press enter while viewing the "Now Playing" screen on the SBC, in order to look at your playlist or whatever, you will be stuck with this problem. You will be able to go back through the menu structure to the left but not to the right. You have to go all the way back to the home page to make it work again.
Comment 1 kabmorgan 2009-03-08 04:14:42 UTC
Also added this as a coment to bug 11226.
Comment 2 Simon Turner 2009-03-08 15:34:47 UTC
I have been experiencing this quite a lot recently too (as have others - http://forums.slimdevices.com/showthread.php?t=61012). Sometimes the Controller just will not advance to the next menu (i.e. go to the right). Hitting the main enter button elicit the knock sound and the menu jerks, but it does not advance to the required menu. To recover I've had to navigate left as far as possible, then go right into an entirely different menu before navigating back to where I was to get to where I wanted. This workaround does not work every time though. Sometimes I have to restart the controller.
I.m using a 7.3 nightly on XP and have been experiencing the problem regularly for at least a month, if not two.
Comment 3 James Richardson 2009-03-18 15:13:27 UTC
I think this is a dupe of another bug..just can't find it now
Comment 4 James Richardson 2009-03-20 14:44:41 UTC
fixed in SC7.4-25416, but it looks like we may have to port the fix back to 7.3.3 as well
Comment 5 Mikael Nyberg 2009-03-25 10:04:04 UTC
Except that I have similar problems on Version: 7.4 - 25665 ?
but not very often, and in some cases you see the spinning circles reconnect message when it recovers.
Comment 6 Chris Owens 2009-03-30 17:20:49 UTC
Since there's now a planned 7.3.3 release, bugs which won't make the cut-off are being moved to the next target out.  If you feel that this bug needs to be addressed more (or less) urgently than the 7.4 release, please cc chris@slimdevices.com and leave a comment in the bug to that effect so we can review it.

Thanks.
Comment 7 PETER 2009-03-30 18:01:56 UTC
Chris,
Not sure what your  post means.  Can I take it that my issues will not be resolved in 7.3.3 and i have to wait until 7.4.
I have 2 Duets and with each major release thingS get worst.  As it is now my unit does not work as advertised and I frequently have to explain to other users in my family that the darn thing locks up and you have to exit out all the time.
hopefully this will be fixed on 7.3.3
thanks
Comment 8 Wadzinski Tom 2009-03-30 21:16:51 UTC
I have replicated this issue in 7.3 and 7.4 trunk.
Replication steps:

1) Starting playing music (I always tested with a >1 size now playing playlist)
2) Browse into Music Library->Artist.
3) Wait for NP SS to kick in.
4) Hit Enter/Go to enter the NP playlist
5) Back twice to get back to the Arist list.
6) hit go on any item, bump happens.

The bump happens because _curStep has no origin so the following code fails to set _curStep:
	-- make sure closing our windows do keep the path alive!
	window:addListener(
		EVENT_WINDOW_POP,
		function(evt)
			-- clear it if present, so we can start again the textinput
			if item then
				item['_inputDone'] = nil
			end

			-- cancel the step to prevent new data being loaded
			step.cancelled = true

			if _curStep and _curStep.origin then
				_curStep = _curStep.origin
			end
		end
	)

It seems that the following code was removed in r1806 (the commit comment speaks of removing circular references):
function showPlaylist()
        if _statusStep then
 
                -- arrange so that menuListener works
-               _statusStep.origin = _curStep
                _curStep = _statusStep

That change may be the source of the bug or its possible something later triggered the bug, but I found that reverting the "_statusStep.origin = _curStep" line does eliminate the problem.

However, I am trying to understand the implication of reverting that since it was explicitly remove to fix something. So I'm reassigning to Richard (who was the r1806 committer) to see if his memory can be jogged about the "circular reference" issue.

So, to summarize, why the bug is happening is clear, but we need to investigate the fix a bit.
Comment 9 kabmorgan 2009-03-31 00:56:10 UTC
Hi

I'm the OP on this bug.  Knowing how and when it manifests itself means I can live with it.  Not so easy for those who see it as a random event.  If it can be fixed for 7.3.3 then it really should as it is a very obvious bug and adds a considerable "aaarghh!" factor until you figure out what is going on.

Keith
Comment 10 Simon Turner 2009-03-31 03:16:53 UTC
It is an aggravating bug and I'be be glad if it is fixed. I also frequently receive a blank screen when selecting Settings on my SBCs and wonder if this might be connected at all?
Comment 11 Wadzinski Tom 2009-03-31 06:09:43 UTC
Bug 10678 appears to be a duplicate of this
Comment 12 Patrick Dixon 2009-03-31 06:17:43 UTC
I think it's more that this is a duplicate of Bug 10678!
Comment 13 Michael Herger 2009-04-06 09:25:54 UTC
*** Bug 11627 has been marked as a duplicate of this bug. ***
Comment 14 James Richardson 2009-04-06 09:27:22 UTC
*** Bug 10678 has been marked as a duplicate of this bug. ***
Comment 15 Dennis Mutsaers 2009-04-09 04:45:26 UTC
I also frequently receive a blank screen when selecting Settings on my SBCs. I need to reboot the SBC to be able to access the settings page again.
Comment 16 Wadzinski Tom 2009-04-09 09:24:39 UTC
*** Bug 11485 has been marked as a duplicate of this bug. ***
Comment 17 Wadzinski Tom 2009-04-10 12:20:44 UTC
Fixed for 7.4 in r5283. Looking into porting the fix to 7.3 also.

Details:
There were a few situations where the SlimBrowser step/Framework.windowStack became out of sync. 

The main reason I found for it going out of sync is that the NP playlist window is special in that the same instance of it can occur multiple times in the step list, but the step/origin linking doesn't allow for the same instance more than once. 
I have corrected this by maintaining a _stepStack table instead of the step/origin linked list. This cleans up the SlimBrowseApplet code a bit also.

I also found that there are TextInput responses from SC that would cause SlimBrowApp to close the same window twice.  Only one window would go away but two POP events occurred, which can put step/Framework.windowStack out of sync (if the textinput wasn't the top of the step stack).  To avoid this , SlimBrowApp now lets the nextWindow message win if one exists on a "do" item instead of closing the textinput directly, as is the normal response for a textinput "do" item.

I tested many scenarios, but this change is has pretty wide scope (affects all windows that are built from SC and SN responses). Areas for testing should include:
0) Generally look at cases where you go deeply into a menu structure, and return out a few levels and try to go deeper again along the same or another path.
1) Adding/Removing/ Alarms and Favorites
2) Do searches, and backing out of searches.
3) Be in a browse hierarchy then let NP SS kick in (i.e. don't press home), etner NP playlist then try going back and make sure you can click right on browse itmes..
4) On SP desktop (where you can select NP directly), try step 3 but instead of going back immediately, browse deeper into an item and reselect np and np playlist, then go deeper into the hierarchy. You should be able to back out of any point in that chain and be able to use right to go deeper again. Note that in this semi-unusual case the higher level NP playlist windows won't appear when as you go back back back up the chain. Instead, only the most recent appearance of the NP playlist screen will appear.
5) Attempt to disconnect the player (hold left) and change players and browse again.
Comment 18 Simon Turner 2009-04-10 14:25:22 UTC
Is this likely to correct the blank settings page or is that thought to be an entirely different problem (in which case I should probably open a new bug for it)?
Comment 19 Wadzinski Tom 2009-04-10 14:44:08 UTC
I haven't been able to reproduce the blanks settings issue, but I suspect this fix is not related to that, so a new bug for that would be great.
Comment 20 Wadzinski Tom 2009-04-13 09:38:25 UTC
Also fixed in 7.3. r5290

See comment #17 for details
Comment 21 Anoop Mehta 2009-04-16 12:31:10 UTC
Verified fix with Toms repo steps in Comment 8

SC 7.3.3 r25948
Comment 22 James Richardson 2009-06-17 09:37:11 UTC
This bug has been fixed in the 7.3.3 release version of SqueezeCenter!

If you haven't already. please download the new version from http://www.logitechsqueezebox.com/support/download-squeezecenter.html 

If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.