Issues with running Xclient using xwayland.

ashjas ashjas at gmail.com
Fri Jan 25 02:13:39 PST 2013


Hello,

I tried attaching the Xorg process to gdb to get a more detailed
backtrace.(by adding sleep to the child process)

here is the full backtrace from gdb:http://pastebin.com/pWE7px0S

as can be seen in the 3rd frame .. all seems to be fine as there are no
null values.
 xwl_screen->drm = wl_registry_bind(xwl_screen->registry, id,
                                           &wl_drm_interface, 1);

but when the xwl_screen->registry reaches to wl_registry_bind
(wl_registry=0x0, name=11, interface=0x7feb89670c60, version=1) here the
value becomes null. which propagates to function
wl_proxy_create (factory=0x0, interface=0x7feb89670c60)
where it segfaults at the line
struct wl_display *display = factory->display;

Any clues why?

Thanks

Regards,

Ashish



On Fri, Jan 25, 2013 at 10:07 AM, ashjas <ashjas at gmail.com> wrote:

> Hello Bill,
>
> Thanks for sending the patch.
> But after using it, my crash had no effect its still failing with the same
> log and at same place.
> I guess the problem is not what you had thought?
> Any other clues? Ill dig up more at my end in the meanwhile.
>
> Thanks for helping
>
> Regards,
> Ashish
>
>
> On Fri, Jan 25, 2013 at 1:47 AM, Bill Spitzak <spitzak at gmail.com> wrote:
>
>> ashjas wrote:
>> > Thanks Bill for that info.. after searching for your patch i found this
>> > discussion of what you indicated.. but i couldnot find the patch that
>> > you mentioned..
>> > http://lists.freedesktop.org/**archives/wayland-devel/2012-**
>> September/005203.html<http://lists.freedesktop.org/archives/wayland-devel/2012-September/005203.html>
>> >
>> > can you give me some pointers?
>> >
>> > Thanks.
>>
>> This allows X applications to be run on wayland without having to
>> delete conf files needed to run the legacy X server on the same
>> machine.
>>
>> The --config and --configdir switches can override these changes.
>>
>> An extra patch to xorg was needed, as it *always* looked for
>> xorg.conf.d. I changed it to not do this if --configdir or
>> --wayland was given.
>> ---
>>  hw/xfree86/common/xf86Config.c |    5 ++++-
>>  hw/xfree86/common/xf86Init.c   |    4 ++++
>>  2 files changed, 8 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/xfree86/common/**xf86Config.c b/hw/xfree86/common/**
>> xf86Config.c
>> index 3934ff0..2376889 100644
>> --- a/hw/xfree86/common/**xf86Config.c
>> +++ b/hw/xfree86/common/**xf86Config.c
>> @@ -2386,7 +2386,10 @@ xf86HandleConfigFile(Bool autoconfig)
>>              dirfrom = X_CMDLINE;
>>
>>          xf86initConfigFiles();
>> -        sysdirname = xf86openConfigDirFiles(SYS_**CONFIGDIRPATH, NULL,
>> +        if (xf86ConfigDir)
>> +            sysdirname = 0;
>> +        else
>> +            sysdirname = xf86openConfigDirFiles(SYS_**CONFIGDIRPATH,
>> NULL,
>>                                              PROJECTROOT);
>>          dirname = xf86openConfigDirFiles(**dirsearch, xf86ConfigDir,
>> PROJECTROOT);
>>          filename = xf86openConfigFile(filesearch, xf86ConfigFile,
>> PROJECTROOT);
>> diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
>> index a062929..b2a668c 100644
>> --- a/hw/xfree86/common/xf86Init.c
>> +++ b/hw/xfree86/common/xf86Init.c
>> @@ -1412,6 +1412,10 @@ ddxProcessArgument(int argc, char **argv, int i)
>>    if (!strcmp(argv[i], "-wayland"))
>>    {
>>      xorgWayland = TRUE;
>> +    if (!xf86ConfigFile)
>> +      xf86ConfigFile = "xwayland.conf";
>> +    if (!xf86ConfigDir)
>> +      xf86ConfigDir = "xwayland.conf.d";
>>      return 1;
>>    }
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20130125/138128b3/attachment.html>


More information about the wayland-devel mailing list