Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open Roberta Lab Hangs #64

Open
TechnoTew opened this issue May 28, 2018 · 10 comments
Open

Open Roberta Lab Hangs #64

TechnoTew opened this issue May 28, 2018 · 10 comments
Labels

Comments

@TechnoTew
Copy link

What are you trying to do?

Open Roberta Lab display values

What did you expect to happen?

Able to quit program normally

What actually happened?

Ev3 is stuck in the program and can't quit, if program ends, blank screen

What hardware and software are you using (including version numbers)?

Image file:         ev3dev-stretch-ev3-generic-2018-04-22
Kernel version:     4.14.38-ev3dev-2.0.1-ev3
Brickman:           0.10.0
ev3devKit:          0.5.2
Board:              board0
BOARD_INFO_HW_REV=7
BOARD_INFO_MODEL=LEGO MINDSTORMS EV3
BOARD_INFO_ROM_REV=6
BOARD_INFO_SERIAL_NUM=0016533DD4F5
BOARD_INFO_TYPE=main
@ensonic
Copy link
Contributor

ensonic commented Jun 19, 2018

Can you share your program (screenshot) or "save as ..." from the 1st menu and atatch the xml (or put the xml on e.g. gist.github.com and paste the link here).

@TechnoTew
Copy link
Author

I do not have the program saved but the program was just supposed to read from the infrared sensor and display it on the screen if I remembered correctly.

Sorry

@ensonic
Copy link
Contributor

ensonic commented Jun 20, 2018

Do you know that you can cancel a running program using 'Center'+'Down' keys on the ev3-brick ? This is useful if you used a `run indefinitely' block to check the sensor. This is briefly shown on the roberta-lab screen when starting the program.

How did you expect to quit the program?

I am not sure what to do with the bug report right now. If you can replicate the issue, I am happy to try it myself and fix it.

@josecascalho
Copy link

Hi
I have the same problem.
The brick is connected easily with the server. Pressing Center+Down keys ends the program but the brick keeps showing a blank screen. We are able to use the menu of the brick again only if we remove the battery.

@ensonic
Copy link
Contributor

ensonic commented Oct 22, 2018

Again, please do a screenshot of the program you run (or download the xml/python). I need more details to be able to reproduce here.

@DJuego
Copy link

DJuego commented Nov 3, 2018

[...] but the brick keeps showing a blank screen. [...]

@ensonic. My team have exactly the same problem that @josecascalho!
I admit that I have not seen him personally. When I do, I'll send you examples.

DJuego

P.S: It seems related with stretch. This problem arose immediately after migrating to stretch With jessie no problem. We are using the most updated and "pure" version (from snapshot-ev3dev-stretch-ev3-generic-2018-09-24.img). We have not installed anything.

@afgym-baeu
Copy link
Contributor

Same with ev3dev-stretch-ev3-generic-2018-11-13 in my case.

But I realised that this behaviour depends on how the openrobertalab.service is being started:

The fist time I call sudo systemctl unmask openrobertalab.service
and sudo systemctl start openrobertalab.service in the ssh everything works fine. When starting a program that does not use any output on the display (simple drive forward xy cm), the brick's display flashes to blank for a very short time and after that it shows the brickman menu while running the program.

After rebooting the EV3 (openroberatalab.service starts automatically now) and running the same program the display gets blank once and for all. I am not able to stop the openrobertalab.service by calling sudo systemctl stop openrobertalab.service - this call does not end until pressing ctrl+c in ssh.

When masking the openrobertalab.service again, rebooting the EV3, unmask the service and start it by the ssh command line everything works fine again. Therefore I think it is a systemctl / systemd / init.d / ev3dev issue that affects openroberta-ev3dev.

@DJuego
Copy link

DJuego commented Apr 14, 2019

Yes. I confirm this problem. :-( Blank screen in ev3dev stretch.

DJuego

@ensonic
Copy link
Contributor

ensonic commented Apr 17, 2019

is this with openrobertalab.service from git or from whatever is in the image? The main issue is that with supporting both jessie and stretch packing is becoming even more difficult and I have never done an official release for stretch, it is much older than what we have for jessie.
I need to do some git surgery and research how to move debian packaging files into branches to start releasing for stretch,

dlech added a commit to ev3dev/brickman that referenced this issue May 7, 2019
Disable console switching for openrobertalab to prevent lock up of brickman. This was partially done already, but it looks like we missed an instance.

Thre is a race condition where openrobertalab has probably already switched to graphics mode and so the system call to chvt hangs forever because it cannot switch consoles.

This is a temporary workaround to fix the lockup until a proper solution can be found. Currently, brickman will still be on the dispaly when openroberta programs are running. Ideally, the openroberta service should be updated to handle console switching to avoid the race condition.

Issue: OpenRoberta/robertalab-ev3dev#64
@dlech
Copy link
Contributor

dlech commented May 7, 2019

The critical problem of getting stuck on a blank screen is fixed in brickman v0.10.1. (There are still other issues with openroberta on ev3dev-stretch).

dlech added a commit to ev3dev/brickman that referenced this issue Jul 15, 2020
Disable console switching for openrobertalab to prevent lock up of brickman. This was partially done already, but it looks like we missed an instance.

Thre is a race condition where openrobertalab has probably already switched to graphics mode and so the system call to chvt hangs forever because it cannot switch consoles.

This is a temporary workaround to fix the lockup until a proper solution can be found. Currently, brickman will still be on the dispaly when openroberta programs are running. Ideally, the openroberta service should be updated to handle console switching to avoid the race condition.

Issue: OpenRoberta/robertalab-ev3dev#64
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants