Bug#979276: xserver-xorg-video-intel: Server fails to start: "Illegal instruction"

2021-03-18 Thread Stefan Monnier
> I tried to reconstruct the given backtrace in [1].

Thanks,

> So the actual issue seems to be a "movq" instruction which
> seems to be due to [3] a SSE2 instruction, which might
> the "Pentium III M" is lacking, like Stefan already noted.
> I am not sure where the current Debian baseline could be
> consulted regarding this, maybe [4] could give a hint.

AFAIK Debian's i386 architecture does not (yet) require SSE2 (as
witnessed by the existence of the package `sse2-support`).

Where does this instruction come from?
Is it generated by GCC (and if so, why does GCC generate it)?


Stefan


PS: I hope the i386 port never will require SSE2, since all the
processors I have which support SSE2 also support AMD64.



Bug#979276: xserver-xorg-video-intel: Server fails to start: "Illegal instruction"

2021-03-18 Thread Julien Cristau
On Thu, Mar 18, 2021 at 09:39:36AM -0400, Stefan Monnier wrote:
> > I tried to reconstruct the given backtrace in [1].
> 
> Thanks,
> 
> > So the actual issue seems to be a "movq" instruction which
> > seems to be due to [3] a SSE2 instruction, which might
> > the "Pentium III M" is lacking, like Stefan already noted.
> > I am not sure where the current Debian baseline could be
> > consulted regarding this, maybe [4] could give a hint.
> 
> AFAIK Debian's i386 architecture does not (yet) require SSE2 (as
> witnessed by the existence of the package `sse2-support`).
> 
> Where does this instruction come from?
> Is it generated by GCC (and if so, why does GCC generate it)?
> 

I'm guessing because of this:
https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/-/blob/master/src/sna/blt.c#L37

Does the below help?

diff --git a/src/sna/blt.c b/src/sna/blt.c
index afc719f6..803c5142 100644
--- a/src/sna/blt.c
+++ b/src/sna/blt.c
@@ -626,17 +626,17 @@ memcpy_between_tiled_x__swizzle_0__sse2(const void *src, 
void *dst, int bpp,
assert(((uintptr_t)src_row & (tile_width - 1)) == 0);
to_memcpy(assume_aligned(dst_row, tile_width),
  assume_aligned(src_row, tile_width),
  w);
}
}
 }
 
-#pragma GCC push_options
+#pragma GCC pop_options
 #endif
 
 fast void
 memcpy_blt(const void *src, void *dst, int bpp,
   int32_t src_stride, int32_t dst_stride,
   int16_t src_x, int16_t src_y,
   int16_t dst_x, int16_t dst_y,
   uint16_t width, uint16_t height)


Cheers,
Julien



Bug#979276: xserver-xorg-video-intel: Server fails to start: "Illegal instruction"

2021-03-18 Thread Bernhard Übelacker

Dear Maintainer,
I tried to reconstruct the given backtrace in [1].

So the actual issue seems to be a "movq" instruction which
seems to be due to [3] a SSE2 instruction, which might
the "Pentium III M" is lacking, like Stefan already noted.
I am not sure where the current Debian baseline could be
consulted regarding this, maybe [4] could give a hint.

Kind regards,
Bernhard

[1]
Backtrace:
0: Xorg (OsLookupColor+0x142) [0x611232] |  0x00646232 in 
OsSigHandler at ../../../../os/osinit.c:138
1: linux-gate.so.1 (?+0x0) [0xb7fbd570]  |
2: intel_drv.so (?+0x0) [0xb701f94c] |  0x986c794c in 
choose_memcpy_tiled_x at ../../../src/sna/blt.c:1162
3: intel_drv.so (?+0x0) [0xb702ad14] |  0x986d2d14 in 
kgem_init_swizzling at ../../../src/sna/kgem.c:232
4: intel_drv.so (?+0x0) [0xb707aa93] |  0x98722a93 in 
sna_pre_init at ../../../src/sna/sna_driver.c:626
5: Xorg (InitOutput+0xa60) [0x4e7d70]|  0x0051cd70 in 
InitOutput at ../../../../../../hw/xfree86/common/xf86Init.c:523
6: Xorg (InitFonts+0x2b5) [0x4a8d05] |  0x004ddd05 in 
dix_main at ../../../../dix/main.c:193
7: Xorg (miPolyFillRect+0x804) [0x49184b]|  0x004c684b in main 
at ../../../../dix/stubmain.c:34
8: libc.so.6 (__libc_start_main+0x106) [0xb78cae46]  |  0xb780fe46 in 
__libc_start_main at ../csu/libc-start.c:308
9: Xorg (_start+0x31) [0x491891] |  0x004c6891 
<_start+49>

Illegal instruction at address 0xb701f94c

[2]
(gdb) disassemble /r choose_memcpy_tiled_x, choose_memcpy_tiled_x+370
   0x986c7940 :   66 0f 6e c0 
movd   %eax,%xmm0
   0x986c7944 :   66 0f 6e c9 
movd   %ecx,%xmm1
   0x986c7948 :   66 0f 62 c1 
punpckldq %xmm1,%xmm0
-> 0x986c794c :   66 0f d6 82 0c 04 00 00 
movq   %xmm0,0x40c(%edx)
   0x986c7954 :   5b  pop 
   %ebx
   0x986c7955 :   c3  ret

[3]

https://en.wikipedia.org/wiki/X86_instruction_listings#SSE2_MMX-like_instructions_extended_to_SSE_registers

[4]
https://wiki.debian.org/ArchitectureSpecificsMemo#i386-1



[bts-link] source package src:mesa

2021-03-18 Thread debian-bts-link
#
# bts-link upstream status pull for source package src:mesa
# see http://lists.debian.org/debian-devel-announce/2006/05/msg1.html
# https://bts-link-team.pages.debian.net/bts-link/
#

user debian-bts-l...@lists.debian.org

# remote status report for #983466 (http://bugs.debian.org/983466)
# Bug title: Black screen at dual monitor with warn from i915_gem_ww_ctx_backoff
#  * https://gitlab.freedesktop.org/mesa/mesa/-/issues/790
#  * remote status changed: (?) -> opened
usertags 983466 + status-opened

thanks