** Description changed:

- When I turn left or right an image, system logs out and I have to log
- again on my count
+ [Impact]
+ X server crash which can occur when loading or interacting with large pixmap 
images.
+ 
+ [Development Fix]
+ Upstream fixed the issue in the upstream git tree for the -intel driver.  It 
reworks the code that calculates pixmap size limits and ensures properly sized 
fallback mappings for source, destination, and masking pixmaps.  Backporting 
the patches to the version of -intel we currently have in Precise was 
straightforward, and have been verified to fix the issue.
+ 
+ [Stable Fix]
+ The same patch applied to Precise's -intel applies without modification to 
Oneiric.  A visual inspection of the code shows the surrounding code hasn't 
really changed so it's expected this patch will work as well in Oneiric as in 
Precise.
+ 
+ [Text Case]
+ 0.  watch dmesg and /var/log/Xorg.0.log
+ 1.  Obtain a large jpg file, such as a photo scaled up in gimp to >16M in 
file size.
+ 2.  Load the photo using eog
+ 3.  If eog successfully loads it, try rotating the image several times
+ Broken Behavior: Errors will emit to dmesg and X logs, then GPU will lockup 
and/or the X server will crash
+ Fixed Behavior: The image will load and rotate without crashes or lockups.
+ 
+ [Regression Potential]
+ Unknown at this time.
+ 
+ [Original Report]
+ When I turn left or right an image, system logs out and I have to log again 
on my count
  
  (gdb) backtrace full
  #0  __memcpy_ssse3_rep () at 
../sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S:191
  No locals.
- #1  0xb739788c in intel_uxa_pixmap_put_image (pixmap=<optimized out>, 
src=0x9c6e420 "", 
-     src_pitch=32000, x=0, y=0, w=8000, h=8) at 
/usr/include/i386-linux-gnu/bits/string3.h:52
-         dst = 0xa41ee000 <Address 0xa41ee000 out of bounds>
-         row_length = 32000
-         num_rows = 8
-         priv = 0x9ba3298
-         stride = 32256
-         cpp = <optimized out>
-         ret = 0
- #2  0xb739968c in intel_uxa_put_image (pixmap=0x9ba3250, x=0, y=0, w=8000, 
h=8, src=0x9c6e420 "", 
-     src_pitch=32000) at ../../src/intel_uxa.c:769
-         priv = 0x9ba3298
- #3  0xb73b0553 in uxa_do_put_image (src_stride=32000, bits=0x9c6e420 "", 
format=2, h=8, w=8000, y=0, 
-     x=0, pGC=0x9c399d0, pDrawable=0x9ba3250, depth=<optimized out>) at 
../../uxa/uxa-accel.c:164
-         y1 = 0
-         x2 = 159692224
-         ok = <optimized out>
-         x1 = <optimized out>
-         y2 = <optimized out>
-         src = 0x9c6e420 ""
-         yoff = 0
-         uxa_screen = 0x0
-         pPix = 0x9ba3250
-         pClip = <optimized out>
-         pbox = 0x9c1c590
-         nbox = <optimized out>
-         xoff = 0
-         bpp = <optimized out>
- #4  uxa_put_image (pDrawable=0x9ba3250, pGC=0x9c399d0, depth=24, x=0, y=0, 
w=8000, h=8, leftPad=0, 
-     format=2, bits=0x9c6e420 "") at ../../uxa/uxa-accel.c:202
+ #1  0xb739788c in intel_uxa_pixmap_put_image (pixmap=<optimized out>, 
src=0x9c6e420 "",
+     src_pitch=32000, x=0, y=0, w=8000, h=8) at 
/usr/include/i386-linux-gnu/bits/string3.h:52
+         dst = 0xa41ee000 <Address 0xa41ee000 out of bounds>
+         row_length = 32000
+         num_rows = 8
+         priv = 0x9ba3298
+         stride = 32256
+         cpp = <optimized out>
+         ret = 0
+ #2  0xb739968c in intel_uxa_put_image (pixmap=0x9ba3250, x=0, y=0, w=8000, 
h=8, src=0x9c6e420 "",
+     src_pitch=32000) at ../../src/intel_uxa.c:769
+         priv = 0x9ba3298
+ #3  0xb73b0553 in uxa_do_put_image (src_stride=32000, bits=0x9c6e420 "", 
format=2, h=8, w=8000, y=0,
+     x=0, pGC=0x9c399d0, pDrawable=0x9ba3250, depth=<optimized out>) at 
../../uxa/uxa-accel.c:164
+         y1 = 0
+         x2 = 159692224
+         ok = <optimized out>
+         x1 = <optimized out>
+         y2 = <optimized out>
+         src = 0x9c6e420 ""
+         yoff = 0
+         uxa_screen = 0x0
+         pPix = 0x9ba3250
+         pClip = <optimized out>
+         pbox = 0x9c1c590
+         nbox = <optimized out>
+         xoff = 0
+         bpp = <optimized out>
+ #4  uxa_put_image (pDrawable=0x9ba3250, pGC=0x9c399d0, depth=24, x=0, y=0, 
w=8000, h=8, leftPad=0,
+     format=2, bits=0x9c6e420 "") at ../../uxa/uxa-accel.c:202
  No locals.
- 
  
  From dmesg:
  [ 41787.607] (EE) intel(0): Couldn't create pixmap for fbcon
  ...
  [ 52602.993] (EE) intel(0): Couldn't create pixmap for fbcon
  ...
  [ 88171.985] (EE) intel(0): Couldn't create pixmap for fbcon
  ...
  [ 88172.435] (WW) intel(0): I830DRI2GetMSC:1297 get vblank counter failed: 
Invalid argument
  [ 88172.438] (WW) intel(0): I830DRI2ScheduleWaitMSC:1364 get vblank counter 
failed: Invalid argument
  [ 88172.440] (WW) intel(0): I830DRI2GetMSC:1297 get vblank counter failed: 
Invalid argument
  [ 88172.440] (WW) intel(0): first get vblank counter failed: Invalid argument
  [ 88172.903] (WW) intel(0): I830DRI2GetMSC:1297 get vblank counter failed: 
Invalid argument
  [ 88172.905] (WW) intel(0): I830DRI2ScheduleWaitMSC:1364 get vblank counter 
failed: Invalid argument
  [ 88172.959] (WW) intel(0): I830DRI2GetMSC:1297 get vblank counter failed: 
Invalid argument
  [ 88172.970] (WW) intel(0): I830DRI2ScheduleWaitMSC:1364 get vblank counter 
failed: Invalid argument
  [ 88173.143] (WW) intel(0): I830DRI2GetMSC:1297 get vblank counter failed: 
Invalid argument
  [ 88173.177] (WW) intel(0): I830DRI2ScheduleWaitMSC:1364 get vblank counter 
failed: Invalid argument
  [ 88173.363] (WW) intel(0): I830DRI2ScheduleWaitMSC:1364 get vblank counter 
failed: Invalid argument
  [ 88174.698] (WW) intel(0): first get vblank counter failed: Invalid argument
  [ 88175.457] (WW) intel(0): first get vblank counter failed: Invalid argument
  <repeats for a while>
  [100285.751] (WW) intel(0): first get vblank counter failed: Invalid argument
  [100314.429]
  Backtrace:
  [100314.770] 0: /usr/bin/X (xorg_backtrace+0x37) [0x80a66f7]
  [100314.770] 1: /usr/bin/X (0x8048000+0x62b3a) [0x80aab3a]
  [100314.770] 2: (vdso) (__kernel_rt_sigreturn+0x0) [0x1c340c]
  [100314.770] 3: /lib/i386-linux-gnu/libc.so.6 (0x276000+0x117771) [0x38d771]
  [100314.770] 4: /usr/lib/xorg/modules/drivers/intel_drv.so (0x52a000+0xe85c) 
[0x53885c]
  [100314.770] 5: /usr/lib/xorg/modules/drivers/intel_drv.so (0x52a000+0x1066c) 
[0x53a66c]
  [100314.770] 6: /usr/lib/xorg/modules/drivers/intel_drv.so (0x52a000+0x27873) 
[0x551873]
  [100314.770] 7: /usr/bin/X (0x8048000+0xe643a) [0x812e43a]
  [100314.771] 8: /usr/bin/X (0x8048000+0x26997) [0x806e997]
  [100314.771] 9: /usr/bin/X (0x8048000+0x2a117) [0x8072117]
  [100314.771] 10: /usr/bin/X (0x8048000+0x1c70c) [0x806470c]
  [100314.771] 11: /lib/i386-linux-gnu/libc.so.6 (__libc_start_main+0xf3) 
[0x28f113]
  [100314.771] 12: /usr/bin/X (0x8048000+0x1ca21) [0x8064a21]
  [100314.771] Bus error at address 0xa38ba008
  [100314.800]
  Caught signal 7 (Bus error). Server aborting
  
  ProblemType: Bug
  DistroRelease: Ubuntu 11.10
  Package: eog 3.2.1-0ubuntu1
  ProcVersionSignature: Ubuntu 3.0.0-12.20-generic 3.0.4
  Uname: Linux 3.0.0-12-generic i686
  NonfreeKernelModules: wl
  ApportVersion: 1.23-0ubuntu4
  Architecture: i386
  Date: Fri Nov 11 12:42:15 2011
  ExecutablePath: /usr/bin/eog
  InstallationMedia: Ubuntu 11.10 "Oneiric" - Build i386 LIVE Binary 
20111013-11:02
  ProcEnviron:
   PATH=(custom, no user)
   LANG=fr_FR.UTF-8
   SHELL=/bin/bash
  SourcePackage: eog
  UpgradeStatus: Upgraded to oneiric on 2011-11-05 (6 days ago)

** Description changed:

  [Impact]
  X server crash which can occur when loading or interacting with large pixmap 
images.
  
  [Development Fix]
  Upstream fixed the issue in the upstream git tree for the -intel driver.  It 
reworks the code that calculates pixmap size limits and ensures properly sized 
fallback mappings for source, destination, and masking pixmaps.  Backporting 
the patches to the version of -intel we currently have in Precise was 
straightforward, and have been verified to fix the issue.
  
  [Stable Fix]
  The same patch applied to Precise's -intel applies without modification to 
Oneiric.  A visual inspection of the code shows the surrounding code hasn't 
really changed so it's expected this patch will work as well in Oneiric as in 
Precise.
  
  [Text Case]
  0.  watch dmesg and /var/log/Xorg.0.log
  1.  Obtain a large jpg file, such as a photo scaled up in gimp to >16M in 
file size.
  2.  Load the photo using eog
  3.  If eog successfully loads it, try rotating the image several times
  Broken Behavior: Errors will emit to dmesg and X logs, then GPU will lockup 
and/or the X server will crash
  Fixed Behavior: The image will load and rotate without crashes or lockups.
  
  [Regression Potential]
- Unknown at this time.
+ Things to watch for include X crashes or odd behaviors relating to large 
image rotation or interaction.  Indeed, upstream thinks there might be some 
secondary issues (haven't seen any so far myself), but presumably less severe 
than crashing.
+ 
+ Since the patch is the same for both oneiric and precise, I think we'll
+ get an ample amount of testing just from folks running Precise.  And the
+ chance of there being regressions from this patch affecting oneiric,
+ that don't affect precise, should be very low.
  
  [Original Report]
  When I turn left or right an image, system logs out and I have to log again 
on my count
  
  (gdb) backtrace full
  #0  __memcpy_ssse3_rep () at 
../sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S:191
  No locals.
  #1  0xb739788c in intel_uxa_pixmap_put_image (pixmap=<optimized out>, 
src=0x9c6e420 "",
      src_pitch=32000, x=0, y=0, w=8000, h=8) at 
/usr/include/i386-linux-gnu/bits/string3.h:52
          dst = 0xa41ee000 <Address 0xa41ee000 out of bounds>
          row_length = 32000
          num_rows = 8
          priv = 0x9ba3298
          stride = 32256
          cpp = <optimized out>
          ret = 0
  #2  0xb739968c in intel_uxa_put_image (pixmap=0x9ba3250, x=0, y=0, w=8000, 
h=8, src=0x9c6e420 "",
      src_pitch=32000) at ../../src/intel_uxa.c:769
          priv = 0x9ba3298
  #3  0xb73b0553 in uxa_do_put_image (src_stride=32000, bits=0x9c6e420 "", 
format=2, h=8, w=8000, y=0,
      x=0, pGC=0x9c399d0, pDrawable=0x9ba3250, depth=<optimized out>) at 
../../uxa/uxa-accel.c:164
          y1 = 0
          x2 = 159692224
          ok = <optimized out>
          x1 = <optimized out>
          y2 = <optimized out>
          src = 0x9c6e420 ""
          yoff = 0
          uxa_screen = 0x0
          pPix = 0x9ba3250
          pClip = <optimized out>
          pbox = 0x9c1c590
          nbox = <optimized out>
          xoff = 0
          bpp = <optimized out>
  #4  uxa_put_image (pDrawable=0x9ba3250, pGC=0x9c399d0, depth=24, x=0, y=0, 
w=8000, h=8, leftPad=0,
      format=2, bits=0x9c6e420 "") at ../../uxa/uxa-accel.c:202
  No locals.
  
  From dmesg:
  [ 41787.607] (EE) intel(0): Couldn't create pixmap for fbcon
  ...
  [ 52602.993] (EE) intel(0): Couldn't create pixmap for fbcon
  ...
  [ 88171.985] (EE) intel(0): Couldn't create pixmap for fbcon
  ...
  [ 88172.435] (WW) intel(0): I830DRI2GetMSC:1297 get vblank counter failed: 
Invalid argument
  [ 88172.438] (WW) intel(0): I830DRI2ScheduleWaitMSC:1364 get vblank counter 
failed: Invalid argument
  [ 88172.440] (WW) intel(0): I830DRI2GetMSC:1297 get vblank counter failed: 
Invalid argument
  [ 88172.440] (WW) intel(0): first get vblank counter failed: Invalid argument
  [ 88172.903] (WW) intel(0): I830DRI2GetMSC:1297 get vblank counter failed: 
Invalid argument
  [ 88172.905] (WW) intel(0): I830DRI2ScheduleWaitMSC:1364 get vblank counter 
failed: Invalid argument
  [ 88172.959] (WW) intel(0): I830DRI2GetMSC:1297 get vblank counter failed: 
Invalid argument
  [ 88172.970] (WW) intel(0): I830DRI2ScheduleWaitMSC:1364 get vblank counter 
failed: Invalid argument
  [ 88173.143] (WW) intel(0): I830DRI2GetMSC:1297 get vblank counter failed: 
Invalid argument
  [ 88173.177] (WW) intel(0): I830DRI2ScheduleWaitMSC:1364 get vblank counter 
failed: Invalid argument
  [ 88173.363] (WW) intel(0): I830DRI2ScheduleWaitMSC:1364 get vblank counter 
failed: Invalid argument
  [ 88174.698] (WW) intel(0): first get vblank counter failed: Invalid argument
  [ 88175.457] (WW) intel(0): first get vblank counter failed: Invalid argument
  <repeats for a while>
  [100285.751] (WW) intel(0): first get vblank counter failed: Invalid argument
  [100314.429]
  Backtrace:
  [100314.770] 0: /usr/bin/X (xorg_backtrace+0x37) [0x80a66f7]
  [100314.770] 1: /usr/bin/X (0x8048000+0x62b3a) [0x80aab3a]
  [100314.770] 2: (vdso) (__kernel_rt_sigreturn+0x0) [0x1c340c]
  [100314.770] 3: /lib/i386-linux-gnu/libc.so.6 (0x276000+0x117771) [0x38d771]
  [100314.770] 4: /usr/lib/xorg/modules/drivers/intel_drv.so (0x52a000+0xe85c) 
[0x53885c]
  [100314.770] 5: /usr/lib/xorg/modules/drivers/intel_drv.so (0x52a000+0x1066c) 
[0x53a66c]
  [100314.770] 6: /usr/lib/xorg/modules/drivers/intel_drv.so (0x52a000+0x27873) 
[0x551873]
  [100314.770] 7: /usr/bin/X (0x8048000+0xe643a) [0x812e43a]
  [100314.771] 8: /usr/bin/X (0x8048000+0x26997) [0x806e997]
  [100314.771] 9: /usr/bin/X (0x8048000+0x2a117) [0x8072117]
  [100314.771] 10: /usr/bin/X (0x8048000+0x1c70c) [0x806470c]
  [100314.771] 11: /lib/i386-linux-gnu/libc.so.6 (__libc_start_main+0xf3) 
[0x28f113]
  [100314.771] 12: /usr/bin/X (0x8048000+0x1ca21) [0x8064a21]
  [100314.771] Bus error at address 0xa38ba008
  [100314.800]
  Caught signal 7 (Bus error). Server aborting
  
  ProblemType: Bug
  DistroRelease: Ubuntu 11.10
  Package: eog 3.2.1-0ubuntu1
  ProcVersionSignature: Ubuntu 3.0.0-12.20-generic 3.0.4
  Uname: Linux 3.0.0-12-generic i686
  NonfreeKernelModules: wl
  ApportVersion: 1.23-0ubuntu4
  Architecture: i386
  Date: Fri Nov 11 12:42:15 2011
  ExecutablePath: /usr/bin/eog
  InstallationMedia: Ubuntu 11.10 "Oneiric" - Build i386 LIVE Binary 
20111013-11:02
  ProcEnviron:
   PATH=(custom, no user)
   LANG=fr_FR.UTF-8
   SHELL=/bin/bash
  SourcePackage: eog
  UpgradeStatus: Upgraded to oneiric on 2011-11-05 (6 days ago)

-- 
You received this bug notification because you are a member of Ubuntu-X,
which is subscribed to xserver-xorg-video-intel in Ubuntu.
https://bugs.launchpad.net/bugs/889068

Title:
  eog logs me out when I try to turn right or left an image

To manage notifications about this bug go to:
https://bugs.launchpad.net/xserver-xorg-video-intel/+bug/889068/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~ubuntu-x-swat
Post to     : ubuntu-x-swat@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ubuntu-x-swat
More help   : https://help.launchpad.net/ListHelp

Reply via email to