Fwd: Re: After exiting weston all consoles not working anymore

Thilo Cestonaro thilo at cestona.ro
Fri Mar 20 03:32:02 PDT 2015


Further debuggin.

I added some debug output to weston-launch.
When the parent part (of the forks) recieves the SIGCHILD it calls the 
quit function.
And in there I added the debug output and the ioctl to set the text 
mode, never returns.

So it hangs in the kernel, right?

cheers
Thilo

Am 20.03.2015 08:54, schrieb Thilo Cestonaro:
> Am 19.03.2015 17:24, schrieb Derek Foreman:
>> On 19/03/15 09:58 AM, Thilo Cestonaro wrote:
>>> Further debugging.
>>> 
>>> I managed to start weston-launch from tty1 without --tty, --user and
>>> openvt as a normal user.
>>> 
>>> While weston is running I can switch between tty1-6 with Ctrl+Alt+FX.
>>> When I stop weston (Ctrl+Alt+Backspace), the display gets black and
>>> switching the consoles isn't possible anymore.
>>> 
>>> It looks like weston-launch recieves a SIGSEGV. At least gdb tells 
>>> this.
>>> Sadly I cant get any bt as the "program no longer exists" :(
>> 
>> ulimit -c unlimited
>> before you launch anything, and the segfaulting app should leave a 
>> core
>> file behind...
> 
> Will give it a try, thx.
> 
>> 
>> but I think what you really want to do is attach gdb to the running
>> weston process (gdp -p <pid>), not start weston-launch under gdb...
> 
> AFAI can see, weston actually exits correctly all the time. I attached
> gdbserver to weston in some tests.
> And if I start weston (as root) directly, it was working. No problems
> with weston directly.
> If I run weston-launch as root, I get the problems (or as normal user).
> 
>> 
>> Very surprised to see weston-launch receiving SIGSEGV.  Even so, it's
>> probably easier to attach gdb to weston-launch after starting it than 
>> to
>> go through all the trouble to use gdbsever.  :)
> 
> I'm on an embedded device which is running an ARM linux. I can't gdb 
> locally :).
> (the linux is build via openembedded core - bitbake)
> 
> 
>> 
>> Probably a silly suggestion, but can you try
>> weston-launch -- --use-pixman
>> and see if you get the same problem on exit?
> 
> Without logging? Will try.
> 
> 
>> 
>> If you're connecting over serial, I'm guessing you're not on typical
>> desktop hardware, so a potentially funny GL stack may be in the 
>> picture.
> 
> No hardware acceleration, no opengl, no mesa! Thats why I use
> drm-backend with pixman.
> 
>> 
>>> GDBServer outputs:
>>> Child terminated with signal = 0xb (SIGSEGV)
>>> 
>>> BUT, the script which I start weston-launch from (which holds only 
>>> one
>>> line which is the launch of weston-launch)
>>> is still running.... fork .... while(1) ?
>> 
>> If the script is just weston-launch, how did you hook up gdbserver?
> 
> gdbserver has an option to attach to a PID.
> gdbserver [OPTIONS] --attach COMM PID
> 
> 
>> 
>>> Any ideas how I can debug this?
>>> 
>>> Cheers,
>>> 
>>> Thilo
>>> 
>>> 
>>> -------- Originalnachricht --------
>>> Betreff: Re: After exiting weston all consoles not working anymore
>>> Datum: 19.03.2015 14:00
>>> Von: Thilo Cestonaro <thilo at cestona.ro>
>>> An: Pekka Paalanen <ppaalanen at gmail.com>
>>> Kopie: wayland-devel at lists.freedesktop.org
>>> 
>>>>> 
>>>>> > Is anything actually switching to vt7? I'm not sure what weston-launch
>>>>> > does there, usually it takes the current VT and you don't seem to be
>>>>> > telling openvt to switch.
>>>>> 
>>>>> Nothing is switching to tty7 as I'm connected via UART so different
>>>>> output.
>>>>> Anyway weston starts properly on tty7 and is displayed correctly on 
>>>>> the
>>>>> display.
>>>> 
>>>> Well, Weston may start and be displayed, but are you sure the local
>>>> console's current VT is VT7?
>>> 
>>> I can. If I connect a keyboard, Ctrl+Alt+F1 => Black screen, 
>>> Ctrl+Alt+F7
>>> => weston
>>> 
>>> 
>>>>> > Do you mean that the device stops responding in the network when you
>>>>> > say you can't open an ssh session? Like a kernel hang or panic?
>>>>> No, ssh can connect (I get the content of /etc/issue.net) but after 
>>>>> that
>>>>> it hangs and will not ask for the password.
>>>>> Or if I had an ssh connection already opend, and want to "ps aux" 
>>>>> if
>>>>> weston still running. I call "ps aux" and it will never show 
>>>>> anything or
>>>>> stop. It just hangs in there.
>>>> 
>>>> Huh. I wonder if Weston(-launch) is attempting to control the serial 
>>>> tty
>>>> somehow...
>>>> 
>>>> Does a simple 'echo foo' work instead of 'ps'?
>>> 
>>> further testing revealed, that if I'm fast enough ps aux will output
>>> stuff but stop at one point.
>>> 
>>> So I guess ps stops working, when "It" happens. Whatever "It" is.
>>> 
>>> 
>>>>> > Are you unable to switch vts after exiting weston?
>>>>> Ctrl+Alt+F1? Never tried, but I guess if I can, I would be able to
>>>>> login, cause a login via UART (which is the same as locally) hangs 
>>>>> too.
>>>> 
>>>> Well, would be nice to know if your serial tty is jammed or if it is
>>>> actually the login procedure... sounds like the tty, though. But 
>>>> that
>>>> doesn't explain ssh login getting stuck.
>>>> 
>>> 
>>> How can I check if tty is jammed?
>>> 
>>> 
>>>>> > weston-launch is the proper way, as a normal user. If you use
>>>>> > weston-launch with --tty, I think you usually also want --user other
>>>>> > than root. IIRC these two options usually go together.
>>>>> 
>>>>> I tried weston-launch without --tty too.
>>>> 
>>>> Unfortunately I don't have much experience in launching weston from 
>>>> a
>>>> serial connection. I would recommend still trying to use 
>>>> weston-launch
>>>> with both --tty and --user and using a normal user as the user, not
>>>> root.
>>>> 
>>>> You may need to be root to run openvt and/or weston-launch. Please 
>>>> try
>>>> also to make openvt switch (-s) to the new VT before it execs
>>>> weston-launch.
>>>> 
>>>> You might also try weston-launch with --tty and --user but without
>>>> openvt.
>>> 
>>> As --user is dedicated to root; weston-launch with --user and --tty
>>> starts but doesn't work either as
>>> XGD_RUNTIME_DIR is then root's not that from the user.
>>> -----
>>> libwayland: unable to open lockfile /run/user/0/wayland-0.lock check
>>> permissions
>>> -----
>>> 
>>> So currently I can run weston-launch only with openvt, with or 
>>> without
>>> --tty and not with --user.
>>> 
>>> 
>>> Any further ideas? ... As I run the app in kiosk mode and don't need 
>>> to
>>> stop weston, it is just annoying, that I have to reboot when I 
>>> sometimes
>>> need to restart weston.
>>> 
>>> Cheers,
>>> Thilo
>>> _______________________________________________
>>> wayland-devel mailing list
>>> wayland-devel at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel


More information about the wayland-devel mailing list