Bug 14528 - Bug in AppletManager._evalMetas
: Bug in AppletManager._evalMetas
Status: CLOSED FIXED
Product: SqueezePlay
Classification: Unclassified
Component: API
: 7.4.x
: PC Windows Vista
: P3 normal with 1 vote (vote)
: 7.5.0
Assigned To: Stefan Hansel
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-10-02 11:24 UTC by Stefan Hansel
Modified: 2010-04-08 17:24 UTC (History)
4 users (show)

See Also:
Category: ---


Attachments
Malicious Applet (1.11 KB, application/empty)
2010-02-26 14:26 UTC, Stefan Hansel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Hansel 2009-10-02 11:24:57 UTC
In the first loop _evalMetas tries to configure all Applets.
If one applet has an error while configuring, an error is logged and the method returns:

-- line 368 --
log:error("Error configuring meta for ", entry.appletName, ":", resOrErr)
return nil
---

I think it is wrong to leave the method, because all subsequent Applets won't be configured. This can lead to all sorts of disfunction (missing screensafers for instance).

I'd delete the 'return nil' line.
Comment 1 Chris Owens 2009-10-21 09:49:45 UTC
moving current p2 bugs to p3 to make room for moving p1.5 bugs to p2
Comment 2 Stefan Hansel 2009-10-21 09:55:11 UTC
Um, this is a oneliner.

What was the result of the bug_meeting ?
Comment 3 Pat Ransil 2009-10-23 05:11:26 UTC
Administrative move of 7.5 bugs. All P2, P3, P4 being downgraded one level. Will then split P1s.
Comment 4 Pat Ransil 2009-10-23 05:17:30 UTC
Administrative move of 7.5 bugs. All P2, P3, P4 being downgraded one level. Will then split P1s.
Comment 5 Ben Klaas 2010-02-26 11:13:21 UTC
Stefan, apologies I know this bug has been open forever. I inherited it a couple months ago when our resources were shuffled.

On the surface this bug seems very trivial, but I'd like to be able to confirm that this change doesn't result in bad side effects. My issue is that I don't get how to create the error condition to test. I've intentionally injected errors into a applet's meta file, but this results in a failure to load much earlier than _evalMetas().

If you can give me some guidance with that, it would be much appreciated.
Comment 6 Stefan Hansel 2010-02-26 14:26:55 UTC
Created attachment 6573 [details]
Malicious Applet
Comment 7 Stefan Hansel 2010-02-26 14:31:44 UTC
Ben the attached 'AAAApplet' throws an error in 'configureApplet()' which in turn makes the loop in _evalMetas() stop.

This leads to a mostly unusable SqueezePlay (yeah - destroyed ! :)  )

For instance you can't configure any screenshots anymore, wallpapers are gone and I don't know what other stuff is broken.
Comment 8 SVN Bot 2010-02-26 14:40:09 UTC
 == Auto-comment from SVN commit #8594 to the jive repo by bklaas ==
 == https://svn.slimdevices.com/jive?view=revision&revision=8594 ==

Fixed Bug: 14528
Description: don't give up on configuring other applets after hitting an error in a different applet's meta file
Comment 9 Ben Klaas 2010-02-26 14:41:47 UTC
Thanks Stefan- I had tried manufacturing an error in a meta file by just adding a syntax error, but to reproduce the failure it was necessary to do e.g., a non-existent function call. That is, syntactically correct, but wrong.

It only took 4 months, but the one liner is checked in :-/
Comment 10 Chris Owens 2010-04-08 17:24:30 UTC
This bug has been marked fixed in a released version of Squeezebox Server or the accompanying firmware or mysqueezebox.com release.

If you are still seeing this issue, please let us know!