[Pianod] New error just crept up

Peter Li chinasaurli at gmail.com
Wed Jul 24 10:11:26 PDT 2013


Bicycle adventure sounds good!

Perhaps this explains why I haven't noticed the problem; I don't usually 
try to play a station from pianod right when the system boots, although 
I have the pianod process set to start at boot.

The command buffer seems like a good idea, although maybe complicated to 
implement.  Maybe easiest to save the commands as strings?  Offline 
event also seems reasonable.

I don't know why getaddrinfo was having an issue running as nobody; I 
don't think I've observed that on my Raspbian, ArchLinuxARM, or Fedora 
Core x86 machines.  In my (and others') experience, running as nobody on 
Linux connects to Pandora fine but can't connect to the sound card, 
which is relatively well understood (audio group, pianod dropping to the 
given uid, gid, but not getting the auxiliary groups, etc.).

Separate question: it looks like libwaitress is designed not to give 
many error messages?  It would be nice if it returned the actual 
getaddrinfo error instead of just "getaddr failed".

P




On 07/24/2013 09:07 AM, Jimmy Pop wrote:
> The error in question was not generated by a pi, it was generated by a
> 3.3 kernel on a Debian fs, running on a Cubieboard, but the cubie and
> pi are both arm processors. I'll try it on my full Debian box tonight.
>
> Perhaps a buffer, that queues commands until it acknowledges it's
> online would be helpful.
> Also, if we could generate an offline event to the control port, that
> would be helpful.
> The Internet could be down, but a dedicated system on the local
> network trying to control it should be informed.
>
> On Jul 24, 2013, at 8:27 AM, Perette Barella <perette at barella.org> wrote:
>
>> Sorry for the delay, I've been on a bicycle adventure for a few weeks.
>>
>> In the event of network problems, pianod stores the user credentials and retries periodically until the network comes up.  At least on OS X, it recovers correctly.  I took the ethernet offline and started up, yielding the dreaded getaddr failed:
>>
>> 133 Logging in to server
>> 502 getaddr failed.
>>
>> When I brought the ethernet up, on the next pianod retry (once a minute):
>>
>> 133 Logging in to server
>> 133 Pandora credentials changed.
>> 136 Privileges: user
>> 135 Station list has changed
>> 134 Mix has been changed
>>
>> Of course, by then the start script had already completed so any subsequent commands (like picking stations or starting music) failed and didn't get run, but I was able to pick a station and start playback.  This is not ideal, but I don't have any good ideas for improving it either.
>>
>> So I'll point to the Linux network libraries (getaddrinfo) and ask why isn't reflecting the network coming up and/or why it's troubled by running as 'nobody'?  Is this true of all Linuxes (Linae?) or is this a quirk on the Pi?
>>
>> Perette



More information about the Pianod mailing list