Bugzilla – Bug 14437
LocalPlayer.lua:214: attempt to index field 'slimproto'
Last modified: 2011-05-23 15:52:38 UTC
Protection needed in case slimproto is nil, in several places. From crash logs: Machine: jive Version: 7.4.0 r7790 Sep 29 09:24:38 squeezeplay: WARN squeezeplay.timer - Timer.lua:193 timer error: /usr/share/jive/jive/slim/LocalPlayer.lua:214: attempt to index field 'slimproto' (a nil value) Sep 29 09:24:38 squeezeplay: WARN squeezeplay.timer - Timer.lua:193 timer error: /usr/share/jive/jive/slim/LocalPlayer.lua:214: attempt to index field 'slimproto' (a nil value) Sep 29 09:24:38 squeezeplay: WARN squeezeplay.timer - Timer.lua:193 timer error: /usr/share/jive/jive/slim/LocalPlayer.lua:214: attempt to index field 'slimproto' (a nil value) Sep 29 09:24:38 squeezeplay: WARN squeezeplay.timer - Timer.lua:193 timer error: /usr/share/jive/jive/slim/LocalPlayer.lua:214: attempt to index field 'slimproto' (a nil value)
Patch attached (shortly) for review. It looks like the only time this happens is when a user deselects enable audio playback(which is the only call to destroy(), which is the only thing that sets slimproto to nil). So, the nil protection doesn't seem like a full solution here, as, for instance, it looks like some other timer is still firing and may well continue to fire until the user reboots. I think we may want to force/suggest a reboot when a user enables/disables audio playback since this switch either way without reboot brings up a handful of issue not widely tested.
Created attachment 5974 [details] nil protection
Created attachment 5975 [details] updated
7.4.x milestone is in the past
Richard is no longer available to us.
Tom's patch is very low risk. Will check in for 7.6.0
== Auto-comment from SVN commit #9287 to the jive repo by bklaas == == http://svn.slimdevices.com/jive?view=revision&revision=9287 == Fixed Bug: 14437 Description: test for self.slimproto before executing methods on that object
Bug fixed, but not sure about repro steps. User must disable audio playback on Squeezebox Controller by going into Settings->Advanced->Beta Features->Audio Playback and check/uncheck enable playback. Then play music on your Controller headphone output jack and ensure Controller doesn't crash.
Verified fixed in Controller. Closing