SIGSEGV in _XPutPixel32 on armhf

Bug #1307953 reported by Edit Balint
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
libx11 (Ubuntu)
Triaged
Medium
Unassigned

Bug Description

I'm running Ubuntu 12.04 on a Pandaboard 4430 (armhf). (I also tested it on 13.04 Ubuntu, and the same error occurs.)
Servo (experimental browser engine by Mozilla) and this little example: http://sil2100.vexillium.org/content/fglrx-test.c are crashing with the same backtrace: (They're both calling the glXBindTexImageEXT function.)

fglrx_test.c segfault backtrace:
#0 _XPutPixel32 (pixel=49344, y=<optimized out>, x=<optimized out>, ximage=0x210378) at ../../src/ImUtil.c:739
#1 _XPutPixel32 (ximage=0x210378, x=<optimized out>, y=<optimized out>, pixel=49344) at ../../src/ImUtil.c:726
#2 0xb6f00960 in _XSetImage (srcimg=0x220aa8, dstimg=0x210378, x=0, y=0) at ../../src/ImUtil.c:957
#3 0xb6efe25c in XGetSubImage (dpy=<optimized out>, d=<optimized out>, x=<optimized out>, y=<optimized out>, width=64, height=64, plane_mask=4294967295, format=2,
    dest_image=0x210378, dest_x=0, dest_y=0) at ../../src/GetImage.c:129
#4 0xb6ecd408 in swrastGetImage (read=<optimized out>, x=<optimized out>, y=<optimized out>, w=<optimized out>, h=64, data=0x0, loaderPrivate=0x2100b8) at drisw_glx.c:228
#5 0xb6fd651a in swrastSetTexBuffer2 (pDRICtx=<optimized out>, target=<optimized out>, texture_format=<optimized out>, dPriv=<optimized out>) at swrast.c:97
#6 0xb6ecd4f6 in drisw_bind_tex_image (dpy=<optimized out>, drawable=<optimized out>, buffer=<optimized out>, attrib_list=<optimized out>) at drisw_glx.c:319
#7 0xb6eb4ff4 in __glXBindTexImageEXT (dpy=<optimized out>, drawable=<optimized out>, buffer=<optimized out>, attrib_list=<optimized out>) at glxcmds.c:2429
#8 0x00009638 in main () at fglrx_test.c:218

SERVO segfault backtrace:
#0 _XPutPixel32 (pixel=8388608, y=<optimized out>, x=<optimized out>, ximage=0x3f0d48) at ../../src/ImUtil.c:739
#1 _XPutPixel32 (ximage=0x3f0d48, x=<optimized out>, y=<optimized out>, pixel=8388608) at ../../src/ImUtil.c:726
#2 0xb53a8960 in _XSetImage (srcimg=0x3f0dd0, dstimg=0x3f0d48, x=0, y=0) at ../../src/ImUtil.c:957
#3 0xb53a625c in XGetSubImage (dpy=<optimized out>, d=<optimized out>, x=<optimized out>, y=<optimized out>, width=512, height=512, plane_mask=4294967295, format=2,
    dest_image=0x3f0d48, dest_x=0, dest_y=0) at ../../src/GetImage.c:129
#4 0xb54a2408 in swrastGetImage (read=<optimized out>, x=<optimized out>, y=<optimized out>, w=<optimized out>, h=512, data=0x0, loaderPrivate=0x3aa8f0) at drisw_glx.c:228
#5 0xb4a5351a in swrastSetTexBuffer2 (pDRICtx=<optimized out>, target=<optimized out>, texture_format=<optimized out>, dPriv=<optimized out>) at swrast.c:97
#6 0xb54a24f6 in drisw_bind_tex_image (dpy=<optimized out>, drawable=<optimized out>, buffer=<optimized out>, attrib_list=<optimized out>) at drisw_glx.c:319
#7 0xb5489ff4 in __glXBindTexImageEXT (dpy=<optimized out>, drawable=<optimized out>, buffer=<optimized out>, attrib_list=<optimized out>) at glxcmds.c:2429
#8 0xb65ede5c in bind () at /home/ebalint/Work/armhf/servo-arm3/servo/src/support/layers/rust-layers/texturegl.rs:146
#9 layers::platform::linux::surface::NativeSurfaceMethods$NativeSurface::bind_to_texture ()

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in xorg (Ubuntu):
status: New → Confirmed
Revision history for this message
Connor Imes (ckimes) wrote :
Download full text (5.2 KiB)

I can confirm this issue on an ODROID-XU3. There should be enough information here for a developer to have a look.

Moving to libx11 package.

Here is the latest backtrace from Servo running on Ubuntu 14.04.3 with libx11-6 version 2:1.6.2-1ubuntu2.

#0 0xb6c0c7d8 in _XPutPixel32 (ximage=0x2dace068, x=<optimized out>,
    y=<optimized out>, pixel=0) at ../../src/ImUtil.c:733
#1 0xb6c0cc22 in _XSetImage (srcimg=srcimg@entry=0x2dacde40,
    dstimg=dstimg@entry=0x2dace068, x=x@entry=0, y=y@entry=0)
    at ../../src/ImUtil.c:949
#2 0xb6c0a400 in XGetSubImage (dpy=<optimized out>, d=<optimized out>,
    x=<optimized out>, y=<optimized out>, width=width@entry=288,
    height=height@entry=512, plane_mask=plane_mask@entry=4294967295,
    format=format@entry=2, dest_image=dest_image@entry=0x2dace068,
    dest_x=dest_x@entry=0, dest_y=dest_y@entry=0) at ../../src/GetImage.c:129
#3 0xb6d1c804 in swrastGetImage (read=<optimized out>, x=<optimized out>,
    y=<optimized out>, w=288, h=512, data=0x0, loaderPrivate=0x2daa3998)
    at ../../../../src/glx/drisw_glx.c:237
#4 0xb4a58ab2 in swrastSetTexBuffer2 (pDRICtx=<optimized out>,
    target=<optimized out>, texture_format=8410, dPriv=<optimized out>)
    at ../../../../../../../src/mesa/drivers/dri/swrast/swrast.c:100
#5 0xb6d1c6a2 in drisw_bind_tex_image (dpy=<optimized out>,
    drawable=<optimized out>, buffer=<optimized out>,
    attrib_list=<optimized out>) at ../../../../src/glx/drisw_glx.c:328
#6 0xb6d00e88 in __glXBindTexImageEXT (dpy=<optimized out>,
    drawable=<optimized out>, buffer=<optimized out>,
    attrib_list=<optimized out>) at ../../../../src/glx/glxcmds.c:2416
#7 0x2c43d530 in layers::platform::linux::surface::PixmapNativeSurface::bind_to_texture (self=0xa781f0a4, display=0xbeffe2f8, texture=0xb5c750a8)
    at /home/odroid/.cargo/git/checkouts/rust-layers-22b481e3852f313f/master/src/platform/linux/surface.rs:218
#8 0x2c420c44 in layers::platform::surface::NativeSurface::bind_to_texture (
    self=0xa781f0a0, display=0xbeffe2f8, texture=0xb5c750a8)
    at /home/odroid/.cargo/git/checkouts/rust-layers-22b481e3852f313f/master/src/platform/surface.rs:82
#9 0x2c420a84 in layers::tiling::Tile::create_texture (self=0xb5c7509c,
    display=0xbeffe2f8)
    at /home/odroid/.cargo/git/checkouts/rust-layers-22b481e3852f313f/master/src/tiling.rs:82
#10 0x2c434d40 in layers::tiling::TileGrid::create_textures (self=0xb5c676e8,
    display=0xbeffe2f8)
    at /home/odroid/.cargo/git/checkouts/rust-layers-22b481e3852f313f/master/src/tiling.rs:331
#11 0x2a2037a4 in servo::layers::Layer<T>::create_textures (self=0xb5c67608,
    display=0xbeffe2f8)
    at /home/odroid/.cargo/git/checkouts/rust-layers-22b481e3852f313f/master/src/layers.rs:175
#12 0x2a203008 in servo::rendergl::RenderContext::render_layer<compositing::compositor_layer::CompositorData> (self=0xbeffe298, layer=...,
    transform=0xbeffe23c, projection=0xbeffe1b4, clip_rect=...,
    gfx_context=0xbeffe2f8)
    at /home/odroid/.cargo/git/checkouts/rust-layers-22b481e3852f313f/master/src/rendergl.rs:589
#13 0x2a1ffd38 in servo::rendergl::RenderContext::render_3d_context<com...

Read more...

affects: xorg (Ubuntu) → libx11 (Ubuntu)
Changed in libx11 (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Triaged
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.