All of lore.kernel.org
 help / color / mirror / Atom feed
* xf86-video-imxfb-vivante crashing with Xorg 1.19
@ 2017-01-17  5:32 Gary Thomas
  2017-01-24 14:40 ` Gary Thomas
  0 siblings, 1 reply; 10+ messages in thread
From: Gary Thomas @ 2017-01-17  5:32 UTC (permalink / raw)
  To: meta-freescale

When I build for my i.MX6Q target, X crashes immediately.  This is a
direct result of OE-core updating the X server from 1.18.4 to 1.19
What I've been able to discover is that the video driver (xf86-video-imxfb-vivante)
is being called early on from 'AddScreen' in the main X server.  The
driver sets up a shared data structure DRIInfoRec like this:

VivDRIScreenInit: pDRIInfo: 0xb76e80, busIdString = 0xb76f38 ('platform:Vivante GCCore:00')
00B76E80: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
00B76E90: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
00B76EA0: 0000 0000 0000 0000  9401 1500 3C03 1500   |............<...|
00B76EB0: 9CCF 1400 B0D1 1400  1404 1500 38D3 1400   |............8...|
00B76EC0: B0D6 59B6 B8D6 59B6  386F B700 0000 0000   |..Y...Y.8o......|
00B76ED0: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
00B76EE0: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
00B76EF0: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
00B76F00: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
00B76F10: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
00B76F20: 0000 0000 0000 0000  0000 0000 0000 0000   |................|

but by the time the server gets to ProcXF86DRIOpenConnection, this structure
has been trashed:

DRIOpenConnection: pDRIPriv: 0xb76fc0, pDriverInfo: 0xb76e80, busIdString: 0x454d
00B76E80: E889 B700 C06E B700  0000 0000 0400 0000   |.....n..........|
00B76E90: FFFF FF7F FFFF FFFF  0000 0080 0000 0000   |................|
00B76EA0: 0200 0000 9018 0D00  DC18 0D00 0000 0000   |................|
00B76EB0: 2075 1D00 B88B B700  0000 0000 1100 0000   | u..............|
00B76EC0: 5345 5256 4552 5449  4D45 0000 2900 0000   |SERVERTIME..)...|
00B76ED0: 0000 0000 0000 0000  4C00 0000 00EC B000   |........L.......|
00B76EE0: 0000 0000 0000 0000  A95D 1A00 888B B700   |.........]......|
00B76EF0: 0100 0000 1900 0000  0000 0000 4C00 0000   |............L...|
00B76F00: 1600 0000 D06E B700  1800 0000 3900 0000   |.....n......9...|
00B76F10: 0100 0000 0000 0000  486F B700 8100 0000   |........Ho......|
00B76F20: 4000 0000 4100 0000  0000 0000 0000 0000   |@...A...........|
ProcXF86DRIOpenConnection: busIdString = 0x454d

I'm pretty sure that what's happening is near the end of AddScreen,
there is a call to dixRegisterScreenPrivateKey() which in turn
calls dixReallocPrivates() which seems to be relocating the DRIInfoRec
but the pointers used by DRIOpenConnection() are not updated.  The old
(non-relocated) structure gets reused and trashed and when DRIOpenConnection()
it picks up garbage.

I'm not sure what needs to change to fix this though.  Looking at the X server
code, I didn't find a lot of differences in/around this code path.  What I do
know is that reverting to xserver-xorg 1.18.4 absolutely works.

I'm using Poky/Yocto + meta-freescale layers (both on master)
   poky: 840e221ea7c35177fda37af618c4727fa7754789
   meta-freescale: a99b95c899e6c20b9f46fa04766c155e3a32949a

Has anyone else built X (not Wayland) recently using this codebase?  Anyone
else having the same issues?

Thanks

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xf86-video-imxfb-vivante crashing with Xorg 1.19
  2017-01-17  5:32 xf86-video-imxfb-vivante crashing with Xorg 1.19 Gary Thomas
@ 2017-01-24 14:40 ` Gary Thomas
  2017-01-24 15:32   ` Tom Hochstein
  0 siblings, 1 reply; 10+ messages in thread
From: Gary Thomas @ 2017-01-24 14:40 UTC (permalink / raw)
  To: meta-freescale

On 2017-01-17 06:32, Gary Thomas wrote:
> When I build for my i.MX6Q target, X crashes immediately.  This is a
> direct result of OE-core updating the X server from 1.18.4 to 1.19
> What I've been able to discover is that the video driver (xf86-video-imxfb-vivante)
> is being called early on from 'AddScreen' in the main X server.  The
> driver sets up a shared data structure DRIInfoRec like this:
>
> VivDRIScreenInit: pDRIInfo: 0xb76e80, busIdString = 0xb76f38 ('platform:Vivante GCCore:00')
> 00B76E80: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> 00B76E90: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> 00B76EA0: 0000 0000 0000 0000  9401 1500 3C03 1500   |............<...|
> 00B76EB0: 9CCF 1400 B0D1 1400  1404 1500 38D3 1400   |............8...|
> 00B76EC0: B0D6 59B6 B8D6 59B6  386F B700 0000 0000   |..Y...Y.8o......|
> 00B76ED0: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> 00B76EE0: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> 00B76EF0: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> 00B76F00: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> 00B76F10: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> 00B76F20: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
>
> but by the time the server gets to ProcXF86DRIOpenConnection, this structure
> has been trashed:
>
> DRIOpenConnection: pDRIPriv: 0xb76fc0, pDriverInfo: 0xb76e80, busIdString: 0x454d
> 00B76E80: E889 B700 C06E B700  0000 0000 0400 0000   |.....n..........|
> 00B76E90: FFFF FF7F FFFF FFFF  0000 0080 0000 0000   |................|
> 00B76EA0: 0200 0000 9018 0D00  DC18 0D00 0000 0000   |................|
> 00B76EB0: 2075 1D00 B88B B700  0000 0000 1100 0000   | u..............|
> 00B76EC0: 5345 5256 4552 5449  4D45 0000 2900 0000   |SERVERTIME..)...|
> 00B76ED0: 0000 0000 0000 0000  4C00 0000 00EC B000   |........L.......|
> 00B76EE0: 0000 0000 0000 0000  A95D 1A00 888B B700   |.........]......|
> 00B76EF0: 0100 0000 1900 0000  0000 0000 4C00 0000   |............L...|
> 00B76F00: 1600 0000 D06E B700  1800 0000 3900 0000   |.....n......9...|
> 00B76F10: 0100 0000 0000 0000  486F B700 8100 0000   |........Ho......|
> 00B76F20: 4000 0000 4100 0000  0000 0000 0000 0000   |@...A...........|
> ProcXF86DRIOpenConnection: busIdString = 0x454d
>
> I'm pretty sure that what's happening is near the end of AddScreen,
> there is a call to dixRegisterScreenPrivateKey() which in turn
> calls dixReallocPrivates() which seems to be relocating the DRIInfoRec
> but the pointers used by DRIOpenConnection() are not updated.  The old
> (non-relocated) structure gets reused and trashed and when DRIOpenConnection()
> it picks up garbage.
>
> I'm not sure what needs to change to fix this though.  Looking at the X server
> code, I didn't find a lot of differences in/around this code path.  What I do
> know is that reverting to xserver-xorg 1.18.4 absolutely works.
>
> I'm using Poky/Yocto + meta-freescale layers (both on master)
>   poky: 840e221ea7c35177fda37af618c4727fa7754789
>   meta-freescale: a99b95c899e6c20b9f46fa04766c155e3a32949a
>
> Has anyone else built X (not Wayland) recently using this codebase?  Anyone
> else having the same issues?

Is no-one else but me seeing this issue?  If not, what could I be doing wrong?
I'm building the same images (same config, etc) that I've been using for [literally]
years and now it breaks with this version of the X server.

At least an 'ack - I've read this and it's your problem' would be better
than total silence...

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xf86-video-imxfb-vivante crashing with Xorg 1.19
  2017-01-24 14:40 ` Gary Thomas
@ 2017-01-24 15:32   ` Tom Hochstein
  2017-01-24 15:37     ` Gary Thomas
  0 siblings, 1 reply; 10+ messages in thread
From: Tom Hochstein @ 2017-01-24 15:32 UTC (permalink / raw)
  To: Gary Thomas, meta-freescale

Hi Gary,

I am seeing a failure too. We're looking into it.

Tom

-----Original Message-----
From: Gary Thomas [mailto:gary@mlbassoc.com] 
Sent: Tuesday, January 24, 2017 8:41 AM
To: meta-freescale@yoctoproject.org
Cc: Tom Hochstein <tom.hochstein@nxp.com>; Lauren Post <lauren.post@nxp.com>
Subject: Re: [meta-freescale] xf86-video-imxfb-vivante crashing with Xorg 1.19

On 2017-01-17 06:32, Gary Thomas wrote:
> When I build for my i.MX6Q target, X crashes immediately.  This is a
> direct result of OE-core updating the X server from 1.18.4 to 1.19
> What I've been able to discover is that the video driver (xf86-video-imxfb-vivante)
> is being called early on from 'AddScreen' in the main X server.  The
> driver sets up a shared data structure DRIInfoRec like this:
>
> VivDRIScreenInit: pDRIInfo: 0xb76e80, busIdString = 0xb76f38 ('platform:Vivante GCCore:00')
> 00B76E80: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> 00B76E90: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> 00B76EA0: 0000 0000 0000 0000  9401 1500 3C03 1500   |............<...|
> 00B76EB0: 9CCF 1400 B0D1 1400  1404 1500 38D3 1400   |............8...|
> 00B76EC0: B0D6 59B6 B8D6 59B6  386F B700 0000 0000   |..Y...Y.8o......|
> 00B76ED0: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> 00B76EE0: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> 00B76EF0: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> 00B76F00: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> 00B76F10: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> 00B76F20: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
>
> but by the time the server gets to ProcXF86DRIOpenConnection, this structure
> has been trashed:
>
> DRIOpenConnection: pDRIPriv: 0xb76fc0, pDriverInfo: 0xb76e80, busIdString: 0x454d
> 00B76E80: E889 B700 C06E B700  0000 0000 0400 0000   |.....n..........|
> 00B76E90: FFFF FF7F FFFF FFFF  0000 0080 0000 0000   |................|
> 00B76EA0: 0200 0000 9018 0D00  DC18 0D00 0000 0000   |................|
> 00B76EB0: 2075 1D00 B88B B700  0000 0000 1100 0000   | u..............|
> 00B76EC0: 5345 5256 4552 5449  4D45 0000 2900 0000   |SERVERTIME..)...|
> 00B76ED0: 0000 0000 0000 0000  4C00 0000 00EC B000   |........L.......|
> 00B76EE0: 0000 0000 0000 0000  A95D 1A00 888B B700   |.........]......|
> 00B76EF0: 0100 0000 1900 0000  0000 0000 4C00 0000   |............L...|
> 00B76F00: 1600 0000 D06E B700  1800 0000 3900 0000   |.....n......9...|
> 00B76F10: 0100 0000 0000 0000  486F B700 8100 0000   |........Ho......|
> 00B76F20: 4000 0000 4100 0000  0000 0000 0000 0000   |@...A...........|
> ProcXF86DRIOpenConnection: busIdString = 0x454d
>
> I'm pretty sure that what's happening is near the end of AddScreen,
> there is a call to dixRegisterScreenPrivateKey() which in turn
> calls dixReallocPrivates() which seems to be relocating the DRIInfoRec
> but the pointers used by DRIOpenConnection() are not updated.  The old
> (non-relocated) structure gets reused and trashed and when DRIOpenConnection()
> it picks up garbage.
>
> I'm not sure what needs to change to fix this though.  Looking at the X server
> code, I didn't find a lot of differences in/around this code path.  What I do
> know is that reverting to xserver-xorg 1.18.4 absolutely works.
>
> I'm using Poky/Yocto + meta-freescale layers (both on master)
>   poky: 840e221ea7c35177fda37af618c4727fa7754789
>   meta-freescale: a99b95c899e6c20b9f46fa04766c155e3a32949a
>
> Has anyone else built X (not Wayland) recently using this codebase?  Anyone
> else having the same issues?

Is no-one else but me seeing this issue?  If not, what could I be doing wrong?
I'm building the same images (same config, etc) that I've been using for [literally]
years and now it breaks with this version of the X server.

At least an 'ack - I've read this and it's your problem' would be better
than total silence...

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xf86-video-imxfb-vivante crashing with Xorg 1.19
  2017-01-24 15:32   ` Tom Hochstein
@ 2017-01-24 15:37     ` Gary Thomas
  2017-01-31 20:14       ` Tom Hochstein
  0 siblings, 1 reply; 10+ messages in thread
From: Gary Thomas @ 2017-01-24 15:37 UTC (permalink / raw)
  To: Tom Hochstein, meta-freescale

On 2017-01-24 16:32, Tom Hochstein wrote:
> Hi Gary,
>
> I am seeing a failure too. We're looking into it.

Thanks for the feedback.  Looking forward to a resolution.  Let me know if
I can provide any more data to help diagnose the issue.

> -----Original Message-----
> From: Gary Thomas [mailto:gary@mlbassoc.com]
> Sent: Tuesday, January 24, 2017 8:41 AM
> To: meta-freescale@yoctoproject.org
> Cc: Tom Hochstein <tom.hochstein@nxp.com>; Lauren Post <lauren.post@nxp.com>
> Subject: Re: [meta-freescale] xf86-video-imxfb-vivante crashing with Xorg 1.19
>
> On 2017-01-17 06:32, Gary Thomas wrote:
>> When I build for my i.MX6Q target, X crashes immediately.  This is a
>> direct result of OE-core updating the X server from 1.18.4 to 1.19
>> What I've been able to discover is that the video driver (xf86-video-imxfb-vivante)
>> is being called early on from 'AddScreen' in the main X server.  The
>> driver sets up a shared data structure DRIInfoRec like this:
>>
>> VivDRIScreenInit: pDRIInfo: 0xb76e80, busIdString = 0xb76f38 ('platform:Vivante GCCore:00')
>> 00B76E80: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
>> 00B76E90: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
>> 00B76EA0: 0000 0000 0000 0000  9401 1500 3C03 1500   |............<...|
>> 00B76EB0: 9CCF 1400 B0D1 1400  1404 1500 38D3 1400   |............8...|
>> 00B76EC0: B0D6 59B6 B8D6 59B6  386F B700 0000 0000   |..Y...Y.8o......|
>> 00B76ED0: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
>> 00B76EE0: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
>> 00B76EF0: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
>> 00B76F00: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
>> 00B76F10: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
>> 00B76F20: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
>>
>> but by the time the server gets to ProcXF86DRIOpenConnection, this structure
>> has been trashed:
>>
>> DRIOpenConnection: pDRIPriv: 0xb76fc0, pDriverInfo: 0xb76e80, busIdString: 0x454d
>> 00B76E80: E889 B700 C06E B700  0000 0000 0400 0000   |.....n..........|
>> 00B76E90: FFFF FF7F FFFF FFFF  0000 0080 0000 0000   |................|
>> 00B76EA0: 0200 0000 9018 0D00  DC18 0D00 0000 0000   |................|
>> 00B76EB0: 2075 1D00 B88B B700  0000 0000 1100 0000   | u..............|
>> 00B76EC0: 5345 5256 4552 5449  4D45 0000 2900 0000   |SERVERTIME..)...|
>> 00B76ED0: 0000 0000 0000 0000  4C00 0000 00EC B000   |........L.......|
>> 00B76EE0: 0000 0000 0000 0000  A95D 1A00 888B B700   |.........]......|
>> 00B76EF0: 0100 0000 1900 0000  0000 0000 4C00 0000   |............L...|
>> 00B76F00: 1600 0000 D06E B700  1800 0000 3900 0000   |.....n......9...|
>> 00B76F10: 0100 0000 0000 0000  486F B700 8100 0000   |........Ho......|
>> 00B76F20: 4000 0000 4100 0000  0000 0000 0000 0000   |@...A...........|
>> ProcXF86DRIOpenConnection: busIdString = 0x454d
>>
>> I'm pretty sure that what's happening is near the end of AddScreen,
>> there is a call to dixRegisterScreenPrivateKey() which in turn
>> calls dixReallocPrivates() which seems to be relocating the DRIInfoRec
>> but the pointers used by DRIOpenConnection() are not updated.  The old
>> (non-relocated) structure gets reused and trashed and when DRIOpenConnection()
>> it picks up garbage.
>>
>> I'm not sure what needs to change to fix this though.  Looking at the X server
>> code, I didn't find a lot of differences in/around this code path.  What I do
>> know is that reverting to xserver-xorg 1.18.4 absolutely works.
>>
>> I'm using Poky/Yocto + meta-freescale layers (both on master)
>>   poky: 840e221ea7c35177fda37af618c4727fa7754789
>>   meta-freescale: a99b95c899e6c20b9f46fa04766c155e3a32949a
>>
>> Has anyone else built X (not Wayland) recently using this codebase?  Anyone
>> else having the same issues?
>
> Is no-one else but me seeing this issue?  If not, what could I be doing wrong?
> I'm building the same images (same config, etc) that I've been using for [literally]
> years and now it breaks with this version of the X server.
>
> At least an 'ack - I've read this and it's your problem' would be better
> than total silence...
>


-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xf86-video-imxfb-vivante crashing with Xorg 1.19
  2017-01-24 15:37     ` Gary Thomas
@ 2017-01-31 20:14       ` Tom Hochstein
  2017-02-08 12:06         ` Gary Thomas
  0 siblings, 1 reply; 10+ messages in thread
From: Tom Hochstein @ 2017-01-31 20:14 UTC (permalink / raw)
  To: Gary Thomas, meta-freescale; +Cc: Prabhu Sundararaj



> -----Original Message-----
> From: Gary Thomas [mailto:gary@mlbassoc.com]
> Sent: Tuesday, January 24, 2017 9:37 AM
> To: Tom Hochstein <tom.hochstein@nxp.com>; meta-freescale@yoctoproject.org
> Cc: Lauren Post <lauren.post@nxp.com>
> Subject: Re: [meta-freescale] xf86-video-imxfb-vivante crashing with Xorg 1.19
> 
> On 2017-01-24 16:32, Tom Hochstein wrote:
> > Hi Gary,
> >
> > I am seeing a failure too. We're looking into it.
> 
> Thanks for the feedback.  Looking forward to a resolution.  Let me know if
> I can provide any more data to help diagnose the issue.

I posted a patch from Prabhu to OE-core.

> 
> > -----Original Message-----
> > From: Gary Thomas [mailto:gary@mlbassoc.com]
> > Sent: Tuesday, January 24, 2017 8:41 AM
> > To: meta-freescale@yoctoproject.org
> > Cc: Tom Hochstein <tom.hochstein@nxp.com>; Lauren Post <lauren.post@nxp.com>
> > Subject: Re: [meta-freescale] xf86-video-imxfb-vivante crashing with Xorg 1.19
> >
> > On 2017-01-17 06:32, Gary Thomas wrote:
> >> When I build for my i.MX6Q target, X crashes immediately.  This is a
> >> direct result of OE-core updating the X server from 1.18.4 to 1.19
> >> What I've been able to discover is that the video driver (xf86-video-imxfb-vivante)
> >> is being called early on from 'AddScreen' in the main X server.  The
> >> driver sets up a shared data structure DRIInfoRec like this:
> >>
> >> VivDRIScreenInit: pDRIInfo: 0xb76e80, busIdString = 0xb76f38 ('platform:Vivante GCCore:00')
> >> 00B76E80: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> >> 00B76E90: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> >> 00B76EA0: 0000 0000 0000 0000  9401 1500 3C03 1500   |............<...|
> >> 00B76EB0: 9CCF 1400 B0D1 1400  1404 1500 38D3 1400   |............8...|
> >> 00B76EC0: B0D6 59B6 B8D6 59B6  386F B700 0000 0000   |..Y...Y.8o......|
> >> 00B76ED0: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> >> 00B76EE0: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> >> 00B76EF0: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> >> 00B76F00: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> >> 00B76F10: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> >> 00B76F20: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
> >>
> >> but by the time the server gets to ProcXF86DRIOpenConnection, this structure
> >> has been trashed:
> >>
> >> DRIOpenConnection: pDRIPriv: 0xb76fc0, pDriverInfo: 0xb76e80, busIdString: 0x454d
> >> 00B76E80: E889 B700 C06E B700  0000 0000 0400 0000   |.....n..........|
> >> 00B76E90: FFFF FF7F FFFF FFFF  0000 0080 0000 0000   |................|
> >> 00B76EA0: 0200 0000 9018 0D00  DC18 0D00 0000 0000   |................|
> >> 00B76EB0: 2075 1D00 B88B B700  0000 0000 1100 0000   | u..............|
> >> 00B76EC0: 5345 5256 4552 5449  4D45 0000 2900 0000   |SERVERTIME..)...|
> >> 00B76ED0: 0000 0000 0000 0000  4C00 0000 00EC B000   |........L.......|
> >> 00B76EE0: 0000 0000 0000 0000  A95D 1A00 888B B700   |.........]......|
> >> 00B76EF0: 0100 0000 1900 0000  0000 0000 4C00 0000   |............L...|
> >> 00B76F00: 1600 0000 D06E B700  1800 0000 3900 0000   |.....n......9...|
> >> 00B76F10: 0100 0000 0000 0000  486F B700 8100 0000   |........Ho......|
> >> 00B76F20: 4000 0000 4100 0000  0000 0000 0000 0000   |@...A...........|
> >> ProcXF86DRIOpenConnection: busIdString = 0x454d
> >>
> >> I'm pretty sure that what's happening is near the end of AddScreen,
> >> there is a call to dixRegisterScreenPrivateKey() which in turn
> >> calls dixReallocPrivates() which seems to be relocating the DRIInfoRec
> >> but the pointers used by DRIOpenConnection() are not updated.  The old
> >> (non-relocated) structure gets reused and trashed and when DRIOpenConnection()
> >> it picks up garbage.
> >>
> >> I'm not sure what needs to change to fix this though.  Looking at the X server
> >> code, I didn't find a lot of differences in/around this code path.  What I do
> >> know is that reverting to xserver-xorg 1.18.4 absolutely works.
> >>
> >> I'm using Poky/Yocto + meta-freescale layers (both on master)
> >>   poky: 840e221ea7c35177fda37af618c4727fa7754789
> >>   meta-freescale: a99b95c899e6c20b9f46fa04766c155e3a32949a
> >>
> >> Has anyone else built X (not Wayland) recently using this codebase?  Anyone
> >> else having the same issues?
> >
> > Is no-one else but me seeing this issue?  If not, what could I be doing wrong?
> > I'm building the same images (same config, etc) that I've been using for [literally]
> > years and now it breaks with this version of the X server.
> >
> > At least an 'ack - I've read this and it's your problem' would be better
> > than total silence...
> >
> 
> 
> --
> ------------------------------------------------------------
> Gary Thomas                 |  Consulting for the
> MLB Associates              |    Embedded world
> ------------------------------------------------------------


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xf86-video-imxfb-vivante crashing with Xorg 1.19
  2017-01-31 20:14       ` Tom Hochstein
@ 2017-02-08 12:06         ` Gary Thomas
  0 siblings, 0 replies; 10+ messages in thread
From: Gary Thomas @ 2017-02-08 12:06 UTC (permalink / raw)
  To: meta-freescale

On 2017-01-31 21:14, Tom Hochstein wrote:
>
>
>> -----Original Message-----
>> From: Gary Thomas [mailto:gary@mlbassoc.com]
>> Sent: Tuesday, January 24, 2017 9:37 AM
>> To: Tom Hochstein <tom.hochstein@nxp.com>; meta-freescale@yoctoproject.org
>> Cc: Lauren Post <lauren.post@nxp.com>
>> Subject: Re: [meta-freescale] xf86-video-imxfb-vivante crashing with Xorg 1.19
>>
>> On 2017-01-24 16:32, Tom Hochstein wrote:
>>> Hi Gary,
>>>
>>> I am seeing a failure too. We're looking into it.
>>
>> Thanks for the feedback.  Looking forward to a resolution.  Let me know if
>> I can provide any more data to help diagnose the issue.
>
> I posted a patch from Prabhu to OE-core.

I tested this and it does seem to work again, thanks (I'm not sure what change
made it work, but I'm happy one was found).

Sorry for the delayed follow-up - I was away on holiday.

>
>>
>>> -----Original Message-----
>>> From: Gary Thomas [mailto:gary@mlbassoc.com]
>>> Sent: Tuesday, January 24, 2017 8:41 AM
>>> To: meta-freescale@yoctoproject.org
>>> Cc: Tom Hochstein <tom.hochstein@nxp.com>; Lauren Post <lauren.post@nxp.com>
>>> Subject: Re: [meta-freescale] xf86-video-imxfb-vivante crashing with Xorg 1.19
>>>
>>> On 2017-01-17 06:32, Gary Thomas wrote:
>>>> When I build for my i.MX6Q target, X crashes immediately.  This is a
>>>> direct result of OE-core updating the X server from 1.18.4 to 1.19
>>>> What I've been able to discover is that the video driver (xf86-video-imxfb-vivante)
>>>> is being called early on from 'AddScreen' in the main X server.  The
>>>> driver sets up a shared data structure DRIInfoRec like this:
>>>>
>>>> VivDRIScreenInit: pDRIInfo: 0xb76e80, busIdString = 0xb76f38 ('platform:Vivante GCCore:00')
>>>> 00B76E80: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
>>>> 00B76E90: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
>>>> 00B76EA0: 0000 0000 0000 0000  9401 1500 3C03 1500   |............<...|
>>>> 00B76EB0: 9CCF 1400 B0D1 1400  1404 1500 38D3 1400   |............8...|
>>>> 00B76EC0: B0D6 59B6 B8D6 59B6  386F B700 0000 0000   |..Y...Y.8o......|
>>>> 00B76ED0: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
>>>> 00B76EE0: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
>>>> 00B76EF0: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
>>>> 00B76F00: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
>>>> 00B76F10: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
>>>> 00B76F20: 0000 0000 0000 0000  0000 0000 0000 0000   |................|
>>>>
>>>> but by the time the server gets to ProcXF86DRIOpenConnection, this structure
>>>> has been trashed:
>>>>
>>>> DRIOpenConnection: pDRIPriv: 0xb76fc0, pDriverInfo: 0xb76e80, busIdString: 0x454d
>>>> 00B76E80: E889 B700 C06E B700  0000 0000 0400 0000   |.....n..........|
>>>> 00B76E90: FFFF FF7F FFFF FFFF  0000 0080 0000 0000   |................|
>>>> 00B76EA0: 0200 0000 9018 0D00  DC18 0D00 0000 0000   |................|
>>>> 00B76EB0: 2075 1D00 B88B B700  0000 0000 1100 0000   | u..............|
>>>> 00B76EC0: 5345 5256 4552 5449  4D45 0000 2900 0000   |SERVERTIME..)...|
>>>> 00B76ED0: 0000 0000 0000 0000  4C00 0000 00EC B000   |........L.......|
>>>> 00B76EE0: 0000 0000 0000 0000  A95D 1A00 888B B700   |.........]......|
>>>> 00B76EF0: 0100 0000 1900 0000  0000 0000 4C00 0000   |............L...|
>>>> 00B76F00: 1600 0000 D06E B700  1800 0000 3900 0000   |.....n......9...|
>>>> 00B76F10: 0100 0000 0000 0000  486F B700 8100 0000   |........Ho......|
>>>> 00B76F20: 4000 0000 4100 0000  0000 0000 0000 0000   |@...A...........|
>>>> ProcXF86DRIOpenConnection: busIdString = 0x454d
>>>>
>>>> I'm pretty sure that what's happening is near the end of AddScreen,
>>>> there is a call to dixRegisterScreenPrivateKey() which in turn
>>>> calls dixReallocPrivates() which seems to be relocating the DRIInfoRec
>>>> but the pointers used by DRIOpenConnection() are not updated.  The old
>>>> (non-relocated) structure gets reused and trashed and when DRIOpenConnection()
>>>> it picks up garbage.
>>>>
>>>> I'm not sure what needs to change to fix this though.  Looking at the X server
>>>> code, I didn't find a lot of differences in/around this code path.  What I do
>>>> know is that reverting to xserver-xorg 1.18.4 absolutely works.
>>>>
>>>> I'm using Poky/Yocto + meta-freescale layers (both on master)
>>>>   poky: 840e221ea7c35177fda37af618c4727fa7754789
>>>>   meta-freescale: a99b95c899e6c20b9f46fa04766c155e3a32949a
>>>>
>>>> Has anyone else built X (not Wayland) recently using this codebase?  Anyone
>>>> else having the same issues?
>>>
>>> Is no-one else but me seeing this issue?  If not, what could I be doing wrong?
>>> I'm building the same images (same config, etc) that I've been using for [literally]
>>> years and now it breaks with this version of the X server.
>>>
>>> At least an 'ack - I've read this and it's your problem' would be better
>>> than total silence...

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xf86-video-imxfb-vivante crashing with Xorg 1.19
  2017-02-01 17:32 ` Tom Hochstein
@ 2017-02-01 17:33   ` Alfredo J. Cabral Hinojosa
  0 siblings, 0 replies; 10+ messages in thread
From: Alfredo J. Cabral Hinojosa @ 2017-02-01 17:33 UTC (permalink / raw)
  To: Tom Hochstein; +Cc: meta-freescale

[-- Attachment #1: Type: text/plain, Size: 823 bytes --]

Awesome,
Thanks Tom.

BR
Alfredo J. Cabral Hinojosa
Prol. Paseo de la Reforma 1015 Torre B Piso 6.
Col. Desarrollo Santa Fe, 05200, Cuajimalpa de Morelos, México D.F.

www.code-ing.com
Teléfono: +52 55 21 63 59 25
Celular: +52 55 43 56 64 04

> On Feb 1, 2017, at 11:32 AM, Tom Hochstein <tom.hochstein@nxp.com> wrote:
> 
> 
> 
>> -----Original Message-----
>> From: Alfredo J. Cabral Hinojosa [mailto:alfredo.cabral@code-ing.com]
>> Sent: Wednesday, February 01, 2017 11:24 AM
>> To: Tom Hochstein <tom.hochstein@nxp.com>
>> Cc: meta-freescale@yoctoproject.org
>> Subject: Re: [meta-freescale] xf86-video-imxfb-vivante crashing with Xorg 1.19
>> 
>> Hello Tom,
>> 
>> Can you share the link to the patch? can’t find it.
>> 
>> Thanks!
> <0001-xserver-xorg-Fix-X-server-1.19-crash.patch>


[-- Attachment #2: Type: text/html, Size: 3052 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xf86-video-imxfb-vivante crashing with Xorg 1.19
  2017-02-01 17:23 Alfredo J. Cabral Hinojosa
@ 2017-02-01 17:32 ` Tom Hochstein
  2017-02-01 17:33   ` Alfredo J. Cabral Hinojosa
  0 siblings, 1 reply; 10+ messages in thread
From: Tom Hochstein @ 2017-02-01 17:32 UTC (permalink / raw)
  To: Alfredo J. Cabral Hinojosa; +Cc: meta-freescale

[-- Attachment #1: Type: text/plain, Size: 414 bytes --]



> -----Original Message-----
> From: Alfredo J. Cabral Hinojosa [mailto:alfredo.cabral@code-ing.com]
> Sent: Wednesday, February 01, 2017 11:24 AM
> To: Tom Hochstein <tom.hochstein@nxp.com>
> Cc: meta-freescale@yoctoproject.org
> Subject: Re: [meta-freescale] xf86-video-imxfb-vivante crashing with Xorg 1.19
> 
> Hello Tom,
> 
> Can you share the link to the patch? can’t find it.
> 
> Thanks!

[-- Attachment #2: 0001-xserver-xorg-Fix-X-server-1.19-crash.patch --]
[-- Type: application/octet-stream, Size: 3318 bytes --]

From d39d1c61c06243710ce179fe1cde9cfa8e82929f Mon Sep 17 00:00:00 2001
From: Tom Hochstein <tom.hochstein@nxp.com>
Date: Tue, 31 Jan 2017 11:37:03 -0600
Subject: [OE-core][PATCH v3] xserver-xorg: Fix X server 1.19 crash

Commit 6a5a4e60373c1386b311b2a8bb666c32d68a9d99 removes the configure of
useSIGIO option:

xfree86 SIGIO support is reworked to use internal versions of
OsBlockSIGIO and OsReleaseSIGIO

The check for useSIGIO is no longer needed.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
---
 .../0003-Remove-check-for-useSIGIO-option.patch    | 47 ++++++++++++++++++++++
 .../xorg-xserver/xserver-xorg_1.19.1.bb            |  1 +
 2 files changed, 48 insertions(+)
 create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch

diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch
new file mode 100644
index 0000000..beed6cb
--- /dev/null
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch
@@ -0,0 +1,47 @@
+From cf407b16cd65ad6e26a9c8e5984e163409a5c0f7 Mon Sep 17 00:00:00 2001
+From: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
+Date: Mon, 30 Jan 2017 16:32:06 -0600
+Subject: [PATCH] Remove check for useSIGIO option
+
+Commit 6a5a4e60373c1386b311b2a8bb666c32d68a9d99 removes the configure of useSIGIO
+option.
+
+As the xfree86 SIGIO support is reworked to use internal versions of OsBlockSIGIO
+and OsReleaseSIGIO.
+
+No longer the check for useSIGIO is needed
+
+Upstream-Status: Pending
+
+Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
+---
+ hw/xfree86/os-support/shared/sigio.c | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/hw/xfree86/os-support/shared/sigio.c b/hw/xfree86/os-support/shared/sigio.c
+index 884a71c..be76498 100644
+--- a/hw/xfree86/os-support/shared/sigio.c
++++ b/hw/xfree86/os-support/shared/sigio.c
+@@ -185,9 +185,6 @@ xf86InstallSIGIOHandler(int fd, void (*f) (int, void *), void *closure)
+     int i;
+     int installed = FALSE;
+ 
+-    if (!xf86Info.useSIGIO)
+-        return 0;
+-
+     for (i = 0; i < MAX_FUNCS; i++) {
+         if (!xf86SigIOFuncs[i].f) {
+             if (xf86IsPipe(fd))
+@@ -256,9 +253,6 @@ xf86RemoveSIGIOHandler(int fd)
+     int max;
+     int ret;
+ 
+-    if (!xf86Info.useSIGIO)
+-        return 0;
+-
+     max = 0;
+     ret = 0;
+     for (i = 0; i < MAX_FUNCS; i++) {
+-- 
+2.7.4
+
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.1.bb b/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.1.bb
index 987a2be..5a657e0 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.1.bb
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.19.1.bb
@@ -3,6 +3,7 @@ require xserver-xorg.inc
 SRC_URI += "file://musl-arm-inb-outb.patch \
             file://0001-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch \
             file://0002-configure.ac-Fix-wayland-scanner-and-protocols-locat.patch \
+            file://0003-Remove-check-for-useSIGIO-option.patch \
             "
 SRC_URI[md5sum] = "caa8ee7b2950abbf734347d137529fb6"
 SRC_URI[sha256sum] = "79ae2cf39d3f6c4a91201d8dad549d1d774b3420073c5a70d390040aa965a7fb"
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: xf86-video-imxfb-vivante crashing with Xorg 1.19
@ 2017-02-01 17:23 Alfredo J. Cabral Hinojosa
  2017-02-01 17:32 ` Tom Hochstein
  0 siblings, 1 reply; 10+ messages in thread
From: Alfredo J. Cabral Hinojosa @ 2017-02-01 17:23 UTC (permalink / raw)
  To: tom.hochstein; +Cc: meta-freescale

Hello Tom,

Can you share the link to the patch? can’t find it.

Thanks!

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: xf86-video-imxfb-vivante crashing with Xorg 1.19
@ 2017-01-24 17:23 Alfredo José Cabral Hinojosa
  0 siblings, 0 replies; 10+ messages in thread
From: Alfredo José Cabral Hinojosa @ 2017-01-24 17:23 UTC (permalink / raw)
  To: meta-freescale

I'm experiencing the same issue, using xorg 1.19.1 and driver 5.0.11p8.6 kernel 4.1.15-2.0.0

Alfredo J Cabral Hinojosa
CODE


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2017-02-08 12:06 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-17  5:32 xf86-video-imxfb-vivante crashing with Xorg 1.19 Gary Thomas
2017-01-24 14:40 ` Gary Thomas
2017-01-24 15:32   ` Tom Hochstein
2017-01-24 15:37     ` Gary Thomas
2017-01-31 20:14       ` Tom Hochstein
2017-02-08 12:06         ` Gary Thomas
2017-01-24 17:23 Alfredo José Cabral Hinojosa
2017-02-01 17:23 Alfredo J. Cabral Hinojosa
2017-02-01 17:32 ` Tom Hochstein
2017-02-01 17:33   ` Alfredo J. Cabral Hinojosa

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.