Bug 88312 - xf86-video-armsoc: causes X server crash in IgnoreClient upon VT switch (patch drafted)
Summary: xf86-video-armsoc: causes X server crash in IgnoreClient upon VT switch (patc...
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/armsoc (show other bugs)
Version: git
Hardware: ARM Linux (All)
: medium normal
Assignee: Paul Geary
QA Contact: Paul Geary
Depends on:
Reported: 2015-01-12 07:49 UTC by Alexei Colin
Modified: 2018-08-10 20:40 UTC (History)
0 users

See Also:
i915 platform:
i915 features:

Proposed patch that makes the problem go away (1.13 KB, text/plain)
2015-01-12 07:49 UTC, Alexei Colin
no flags Details

Description Alexei Colin 2015-01-12 07:49:17 UTC
Created attachment 112112 [details]
Proposed patch that makes the problem go away

X server dies with a segfault when attempting to switch  VT out of the X session into a console with Ctrl-Alt-Fn, after having started xserver from a VT with 'startx'.

Xserver version: 1.16.3, armsoc driver: latest git 459fcb44e, hardware: Hardkernel Odroid U3 (Exynos 4412). This happened for 'awesome' window manager, but not for other root clients (e.g. xterm), for the reason explained below. A patch is attached.

Upon VT enter/leave, the armsoc driver calls AttendClient/IgnoreClient for all clients present in the clients array. Some of these clients may be 'gone', ie. for which CloseDownConnection had been called, which cleared their private osPrivate pointer to NULL. IgnoreClient will dereference this pointer if called on a gone client.

The reason this manifested with 'awesome' WM is because it creates two connections to the server: one long lived, and another one only for setting the wallpaper. The latter one is closed and becomes the 'gone' client. As a confirmation, disabling wallpaper in user config script, disables this bug.

The attached patch adds a check of the client state before calling AttendClient/IgnoreClient. The patched version switches between VTs fine.
Comment 1 GitLab Migration User 2018-08-10 20:40:28 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/driver/xf86-video-armsoc/issues/1.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.