Fwd: Re: After exiting weston all consoles not working anymore
Thilo Cestonaro
thilo at cestona.ro
Fri Mar 20 00:54:23 PDT 2015
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
More information about the wayland-devel
mailing list