Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

switch to recent devPrivates ABI (as used in X.org's Xserver) #560

Open
wants to merge 44 commits into
base: 3.6.x
Choose a base branch
from

Conversation

sunweaver
Copy link
Member

No description provided.

@sunweaver sunweaver requested a review from uli42 November 21, 2017 10:36
@sunweaver sunweaver changed the title switch to recent devPrivates abi (as used in X.org's Xserver) switch to recent devPrivates ABI (as used in X.org's Xserver) Nov 21, 2017
@@ -266,17 +264,15 @@ XvScreenInit(ScreenPtr pScreen)
ErrorF("XvScreenInit: Unable to allocate resource types\n");
return BadAlloc;
}
if (XvScreenIndex < 0)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is that variable also removed? I have not seen it at a first glance..

@uli42
Copy link
Member

uli42 commented Nov 21, 2017

Program received signal SIGBUS, Bus error.
fixup_visuals (screen=0) at xf86glx.c:551
551             const int vis_class = _gl_convert_to_x_visual_type( modes->visualType );
(gdb) bt
#0  fixup_visuals (screen=0) at xf86glx.c:551
#1  __MESA_screenProbe (screen=0) at xf86glx.c:679
#2  0x000000000059b10c in __glXScreenInit (numscreens=1) at glxscreens.c:337
#3  0x0000000000443103 in GlxExtensionInit () at ../../GL/glx/glxext.c:282
#4  0x000000000040f795 in InitExtensions (argc=argc@entry=2, argv=argv@entry=0x7fffffffdcd8) at miinitext.c:447
#5  0x000000000040edc4 in main (argc=2, argv=0x7fffffffdcd8, envp=<optimized out>) at main.c:280

@uli42
Copy link
Member

uli42 commented Nov 21, 2017

Running nxagent -extension GLX :55 results in this:

error opening security policy file /usr/local/lib/nx/X11/xserver/SecurityPolicy
*** Error in `/home/uli/work/nx/ArcticaProject/nx-libs/nx-X11/programs/Xserver/nxagent': malloc(): memory corruption: 0x0000000000be3510 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7ffff51e07e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x8181e)[0x7ffff51ea81e]
/lib/x86_64-linux-gnu/libc.so.6(__libc_malloc+0x54)[0x7ffff51ec5d4]
/home/uli/work/nx/ArcticaProject/nx-libs/nx-X11/programs/Xserver/nxagent[0x47728f]
/home/uli/work/nx/ArcticaProject/nx-libs/nx-X11/programs/Xserver/nxagent[0x465015]
/home/uli/work/nx/ArcticaProject/nx-libs/nx-X11/programs/Xserver/nxagent[0x46544e]
/home/uli/work/nx/ArcticaProject/nx-libs/nx-X11/programs/Xserver/nxagent[0x40ee13]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7ffff5189830]
/home/uli/work/nx/ArcticaProject/nx-libs/nx-X11/programs/Xserver/nxagent[0x40f459]
======= Memory map: ========
00400000-0092f000 r-xp 00000000 08:01 4330438                            /home/uli/work/nx/ArcticaProject/nx-libs/nx-X11/programs/Xserver/nxagent
00b2e000-00b2f000 r--p 0052e000 08:01 4330438                            /home/uli/work/nx/ArcticaProject/nx-libs/nx-X11/programs/Xserver/nxagent
00b2f000-00b61000 rw-p 0052f000 08:01 4330438                            /home/uli/work/nx/ArcticaProject/nx-libs/nx-X11/programs/Xserver/nxagent
00b61000-00c02000 rw-p 00000000 00:00 0                                  [heap]
7fffe8000000-7fffe8021000 rw-p 00000000 00:00 0 
7fffe8021000-7fffec000000 ---p 00000000 00:00 0 
7fffeff46000-7ffff130d000 rw-p 00000000 00:00 0 
7ffff130d000-7ffff130f000 r-xp 00000000 08:01 11149103                   /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7ffff130f000-7ffff150f000 ---p 00002000 08:01 11149103                   /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7ffff150f000-7ffff1510000 r--p 00002000 08:01 11149103                   /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7ffff1510000-7ffff1511000 rw-p 00003000 08:01 11149103                   /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7ffff1511000-7ffff2dc7000 r-xp 00000000 08:01 11144201                   /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7ffff2dc7000-7ffff2fc6000 ---p 018b6000 08:01 11144201                   /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7ffff2fc6000-7ffff2fc7000 r--p 018b5000 08:01 11144201                   /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7ffff2fc7000-7ffff2fc8000 rw-p 018b6000 08:01 11144201                   /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7ffff2fc8000-7ffff2fe9000 r-xp 00000000 08:01 11149791                   /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7ffff2fe9000-7ffff31e8000 ---p 00021000 08:01 11149791                   /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7ffff31e8000-7ffff31e9000 r--p 00020000 08:01 11149791                   /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7ffff31e9000-7ffff31ea000 rw-p 00021000 08:01 11149791                   /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7ffff31ea000-7ffff3202000 r-xp 00000000 08:01 11933057                   /lib/x86_64-linux-gnu/libpthread-2.23.so
7ffff3202000-7ffff3401000 ---p 00018000 08:01 11933057                   /lib/x86_64-linux-gnu/libpthread-2.23.so
7ffff3401000-7ffff3402000 r--p 00017000 08:01 11933057                   /lib/x86_64-linux-gnu/libpthread-2.23.so
7ffff3402000-7ffff3403000 rw-p 00018000 08:01 11933057                   /lib/x86_64-linux-gnu/libpthread-2.23.so
7ffff3403000-7ffff3407000 rw-p 00000000 00:00 0 
7ffff3407000-7ffff3428000 r-xp 00000000 08:01 11931561                   /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7ffff3428000-7ffff3627000 ---p 00021000 08:01 11931561                   /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7ffff3627000-7ffff3628000 r--p 00020000 08:01 11931561                   /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7ffff3628000-7ffff3629000 rw-p 00021000 08:01 11931561                   /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7ffff3629000-7ffff37a8000 r-xp 00000000 08:01 11144219                   /usr/lib/x86_64-linux-gnu/libicuuc.so.55.1
7ffff37a8000-7ffff39a8000 ---p 0017f000 08:01 11144219                   /usr/lib/x86_64-linux-gnu/libicuuc.so.55.1
7ffff39a8000-7ffff39b8000 r--p 0017f000 08:01 11144219                   /usr/lib/x86_64-linux-gnu/libicuuc.so.55.1
7ffff39b8000-7ffff39b9000 rw-p 0018f000 08:01 11144219                   /usr/lib/x86_64-linux-gnu/libicuuc.so.55.1
7ffff39b9000-7ffff39bd000 rw-p 00000000 00:00 0 
7ffff39bd000-7ffff39c0000 r-xp 00000000 08:01 11933038                   /lib/x86_64-linux-gnu/libdl-2.23.so
7ffff39c0000-7ffff3bbf000 ---p 00003000 08:01 11933038                   /lib/x86_64-linux-gnu/libdl-2.23.so
7ffff3bbf000-7ffff3bc0000 r--p 00002000 08:01 11933038                   /lib/x86_64-linux-gnu/libdl-2.23.so
7ffff3bc0000-7ffff3bc1000 rw-p 00003000 08:01 11933038                   /lib/x86_64-linux-gnu/libdl-2.23.so
7ffff3bc1000-7ffff3bc7000 r-xp 00000000 08:01 11166186                   /usr/lib/x86_64-linux-gnu/libfontenc.so.1.0.0
7ffff3bc7000-7ffff3dc6000 ---p 00006000 08:01 11166186                   /usr/lib/x86_64-linux-gnu/libfontenc.so.1.0.0
7ffff3dc6000-7ffff3dc7000 r--p 00005000 08:01 11166186                   /usr/lib/x86_64-linux-gnu/libfontenc.so.1.0.0
7ffff3dc7000-7ffff3dc8000 rw-p 00006000 08:01 11166186                   /usr/lib/x86_64-linux-gnu/libfontenc.so.1.0.0
7ffff3dc8000-7ffff3dc9000 rw-p 00000000 00:00 0 
7ffff3dc9000-7ffff3dd8000 r-xp 00000000 08:01 11927755                   /lib/x86_64-linux-gnu/libbz2.so.1.0.4
7ffff3dd8000-7ffff3fd7000 ---p 0000f000 08:01 11927755                   /lib/x86_64-linux-gnu/libbz2.so.1.0.4
7ffff3fd7000-7ffff3fd8000 r--p 0000e000 08:01 11927755                   /lib/x86_64-linux-gnu/libbz2.so.1.0.4
7ffff3fd8000-7ffff3fd9000 rw-p 0000f000 08:01 11927755                   /lib/x86_64-linux-gnu/libbz2.so.1.0.4
7ffff3fd9000-7ffff407d000 r-xp 00000000 08:01 11141159                   /usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.1
7ffff407d000-7ffff427c000 ---p 000a4000 08:01 11141159                   /usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.1
7ffff427c000-7ffff4282000 r--p 000a3000 08:01 11141159                   /usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.1
7ffff4282000-7ffff4283000 rw-p 000a9000 08:01 11141159                   /usr/lib/x86_64-linux-gnu/libfreetype.so.6.12.1
7ffff4283000-7ffff43b8000 r-xp 00000000 08:01 11150445                   /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7ffff43b8000-7ffff45b8000 ---p 00135000 08:01 11150445                   /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7ffff45b8000-7ffff45b9000 r--p 00135000 08:01 11150445                   /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7ffff45b9000-7ffff45bd000 rw-p 00136000 08:01 11150445                   /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7ffff45bd000-7ffff45bf000 r-xp 00000000 08:01 11167803                   /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0
7ffff45bf000-7ffff47be000 ---p 00002000 08:01 11167803                   /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0
7ffff47be000-7ffff47bf000 r--p 00001000 08:01 11167803                   /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0
7ffff47bf000-7ffff47c0000 rw-p 00002000 08:01 11167803                   /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0
7ffff47c0000-7ffff47ca000 r-xp 00000000 08:01 11149985                   /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0
7ffff47ca000-7ffff49c9000 ---p 0000a000 08:01 11149985                   /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0
7ffff49c9000-7ffff49ca000 r--p 00009000 08:01 11149985                   /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0
7ffff49ca000-7ffff49cb000 rw-p 0000a000 08:01 11149985                   /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0
7ffff49cb000-7ffff49d0000 r-xp 00000000 08:01 11149144                   /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0
7ffff49d0000-7ffff4bcf000 ---p 00005000 08:01 11149144                   /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0
7ffff4bcf000-7ffff4bd0000 r--p 00004000 08:01 11149144                   /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0
7ffff4bd0000-7ffff4bd1000 rw-p 00005000 08:01 11149144                   /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0
7ffff4bd1000-7ffff4be7000 r-xp 00000000 08:01 11932986                   /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffff4be7000-7ffff4de6000 ---p 00016000 08:01 11932986                   /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffff4de6000-7ffff4de7000 rw-p 00015000 08:01 11932986                   /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffff4de7000-7ffff4f59000 r-xp 00000000 08:01 11147515                   /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7ffff4f59000-7ffff5159000 ---p 00172000 08:01 11147515                   /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7ffff5159000-7ffff5163000 r--p 00172000 08:01 11147515                   /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7ffff5163000-7ffff5165000 rw-p 0017c000 08:01 11147515                   /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7ffff5165000-7ffff5169000 rw-p 00000000 00:00 0 
7ffff5169000-7ffff5328000 r-xp 00000000 08:01 11933044                   /lib/x86_64-linux-gnu/libc-2.23.so
7ffff5328000-7ffff5528000 ---p 001bf000 08:01 11933044                   /lib/x86_64-linux-gnu/libc-2.23.so
7ffff5528000-7ffff552c000 r--p 001bf000 08:01 11933044                   /lib/x86_64-linux-gnu/libc-2.23.so
7ffff552c000-7ffff552e000 rw-p 001c3000 08:01 11933044                   /lib/x86_64-linux-gnu/libc-2.23.so
7ffff552e000-7ffff5532000 rw-p 00000000 00:00 0 
7ffff5532000-7ffff5589000 r-xp 00000000 08:01 11143238                   /usr/lib/x86_64-linux-gnu/libjpeg.so.8.0.2
7ffff5589000-7ffff5789000 ---p 00057000 08:01 11143238                   /usr/lib/x86_64-linux-gnu/libjpeg.so.8.0.2
7ffff5789000-7ffff578a000 r--p 00057000 08:01 11143238                   /usr/lib/x86_64-linux-gnu/libjpeg.so.8.0.2
7ffff578a000-7ffff578b000 rw-p 00058000 08:01 11143238                   /usr/lib/x86_64-linux-gnu/libjpeg.so.8.0.2
7ffff578b000-7ffff57af000 r-xp 00000000 08:01 11927620                   /lib/x86_64-linux-gnu/libpng12.so.0.54.0
7ffff57af000-7ffff59ae000 ---p 00024000 08:01 11927620                   /lib/x86_64-linux-gnu/libpng12.so.0.54.0
7ffff59ae000-7ffff59af000 r--p 00023000 08:01 11927620                   /lib/x86_64-linux-gnu/libpng12.so.0.54.0
7ffff59af000-7ffff59b0000 rw-p 00024000 08:01 11927620                   /lib/x86_64-linux-gnu/libpng12.so.0.54.0
7ffff59b0000-7ffff5a4f000 r-xp 00000000 08:01 11141408                   /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.33.6
7ffff5a4f000-7ffff5c4f000 ---p 0009f000 08:01 11141408                   /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.33.6
7ffff5c4f000-7ffff5c57000 r--p 0009f000 08:01 11141408                   /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.33.6
7ffff5c57000-7ffff5c58000 rw-p 000a7000 08:01 11141408                   /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.33.6
7ffff5c58000-7ffff5e09000 r-xp 00000000 08:01 11142660                   /usr/lib/x86_64-linux-gnu/libxml2.so.2.9.3
7ffff5e09000-7ffff6008000 ---p 001b1000 08:01 11142660                   /usr/lib/x86_64-linux-gnu/libxml2.so.2.9.3
7ffff6008000-7ffff6010000 r--p 001b0000 08:01 11142660                   /usr/lib/x86_64-linux-gnu/libxml2.so.2.9.3
7ffff6010000-7ffff6012000 rw-p 001b8000 08:01 11142660                   /usr/lib/x86_64-linux-gnu/libxml2.so.2.9.3
7ffff6012000-7ffff6013000 rw-p 00000000 00:00 0 
7ffff6013000-7ffff6023000 r-xp 00000000 08:01 11155653                   /usr/lib/x86_64-linux-gnu/libXpm.so.4.11.0
7ffff6023000-7ffff6223000 ---p 00010000 08:01 11155653                   /usr/lib/x86_64-linux-gnu/libXpm.so.4.11.0
7ffff6223000-7ffff6224000 r--p 00010000 08:01 11155653                   /usr/lib/x86_64-linux-gnu/libXpm.so.4.11.0
7ffff6224000-7ffff6225000 rw-p 00011000 08:01 11155653                   /usr/lib/x86_64-linux-gnu/libXpm.so.4.11.0
7ffff6225000-7ffff632d000 r-xp 00000000 08:01 11933041                   /lib/x86_64-linux-gnu/libm-2.23.so
7ffff632d000-7ffff652c000 ---p 00108000 08:01 11933041                   /lib/x86_64-linux-gnu/libm-2.23.so
7ffff652c000-7ffff652d000 r--p 00107000 08:01 11933041                   /lib/x86_64-linux-gnu/libm-2.23.so
7ffff652d000-7ffff652e000 rw-p 00108000 08:01 11933041                   /lib/x86_64-linux-gnu/libm-2.23.so
7ffff652e000-7ffff6547000 r-xp 00000000 08:01 11935032                   /lib/x86_64-linux-gnu/libz.so.1.2.8
7ffff6547000-7ffff6746000 ---p 00019000 08:01 11935032                   /lib/x86_64-linux-gnu/libz.so.1.2.8
7ffff6746000-7ffff6747000 r--p 00018000 08:01 11935032                   /lib/x86_64-linux-gnu/libz.so.1.2.8
7ffff6747000-7ffff6748000 rw-p 00019000 08:01 11935032                   /lib/x86_64-linux-gnu/libz.so.1.2.8
7ffff6748000-7ffff6759000 r-xp 00000000 08:01 11150450                   /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7ffff6759000-7ffff6958000 ---p 00011000 08:01 11150450                   /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7ffff6958000-7ffff6959000 r--p 00010000 08:01 11150450                   /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7ffff6959000-7ffff695a000 rw-p 00011000 08:01 11150450                   /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7ffff695a000-7ffff6a92000 r-xp 00000000 08:01 11141610                   /usr/lib/x86_64-linux-gnu/libNX_X11.so.6.2.safe
7ffff6a92000-7ffff6c91000 ---p 00138000 08:01 11141610                   /usr/lib/x86_64-linux-gnu/libNX_X11.so.6.2.safe
7ffff6c91000-7ffff6c93000 r--p 00137000 08:01 11141610                   /usr/lib/x86_64-linux-gnu/libNX_X11.so.6.2.safe
7ffff6c93000-7ffff6c97000 rw-p 00139000 08:01 11141610                   /usr/lib/x86_64-linux-gnu/libNX_X11.so.6.2.safe
7ffff6c97000-7ffff6c98000 rw-p 00000000 00:00 0 
7ffff6c98000-7ffff6c9d000 r-xp 00000000 08:01 11147973                   /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7ffff6c9d000-7ffff6e9c000 ---p 00005000 08:01 11147973                   /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7ffff6e9c000-7ffff6e9d000 r--p 00004000 08:01 11147973                   /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7ffff6e9d000-7ffff6e9e000 rw-p 00005000 08:01 11147973                   /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7ffff6e9e000-7ffff6ea0000 r-xp 00000000 08:01 11149126                   /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0
7ffff6ea0000-7ffff709f000 ---p 00002000 08:01 11149126                   /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0
7ffff709f000-7ffff70a0000 r--p 00001000 08:01 11149126                   /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0
7ffff70a0000-7ffff70a1000 rw-p 00002000 08:01 11149126                   /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0
7ffff70a1000-7ffff70a3000 r-xp 00000000 08:01 11149108                   /usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0
7ffff70a3000-7ffff72a2000 ---p 00002000 08:01 11149108                   /usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0
7ffff72a2000-7ffff72a3000 r--p 00001000 08:01 11149108                   /usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0
7ffff72a3000-7ffff72a4000 rw-p 00002000 08:01 11149108                   /usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0
7ffff72a4000-7ffff72d2000 r-xp 00000000 08:01 11149398                   /usr/lib/x86_64-linux-gnu/libXfont.so.1.4.1
7ffff72d2000-7ffff74d2000 ---p 0002e000 08:01 11149398                   /usr/lib/x86_64-linux-gnu/libXfont.so.1.4.1
7ffff74d2000-7ffff74d3000 r--p 0002e000 08:01 11149398                   /usr/lib/x86_64-linux-gnu/libXfont.so.1.4.1
7ffff74d3000-7ffff74d5000 rw-p 0002f000 08:01 11149398                   /usr/lib/x86_64-linux-gnu/libXfont.so.1.4.1
7ffff74d5000-7ffff74da000 r-xp 00000000 08:01 11143906                   /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7ffff74da000-7ffff76d9000 ---p 00005000 08:01 11143906                   /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7ffff76d9000-7ffff76da000 r--p 00004000 08:01 11143906                   /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7ffff76da000-7ffff76db000 rw-p 00005000 08:01 11143906                   /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7ffff76db000-7ffff76e4000 r-xp 00000000 08:01 11141863                   /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0
7ffff76e4000-7ffff78e3000 ---p 00009000 08:01 11141863                   /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0
7ffff78e3000-7ffff78e4000 r--p 00008000 08:01 11141863                   /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0
7ffff78e4000-7ffff78e5000 rw-p 00009000 08:01 11141863                   /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0
7ffff78e5000-7ffff78ef000 r-xp 00000000 08:01 11141726                   /usr/lib/x86_64-linux-gnu/libXcompshad.so.3.5.99.4
7ffff78ef000-7ffff7aee000 ---p 0000a000 08:01 11141726                   /usr/lib/x86_64-linux-gnu/libXcompshad.so.3.5.99.4
7ffff7aee000-7ffff7aef000 r--p 00009000 08:01 11141726                   /usr/lib/x86_64-linux-gnu/libXcompshad.so.3.5.99.4
7ffff7aef000-7ffff7af0000 rw-p 0000a000 08:01 11141726                   /usr/lib/x86_64-linux-gnu/libXcompshad.so.3.5.99.4
7ffff7af0000-7ffff7bcd000 r-xp 00000000 08:01 11141646                   /usr/lib/x86_64-linux-gnu/libXcomp.so.3.5.99.4
7ffff7bcd000-7ffff7dcd000 ---p 000dd000 08:01 11141646                   /usr/lib/x86_64-linux-gnu/libXcomp.so.3.5.99.4
7ffff7dcd000-7ffff7dd2000 r--p 000dd000 08:01 11141646                   /usr/lib/x86_64-linux-gnu/libXcomp.so.3.5.99.4
Program received signal SIGABRT, Aborted.
0x00007ffff519e428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
54      ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
#0  0x00007ffff519e428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007ffff51a002a in __GI_abort () at abort.c:89
#2  0x00007ffff51e07ea in __libc_message (do_abort=2, fmt=fmt@entry=0x7ffff52f92e0 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
#3  0x00007ffff51ea81e in malloc_printerr (ar_ptr=0x7ffff552cb20 <main_arena>, ptr=0xbe3510, str=0x7ffff52f6142 "malloc(): memory corruption", action=<optimized out>) at malloc.c:5004
#4  _int_malloc (av=av@entry=0x7ffff552cb20 <main_arena>, bytes=bytes@entry=376) at malloc.c:3472
#5  0x00007ffff51ec5d4 in __GI___libc_malloc (bytes=376) at malloc.c:2911
#6  0x000000000047728f in _dixAllocateScreenObjectWithPrivates (pScreen=pScreen@entry=0xbd3200, baseSize=baseSize@entry=160, clear=clear@entry=160, offset=offset@entry=136, type=type@entry=PRIVATE_GC) at privates.c:717
#7  0x0000000000465015 in NewGCObject (pScreen=0xbd3200, depth=1) at gc.c:565
#8  0x000000000046544e in CreateScratchGC (depth=1, pScreen=0xbd3200) at gc.c:911
#9  CreateGCperDepth (screenNum=screenNum@entry=0) at gc.c:952
#10 0x000000000040ee13 in main (argc=4, argv=0x7fffffffdcb8, envp=<optimized out>) at main.c:290
´``

@sunweaver
Copy link
Member Author

sunweaver commented Nov 22, 2017 via email

@uli42
Copy link
Member

uli42 commented Jul 28, 2018

I played a bit with this. After removing one typo it compiles but crashes in XkbSetExtension. This is because of xorg-xserver's commit 1987af8c498a1bf394a8951ca6d5b0b7f7a35188 missing here (which is pre 1.2.99). Our current 3.6.x has dix from 1.3.0.0 ans should include that commit. So please rebase this!

@sunweaver
Copy link
Member Author

sunweaver commented Jul 29, 2018 via email

@uli42
Copy link
Member

uli42 commented Jul 29, 2018 via email

Peter Hutterer and others added 17 commits July 30, 2018 12:36
 Backported from X.org:

 commit b6b26560d65d9468c89dd046396d9aeb14e1b227
 Author: Peter Hutterer <[email protected]>
 Date:   Fri Oct 31 16:23:34 2008 +1030

     Move EXTENSION_BASE and EXTENSION_EVENT_BASE to misc.h.
 Backported from X.org:

 commit 854c1fa4a1e90288d1e2f3777fac3e1a9acb1235
 Author: Daniel Stone <[email protected]>
 Date:   Tue Jul 10 02:02:50 2012 +0100

    Add a common ARRAY_SIZE macro to dix.h

    Does what it says on the box, replacing those from Xi/ and glx/.

    Signed-off-by: Daniel Stone <[email protected]>
    Reviewed-by: Cyril Brulebois <[email protected]>
    Reviewed-by: Jamey Sharp <[email protected]>
    Reviewed-by: Peter Hutterer <[email protected]>
    Signed-off-by: Peter Hutterer <[email protected]>
    Signed-off-by: Keith Packard <[email protected]>
    Backports this X.org commit:

    Revert "Bug #6924: Restore the ABI for DrawableRec and ColormapRec to the state"

    This reverts commit bc0c56c407117d1545e20d21f7d30eb3472d618b since we're
    breaking ABI anyway.

    Conflicts:

            ChangeLog
            dix/colormap.c
            dix/pixmap.c
            dix/window.c
            include/pixmapstr.h

    Signed-off-by: Jamey Sharp <[email protected]>
    Reviewed-by: Aaron Plattner <[email protected]>

    Backported-to-NX-by: Mike Gabriel <[email protected]>
 Backported from X.org:

 commit 48b47928133bc462947104bd0f4204f00b993862
 Author: Adam Jackson <[email protected]>
 Date:   Fri Oct 3 17:16:28 2008 -0400

    mi{Create,Destroy}GCOps are unused, nuke 'em.
sunweaver and others added 14 commits July 30, 2018 12:53
 Backported from X.org:

 commit 0ce687634fa5e0d955e896a0d0d5f584a4cfd1a4
 Author: Adam Jackson <[email protected]>
 Date:   Wed Aug 13 17:28:08 2008 -0400

    Eviscerate save-under support.

    Use a compositing manager already.  Plus I really wanted to use 'eviscerate'
    in a commit message.
 Backported from X.org:

 commit 0214d0b96a9b900a8cf5c7f2183add3a411441f3
 Author: Peter Hutterer <[email protected]>
 Date:   Tue May 1 15:49:41 2007 +0930

    Start devices after windows are initialized.

    This fixes the hotplug segfault introduced with the multihead changes and
    cleans up the code a bit as well.
 commit f38b2b628322f4d763b0c7f8387d5ab0472a7d2b
 Author: Keith Packard <[email protected]>
 Date:   Thu Jul 5 11:15:18 2012 -0700

    mi: Don't save midispcur rendering resources for each cursor

    Instead, only save them for the most recently drawn cursor. This saves
    a bunch of storage for idle cursors.

    Signed-off-by: Keith Packard <[email protected]>
    Reviewed-by: Dave Airlie <[email protected]>

    Backported to NX by: Mike Gabriel <[email protected]>n
 Backported from X.org:

 commit 957bf959fb577b292a3e4f6bb67740ca09e7aeb9
 Author: Dave Airlie <[email protected]>
 Date:   Wed Jun 27 14:36:04 2012 +0100

    dix/render: consolidate window format matching code.

    This code existed in 3 different forms, perhaps it should be
    consolidated.

    Reviewed-by: Keith Packard <[email protected]>
    Reviewed-by: Alex Deucher <[email protected]>
    Signed-off-by: Dave Airlie <[email protected]>
    Signed-off-by: Keith Packard <[email protected]>

    Backported to NX by: Mike Gabriel <[email protected]>
 Backported from X.org:

 commit f308cbea8c9fa5c5c6705bc301178b167de450d5
 Author: Jamey Sharp <[email protected]>
 Date:   Mon May 24 18:41:54 2010 -0700

    mi: Delete unused flicker-free MoveCursor code.

    It's been commented-out for three and a half years and nobody seems to
    be missing it enough to resurrect it.

    Besides deleting code that is untested and therefore buggy, this saves a
    little memory for each pointer device on each screen.

    Signed-off-by: Jamey Sharp <[email protected]>
    Reviewed-by: Peter Hutterer <[email protected]>

 Backported to NX by: Mike Gabriel <[email protected]>
@sunweaver
Copy link
Member Author

@uli42: I have just rebased this PR's update branch and it now builds. But it also segfaults when starting it with nxagent -ac :1.

Need to attend to other stuff now, but maybe this helps.

@uli42
Copy link
Member

uli42 commented Jul 30, 2018

I have tried several hours to getting this fixed but I failed. My main problem is that I am absolutely unsure about the expected state of this code. Which is the xorg upstream commit we are trying to achieve? The are so many commits titled "devPrivates rework" with huge differences to our code base...

@sunweaver
Copy link
Member Author

The expected state of code is what we find in X.org these days regarding the privates ABI. There have been various rethinkings of this ABI, there is not a range of commits that we can backport and then we have it. Unfortunately.

With some looks at X.org Xserver git log, I'd say that we want to get to a stage as found in a817271d461e2f95dd7dc62cd1c7d123ce92f555 (X.org Xserver).

@uli42
Copy link
Member

uli42 commented Aug 3, 2018

For convenience: https://cgit.freedesktop.org/xorg/xserver/commit/?id=a817271d461e2f95dd7dc62cd1c7d123ce92f555

I'd did not know about this document until today.

@uli42
Copy link
Member

uli42 commented Aug 7, 2018

That xorg document states "devPrivates have been revised substantially for X.Org X server release 1.5, updated again for the 1.9 release and extended again for the 1.13 relealse."

So maybe we should step back and limit ourselves to 1.5 for now.

@sunweaver
Copy link
Member Author

sunweaver commented Aug 8, 2018 via email

@uli42
Copy link
Member

uli42 commented Aug 8, 2018

In principle I'd agree, but we are facing two problems here:

  1. it complicates upgrading to newer (not newest!) versions of xorg significantly until we are par with 1.13 (which I don't expect happening soon)
  2. currenty XkbSetExtension() crashes. I suppose this is because some init code is missing in dix/devices.c. I have been trying to implement that code but I failed because it requires a lot of yak-shaving.
  3. XACE is also coming in the way

The easier way is to implement the privates stuff as it was in - say - 1.4.2 and lift all modules to that very level. Then we can upgrade to 1.5 quite easily (compared to the current approach).

I don't think implementing later reworks of devPrivates will be a hassle then.

@sunweaver
Copy link
Member Author

sunweaver commented Aug 8, 2018 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants