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