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

xserver crashes in pixman since change to assembler #696

Closed
rossburton opened this issue Nov 28, 2022 · 8 comments
Closed

xserver crashes in pixman since change to assembler #696

rossburton opened this issue Nov 28, 2022 · 8 comments

Comments

@rossburton
Copy link
Contributor

rossburton commented Nov 28, 2022

With oe-core langdale or master and meta-clang master, xserver crashes on startup:

Program received signal SIGILL, Illegal instruction.
#0  0x0000007ff7f5d6cc in pixman_fill32 (bits=0x7ff660f010, stride=1280, x=0, y=0, width=1280, height=<optimized out>, filler=0)
    at ../pixman-0.40.0/pixman/pixman-fast-path.c:2119
#1  fast_path_fill (imp=<optimized out>, bits=0x7ff660f010, stride=1280, bpp=32, x=0, y=0, width=1280, height=<optimized out>, filler=0)
    at ../pixman-0.40.0/pixman/pixman-fast-path.c:2152
#2  0x0000007ff7f74f88 in _pixman_implementation_fill (imp=0x55557d3ac0, bits=0x7ff660f010, stride=1280, bpp=32, x=0, y=0, width=1280,
    height=800, filler=0) at ../pixman-0.40.0/pixman/pixman-implementation.c:277
#3  0x0000007ff7f28f4c in pixman_fill (bits=0x7ff660f010, stride=1280, bpp=32, x=x@entry=0, y=y@entry=0, width=width@entry=1280, height=800,
    filler=<optimized out>) at ../pixman-0.40.0/pixman/pixman.c:759
#4  0x00000055556fca50 in fbFill (pDrawable=<optimized out>, pGC=0x55557fcee0, x=x@entry=0, y=y@entry=0, width=1280, height=800)
    at ../xorg-server-21.1.4/fb/fbfill.c:125
#5  0x00000055556fd324 in fbPolyFillRect (pDrawable=0x555583a3b0, pGC=0x55557fcee0, nrect=<optimized out>, prect=<optimized out>)
    at ../xorg-server-21.1.4/fb/fbfillrect.c:72
#6  0x0000005555615920 in damagePolyFillRect (pDrawable=0x555583a3b0, pGC=0x55557fcee0, nRects=1, pRects=0x5555865010)
    at ../xorg-server-21.1.4/miext/damage/damage.c:1224
#7  0x000000555559daec in miPaintWindow (pWin=<optimized out>, prgn=<optimized out>, what=<optimized out>)
    at ../xorg-server-21.1.4/mi/miexpose.c:536
#8  0x000000555559d6d0 in miWindowExposures (pWin=0x555583a3b0, prgn=0x7ffffffaa0) at ../xorg-server-21.1.4/mi/miexpose.c:387
#9  0x00000055555f23c8 in MapWindow (pWin=0x555583a3b0, client=0x55557de3f0) at ../xorg-server-21.1.4/dix/window.c:2711
#10 0x00000055555ca1e0 in dix_main (argc=1, argv=0x7ffffffcf8, envp=<optimized out>) at ../xorg-server-21.1.4/dix/main.c:243
#11 0x0000007ff76c77b8 in __libc_start_call_main (main=main@entry=0x5555707ca0 <main>, argc=argc@entry=1, argv=argv@entry=0x7ffffffcf8)
    at /usr/src/debug/glibc/2.36-r0/sysdeps/nptl/libc_start_call_main.h:58
#12 0x0000007ff76c789c in __libc_start_main_impl (main=0x5555707ca0 <main>, argc=1, argv=0x7ffffffcf8, init=<optimized out>,
    fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>) at /usr/src/debug/glibc/2.36-r0/csu/libc-start.c:381
#13 0x0000005555591ef0 in _start () at ../sysdeps/aarch64/start.S:81

Bisecting confirmed that it worked until 84dbafa.

@kraj
Copy link
Owner

kraj commented Dec 6, 2022

@rossburton can you try replacing disabling it will gcc and see if that helps ?

TOOLCHAIN:pn-pixman:aarch64 = "gcc"

@rossburton
Copy link
Contributor Author

We have the same build (eg qemuarm64) for clang and gcc: gcc works, clang doesn't.

@kraj
Copy link
Owner

kraj commented Jan 4, 2023

yeah I am seeing it all over meta-clang and Yoe distribution CI :( for some time now. I have been turning a blind eye due to lack of time.

@rossburton
Copy link
Contributor Author

Congratulations, this is now failing on the yocto autobuilder: https://autobuilder.yoctoproject.org/typhoon/#/builders/142/builds/3

:)

I presume that nobody is actually using langdale+arm64+clang+pixman?

I suggest removing the integrated-as workaround and just set TOOLCHAIN="gcc" as an interim fix as this is very broken right now.

@kraj
Copy link
Owner

kraj commented Jan 4, 2023

Congratulations, this is now failing on the yocto autobuilder: https://autobuilder.yoctoproject.org/typhoon/#/builders/142/builds/3

:)

I presume that nobody is actually using langdale+arm64+clang+pixman?

I suggest removing the integrated-as workaround and just set TOOLCHAIN="gcc" as an interim fix as this is very broken right now.

Does this fix work ?

@rossburton
Copy link
Contributor Author

Yes, it appears to be a bad interaction with clang and pixman.

@kraj
Copy link
Owner

kraj commented Jan 4, 2023

OK.

@kraj
Copy link
Owner

kraj commented Mar 30, 2023

We have switched back to using gcc to build pixman for now.

@kraj kraj closed this as completed Mar 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants