systemetric / shepherd

👨‍🌾 Shepherd is the code management system used on the RoboCon brains
Other
2 stars 1 forks source link

running usercode hanging shepherd #31

Closed casheww closed 2 years ago

casheww commented 3 years ago

It could well be that this issue only exists on the brain I have since it hasn't been patched using Will's USB since the week before the launch, but Edwin recommended I post an issue just in case. I have copied the latest versions of shepherd and the robot lib across to the box, but it's possible that I've missed any extra steps

I have noticed that the LED on my brain remains solid (not flashing, which I thought it was meant to) but it can run Robot-less code like

for i in range(5):
    print(i)

just fine.

Running the following code via sheep results in shepherd hanging(?) during the Robot init image (note it never reaches the pre-see print) The LED doesn't appear to turn off, but it restarts the pi's wireless access point and shepherd. Journalctl doesn't seem to have anything interesting in - just the python language server restarting - but I will attach it here anyway

pi-shepherd-bug-journal.txt

... but again, it could be that this brain is missing some updates

casheww commented 3 years ago

Update: after re-copying the latest robot version (apparently I neglected to actually copy this) to the brain, I have managed to get the brain into a crash loop. I have been trying to connect to it and stop the shepherd service on systemctl in the hopes that it will allow debugging, but there isn't enough time between the access point appearing and disappearing to connect to the access point, SSH in, and stop the service.

I am hesitant to open the brain up to get at the SD card without consulting @WillMunns ... I did notice that there are two "college" DebugUSBs listed in https://github.com/systemetric/RoboCon-brain-support-files/blob/main/etc/udev/rules.d/98-msc.rules - does anyone know where these are? Seems like they could be quite useful

WillMunns commented 3 years ago
            The brain shouldn’t reset, the web browser should fail. You should still be able to ssh in. No crash of any size should shut the brain down. Have you got a discharged battery?Sent using the mobile mail appOn 09/11/2021 at 22:44, Aaron wrote:

                From: "Aaron" ***@***.***>Date: 9 November 2021To: "systemetric/shepherd" ***@***.***>Cc: "Will" ***@***.***>,"Mention" ***@***.***>Subject: Re: [systemetric/shepherd] running usercode hanging shepherd (Issue #31)

Update: after re-copying the latest robot version (apparently I neglected to actually copy this) to the brain, I have managed to get the brain into a crash loop. I have been trying to connect to it and stop the shepherd service on systemctl in the hopes that it will allow debugging, but there isn't enough time between the access point appearing and disappearing to connect to the access point, SSH in, and stop the service. I am hesitant to open the brain up to get at the SD card without consulting @WillMunns ... I did notice that there are two "college" DebugUSBs listed in https://github.com/systemetric/RoboCon-brain-support-files/blob/main/etc/udev/rules.d/98-msc.rules - does anyone know where these are? Seems like they could be quite useful

—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications on the go with GitHub Mobile for iOS or Android.

[ { @.": "http://schema.org", @.": "EmailMessage", "potentialAction": { @.": "ViewAction", "target": "https://github.com/systemetric/shepherd/issues/31#issuecomment-964613505", "url": "https://github.com/systemetric/shepherd/issues/31#issuecomment-964613505", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { @.": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

WillMunns commented 3 years ago

 

I also have the two debug sticks labeled as "Hills Road" in the udev list. They are tiny and fragile so there is no way they are going to be trusted to a box in the lab!

 

For your own development brain you should generate your own debug stick. 

 

The script https://github.com/systemetric/RoboCon-brain-support-files/blob/main/scripts/add_arena_stick.sh

should run on the PI and add a stick to the udev rules.

 

There is an example script to put on the stick also in that directory

 

Sent: Tuesday, November 09, 2021 at 10:44 PM From: "Aaron" @.> To: "systemetric/shepherd" @.> Cc: "Will" @.>, "Mention" @.> Subject: Re: [systemetric/shepherd] running usercode hanging shepherd (Issue #31)

 

Update: after re-copying the latest robot version (apparently I neglected to actually copy this) to the brain, I have managed to get the brain into a crash loop. I have been trying to connect to it and stop the shepherd service on systemctl in the hopes that it will allow debugging, but there isn't enough time between the access point appearing and disappearing to connect to the access point, SSH in, and stop the service.

I am hesitant to open the brain up to get at the SD card without consulting @WillMunns ... I did notice that there are two "college" DebugUSBs listed in https://github.com/systemetric/RoboCon-brain-support-files/blob/main/etc/udev/rules.d/98-msc.rules - does anyone know where these are? Seems like they could be quite useful

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

casheww commented 3 years ago

Ah, I thought I had charged this battery but apparently not. Seems to work fine now with a different battery. Isn't the LED meant to flash for short intervals periodically when the battery is too low?

casheww commented 3 years ago

The script https://github.com/systemetric/RoboCon-brain-support-files/blob/main/scripts/add_arena_stick.sh should run on the PI and add a stick to the udev rules.

Oh, thanks very much - didn't spot this