The-Three-Little-Pigs-Siri-Proxy icon indicating copy to clipboard operation
The-Three-Little-Pigs-Siri-Proxy copied to clipboard

Plugin (XBMC) crashes on TLP Server

Open SemoTech opened this issue 13 years ago • 18 comments

Hey guys,

I saw the mention in the README that the way plugins work has changed and that they should be "independent gems", but unfortunately I am unsure how to accomplish that and fix the XBMC-plugin I installed, so it crashes each time I try to use it! Can anyone assist with getting this to work?

The plugin comes from here: https://github.com/brainwave9/SiriProxy-XBMC And there is a fork of it here: https://github.com/patrickkettner/SiriProxy-XBMC

I tried both git locations in my config.yml but neither works with TLP!

Here is the log report:

[Info - Forwarding object to iPhone] SpeechRecognized [Info - Plugin Manager] Processing 'Watch Avatar ' [Info - Plugin Manager] Processing plugin #SiriProxy::Plugin::Example:0x8c202c4 [Info - Plugin Manager] Processing plugin #SiriProxy::Plugin::XBMC:0x89622d0 [Info - Plugin Manager] Matches (?i-mx:play (.+?)(?: in the (.*))?$) [Info - Plugin Manager] Applicable states: [Info - Plugin Manager] Current state: [Info - Plugin Manager] Matches, executing block [SiriProxy-XBMC] Connecting to the XBMC interface (default) [SiriProxy-XBMC] XBMC API Version 2 - Dharma [SiriProxy-XBMC] Finding TV show (API version 2) [Info - Plugin Manager] Plugin Crashed: undefined method `each' for nil:NilClass [Info - Forwarding object to iPhone] AddViews

SemoTech avatar Feb 26 '12 19:02 SemoTech

Take it out of the config.yml, siriproxy bundle, add it back to config, siriproxy bundle, siriproxy server or ./siriproxy-restarter.

nahum365 avatar Feb 28 '12 02:02 nahum365

This plyugin may crash for several reasons. Eg not good system configuration

Run with -l 4 (log level 4) to see more details

jimmykane avatar Feb 28 '12 13:02 jimmykane

Thanks guys, I tied both [remove & bundle] and [add back & bundle], but still not working, it crashes!

Jimmy, you may be right about it being not coded right, do you think you can fix?

Here is the log output at level 4 (using the https://github.com/patrickkettner/SiriProxy-XBMC fork as it uses "Watch" instead of "Play" so there is no confusion with music...)

[Info - Forwarding object to Guzzoni] SpeechPacket [Info - iPhone] Received Object: FinishSpeech (group: com.apple.ace.speech, ref_id: 32F3DCDD-BD47-5B29-91F6-255910A59465,ace_id: D34CA9E0-F634-4E2A-9A57-807BC96D9EE7) [Key - iPhone] Recieved Object Using: Key id [5] and Instance Keyload[450]
{"class"=>"FinishSpeech", "refId"=>"32F3DCDD-BD47-5B29-91F6-255910A59465", "group"=>"com.apple.ace.speech", "aceId"=>"D34CA9E0-F634-4E2A-9A57-807BC96D9EE7", "properties"=>{"packetCount"=>15}} [Info - Forwarding object to Guzzoni] FinishSpeech Ping - iPhone Pong - Guzzoni [Info - Guzzoni] Received Object: SpeechRecognized (group: com.apple.ace.speech, ref_id: 32F3DCDD-BD47-5B29-91F6-255910A59465,ace_id: a5236bd9-4eb0-48f5-a8bd-091ef7a1ba2a) {"class"=>"SpeechRecognized", "properties"=> {"sessionId"=>"9977e697-be83-469f-be28-d2f065c4c0b6", "recognition"=> {"class"=>"Recognition", "properties"=> {"phrases"=> [{"class"=>"Phrase", "properties"=> {"interpretations"=> [{"class"=>"Interpretation", "properties"=> {"tokens"=> [{"class"=>"Token", "properties"=> {"removeSpaceBefore"=>true, "confidenceScore"=>875.0, "removeSpaceAfter"=>false, "endTime"=>1280, "text"=>"Watch", "startTime"=>0}, "group"=>"com.apple.ace.speech"}]}, "group"=>"com.apple.ace.speech"}], "lowConfidence"=>false}, "group"=>"com.apple.ace.speech"}, {"class"=>"Phrase", "properties"=> {"interpretations"=> [{"class"=>"Interpretation", "properties"=> {"tokens"=> [{"class"=>"Token", "properties"=> {"removeSpaceBefore"=>false, "confidenceScore"=>841.0, "removeSpaceAfter"=>false, "endTime"=>2980, "text"=>"avatar", "startTime"=>1280}, "group"=>"com.apple.ace.speech"}]}, "group"=>"com.apple.ace.speech"}], "lowConfidence"=>false}, "group"=>"com.apple.ace.speech"}]}, "group"=>"com.apple.ace.speech"}}, "aceId"=>"a5236bd9-4eb0-48f5-a8bd-091ef7a1ba2a", "refId"=>"32F3DCDD-BD47-5B29-91F6-255910A59465", "group"=>"com.apple.ace.speech"} [Info - Forwarding object to iPhone] SpeechRecognized [Info - Plugin Manager] Processing 'Watch avatar ' [Info - Plugin Manager] Processing plugin #SiriProxy::Plugin::Example:0x9d24c8c [Info - Plugin Manager] Processing plugin #SiriProxy::Plugin::XBMC:0x95f27ac [Info - Plugin Manager] Matches (?i-mx:watch (.+?)(?: in the (.*))?$) [Info - Plugin Manager] Applicable states: [Info - Plugin Manager] Current state: [Info - Plugin Manager] Matches, executing block [SiriProxy-XBMC] Connecting to the XBMC interface (default) [SiriProxy-XBMC] XBMC API Version 2 - Dharma [SiriProxy-XBMC] Finding avatar (API version 2) [Info - Plugin Manager] Plugin Crashed: undefined method `each' for nil:NilClass [Info - Forwarding object to iPhone] AddViews [Info - SiriProxy] Uptime [20] Active connections [4] Max connections [30] [Info - Dropping Object from Guzzoni] AddViews {"class"=>"AddViews", "properties"=> {"temporary"=>false, "dialogPhase"=>"Summary", "scrollToTop"=>false, "views"=> [{"class"=>"AssistantUtteranceView", "properties"=> {"dialogIdentifier"=>"Common#unknownIntent", "speakableText"=> "Slayer, I don’t understand @{tts#\e\pause=500\e\rate=90}Watch avatar@{tts#\e\pause=500\e\rate=100}.", "text"=>"Steve, I don’t understand ‘Watch avatar’."}, "group"=>"com.apple.ace.assistant"}, {"class"=>"Button", "properties"=> {"commands"=> [{"class"=>"SendCommands", "properties"=> {"commands"=> [{"class"=>"StartRequest", "properties"=> {"handsFree"=>false, "utterance"=> "^webSearchQuery^=^Watch avatar^^webSearchConfirmation^=^Yes^"}, "group"=>"com.apple.ace.system"}]}, "group"=>"com.apple.ace.system"}], "text"=>"Search the web"}, "group"=>"com.apple.ace.assistant"}]}, "aceId"=>"dd7c653d-39f0-4eec-8eb6-cdb6a7466858", "refId"=>"32F3DCDD-BD47-5B29-91F6-255910A59465", "group"=>"com.apple.ace.assistant"} Ping - iPhone [Info - Dropping Object from Guzzoni] RequestCompleted {"class"=>"RequestCompleted", "properties"=>{"callbacks"=>[]}, "aceId"=>"4eede9e5-2042-41bf-8a30-fac4c186e47f", "refId"=>"32F3DCDD-BD47-5B29-91F6-255910A59465", "group"=>"com.apple.ace.system"}

SemoTech avatar Feb 28 '12 19:02 SemoTech

[SiriProxy-XBMC] Finding avatar (API version 2) [Info - Plugin Manager] Plugin Crashed: undefined method `each' for nil:NilClass

Something with the plugin. Will look into this. The bad thing is that i dont use XBMC :-(

jimmykane avatar Feb 28 '12 22:02 jimmykane

Yeah, as usual you were right! Too bad you do not use XBMC, it is great :-)

Hopefully maybe you see something in the code and I'll test again as soon as you spot something.

Again I am using this fork as it uses "Watch" not "Play" for commands: https://github.com/patrickkettner/SiriProxy-XBMC

SemoTech avatar Feb 28 '12 22:02 SemoTech

In my opinion the `each' for nil:NilClass means that it should have some input from the XBMC and now its doesnt get any!

jimmykane avatar Feb 28 '12 22:02 jimmykane

I see... but the code is obviously not good as it should handle that gracefully... if that is the problem....

SemoTech avatar Feb 28 '12 22:02 SemoTech

if :-) The TLP code though detects the crash and avoids runtime crash. Thats a good thing.

jimmykane avatar Feb 28 '12 22:02 jimmykane

Ha Ha Ha, yeah, no doubt about that, TLP kicks ass! :-) Wish the XBMC plugin was coded as well as you did TLP!

SemoTech avatar Feb 28 '12 22:02 SemoTech

I know you are busy Jimmy and there is no rush, but if you could spare a few minutes I am sure you will find the bug in the XBMC plugin and be able to fix it. Once you do this it will help everyone else that has this problem and I would be happy to post the fix for everyone to enjoy....

SemoTech avatar Feb 29 '12 18:02 SemoTech

I hope tonight I ll find some time

On 29 Φεβ 2012, at 20:06, [email protected] wrote:

I know you are busy Jimmy and there is no rush, but if you could spare a few minutes I am sure you will find the bug in the XBMC plugin and be able to fix it. Once you do this it will help everyone else that has this problem and I would be happy to post the fix for everyone to enjoy....


Reply to this email directly or view it on GitHub: https://github.com/jimmykane/The-Three-Little-Pigs-Siri-Proxy/issues/184#issuecomment-4243146

jimmykane avatar Feb 29 '12 18:02 jimmykane

Hehe still no time don't think that i forgot you!

PS. have you tried ant other xbmc versions?

jimmykane avatar Mar 02 '12 02:03 jimmykane

Hey Jimmy, I never had any doubt that you did not forget me. I know you are busy, so whenever you get to it...

As for different versions, there are 2 versions of SiriProxy-XBMC (original and the fork) and I tried both.

I settled for the fork from "patrickkettner" because he uses "watch" instead of "play" so there is less chance of confusion with music. Here is the link again: https://github.com/patrickkettner/SiriProxy-XBMC

My XBMC system is running the current LIVE release version (10.1 "Dharma"), as the next version (11.0 "Eden") is not released yet. http://xbmc.org/download/

The only other XBMC SiriProxy plugin I found on Github is (https://github.com/HabKeinPlan/SiriProxy-XBMC) but it seems even its author dropped it and is watching the main "brainwave9" one...

SemoTech avatar Mar 02 '12 18:03 SemoTech

Did you ever get it to work?

thpryrchn avatar May 11 '12 05:05 thpryrchn

Nope. And since no one replied to my requests for help I gave up...

I am also currently running the OpenELEC version of XBMC "Eden" 11 and it runs great so it would be nice to get Siri control for it...

SemoTech avatar May 11 '12 15:05 SemoTech

XBMC plugin is still not working for me, crashes with same error. Really hope someone can fix it....

SemoTech avatar Aug 18 '12 04:08 SemoTech

undefined method `each' for nil:NilClass means it's getting empty responses from your XBMC server. The brach you're trying to use has significant problems and doesn't work, try my branch. https://github.com/Hackworth/SiriProxy-XBMC

Are you getting that error when you try to watch anything? Movie? TV Show? TV show season? You may want to upgrade from Dharma to Eden.

hackworth avatar Sep 22 '12 05:09 hackworth

It is if you have a TV OR movie library that is empty. I have updated a branch here which splits the tv and movie commands/libraries to be separate to get around this: https://github.com/Deanmv/SiriProxy-XBMC

Deanmv avatar Jan 29 '13 15:01 Deanmv