Bug#622401: xserver-xorg-video-trident: Error message and exit with iceape and iceweasel. One solution.

2012-06-27 Thread Bjarni Ingi Gislason
  This bug report can be closed, as there is no sign of it in the
Debian Squeeze version (6.0.5).

-- 
Bjarni I. Gislason



-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120627204031.ga20...@rhi.hi.is



Bug#622401: xserver-xorg-video-trident: Error message and exit with iceape and iceweasel. One solution.

2011-05-11 Thread Bjarni Ingi Gislason
On Sun, May 08, 2011 at 10:26:00AM +0200, Julien Cristau wrote:
 On Sun, May  8, 2011 at 01:25:01 +, Bjarni Ingi Gislason wrote:
 
The X server issues PreInit that maps and unmaps.  Then it
  issues ScreenInit which maps.
  
iceweasel causes a second map though ScreenInit, which
  leads to error.
  
 That should never happen.  ScreenInit is called at the start of a
 session, and CloseScreen should be called before the next ScreenInit.
 That's not a client bug.
 

  You are probably right.  I have made some more tests in the
trident driver code.  Unmapping is only done in CloseScreen,
if vtSema is true.  If I switch terminals after issuing a
single X  command to issue iceweasel, then vtSema is false
in the next CloseScreen.  iceweasel switches automatically to
the X display, but xpdf does not do it.

  If I transfer the TRIDENTUnmapMem(pScrn) subroutine outside the
if (pScrn-vtSema) block, then the missing unmapping occurs.

  A comment in the code before CloseScreen is:

It should really also unmap the video memory too.

  The conditions to trigger the error (using libpciaccess) are

1) change from the X display (pure server, e.g. X -retro ) to
a text terminal

2) issue a X client (in the background) that automatically switches
to the X display.

  Other video drivers should be tested in this way.

-- 
Bjarni I. Gislason



--
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110511185039.ga24...@rhi.hi.is



Bug#622401: xserver-xorg-video-trident: Error message and exit with iceape and iceweasel. One solution.

2011-05-08 Thread Julien Cristau
On Sun, May  8, 2011 at 01:25:01 +, Bjarni Ingi Gislason wrote:

   The X server issues PreInit that maps and unmaps.  Then it
 issues ScreenInit which maps.
 
   iceweasel causes a second map though ScreenInit, which
 leads to error.
 
That should never happen.  ScreenInit is called at the start of a
session, and CloseScreen should be called before the next ScreenInit.
That's not a client bug.

Cheers,
Julien



-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110508082600.gq2...@radis.liafa.jussieu.fr



Bug#622401: xserver-xorg-video-trident: Error message and exit with iceape and iceweasel. One solution.

2011-05-07 Thread Bjarni Ingi Gislason
On Fri, Apr 29, 2011 at 09:35:38PM +0200, Julien Cristau wrote:
 On Fri, Apr 29, 2011 at 18:15:11 +, Bjarni Ingi Gislason wrote:
 
  On Thu, Apr 28, 2011 at 06:03:07PM +, Bjarni Ingi Gislason wrote:
   On Fri, Apr 15, 2011 at 07:50:03PM +, Bjarni Ingi Gislason wrote:
On Tue, Apr 12, 2011 at 07:25:21PM +, Bjarni Ingi Gislason wrote:
 Package: xserver-xorg-video-trident
 Version: 1:1.3.4-2
 Severity: important
 
 *** Please type your report below this line ***
 
   If iceweasel or iceape are used, there is an error message
 and exit.
 
 (EE) TRIDENT(0): Unable to map IO aperture. Invalid argument (22)
 Fatal server error:
 AddScreen/ScreenInit failed for driver 0
 ...
 Error: cannot open display: :0
 
   
 Some data related to the PCI bus.
   
  
There is a name error in devp-num_mappings[0]; it should be
  devp-mappings[0].
  
 This causes error 22 (EINVAL), that trident reports:
   
   libpciaccess: common_interface.c: Already mapped is
   devp-num_mappings[0] with devp-num_mappings = 2, base =
   0xfe7f, and size = 0x1
   
   [Rest is removed]
  
(The commands that I use are  X  and iceweasel  on a text
  terminal.)
  
I have to eliminate the return EINVAL; statement to get the
  browser to function.
  
 Sounds like a pci_device_unmap_range is missing from the CloseScreen
 path.  If you can figure that out from the driver that would be nice.
 
 In theory, as far as I can tell:
 - the IO bar is mapped in TRIDENTPreInit, then unmapped before
   TRIDENTPreInit returns
 - it's mapped again in each server generation's TRIDENTScreenInit, and
   unmapped in TRIDENTCloseScreen
 I'm not seeing the error by quick inspection, but I may be missing
 something obvious...
 

  The X server issues PreInit that maps and unmaps.  Then it
issues ScreenInit which maps.

  iceweasel causes a second map though ScreenInit, which
leads to error.

  If I use xinit /usr/bin/iceweasel, then there is no second
ScreenInit (only PreInit and ScreenInit).

  If I use X ; iceweasel , then there is no error, because
of PreInit, ScreenInit, CloseScreen and ScreenInit.  I
usually issue X -retro (to see the mouse cursor) and wait for
the server to come up before I issue another X program.

  The fault lies in the second ScreenInit.  The fault lies
thus with iceweasel, iceape, and any other client that
causes a ScreenInit (without CloseScreen) if used directly
with an X server

  This bug report can be closed.  I will issue a report against
iceweasel and iceape as I find, that clients should work
directly with the X sever, without complicating matters with
xinit or other similar programmes.

  xpdf and gv cause no second ScreenInit.

-- 
Bjarni I. Gislason



--
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110508012501.ga7...@rhi.hi.is



Bug#622401: xserver-xorg-video-trident: Error message and exit with iceape and iceweasel. One solution.

2011-04-29 Thread Bjarni Ingi Gislason
On Thu, Apr 28, 2011 at 06:03:07PM +, Bjarni Ingi Gislason wrote:
 On Fri, Apr 15, 2011 at 07:50:03PM +, Bjarni Ingi Gislason wrote:
  On Tue, Apr 12, 2011 at 07:25:21PM +, Bjarni Ingi Gislason wrote:
   Package: xserver-xorg-video-trident
   Version: 1:1.3.4-2
   Severity: important
   
   *** Please type your report below this line ***
   
 If iceweasel or iceape are used, there is an error message
   and exit.
   
   (EE) TRIDENT(0): Unable to map IO aperture. Invalid argument (22)
   Fatal server error:
   AddScreen/ScreenInit failed for driver 0
   ...
   Error: cannot open display: :0
   
 
   Some data related to the PCI bus.
 

  There is a name error in devp-num_mappings[0]; it should be
devp-mappings[0].

   This causes error 22 (EINVAL), that trident reports:
 
 libpciaccess: common_interface.c: Already mapped is
 devp-num_mappings[0] with devp-num_mappings = 2, base =
 0xfe7f, and size = 0x1
 
 [Rest is removed]

  (The commands that I use are  X  and iceweasel  on a text
terminal.)

  I have to eliminate the return EINVAL; statement to get the
browser to function.

  Some output from an inserted fprintf statement before the
(removed) return EINVAL;.

  The list is cumulative (fopen(..., a)).

Each output line starts with libpciaccess: common_interface.c: Already mapped 
is 

devp-mappings[0] with devp-num_mappings = 4, base = 0xfe7f, and size = 
0x1
devp-mappings[2] with devp-num_mappings = 4, base = 0xfe7f, and size = 
0x1
devp-mappings[1] with devp-num_mappings = 5, base = 0xfdc0, and size = 
0x20
devp-mappings[3] with devp-num_mappings = 5, base = 0xfdc0, and size = 
0x20
devp-mappings[0] with devp-num_mappings = 4, base = 0xfe7f, and size = 
0x1
devp-mappings[2] with devp-num_mappings = 4, base = 0xfe7f, and size = 
0x1
devp-mappings[1] with devp-num_mappings = 5, base = 0xfdc0, and size = 
0x20
devp-mappings[3] with devp-num_mappings = 5, base = 0xfdc0, and size = 
0x20
devp-mappings[0] with devp-num_mappings = 6, base = 0xfe7f, and size = 
0x1
devp-mappings[2] with devp-num_mappings = 6, base = 0xfe7f, and size = 
0x1
devp-mappings[4] with devp-num_mappings = 6, base = 0xfe7f, and size = 
0x1
devp-mappings[1] with devp-num_mappings = 7, base = 0xfdc0, and size = 
0x20
devp-mappings[3] with devp-num_mappings = 7, base = 0xfdc0, and size = 
0x20
devp-mappings[5] with devp-num_mappings = 7, base = 0xfdc0, and size = 
0x20
devp-mappings[0] with devp-num_mappings = 6, base = 0xfe7f, and size = 
0x1
devp-mappings[2] with devp-num_mappings = 6, base = 0xfe7f, and size = 
0x1
devp-mappings[4] with devp-num_mappings = 6, base = 0xfe7f, and size = 
0x1
devp-mappings[1] with devp-num_mappings = 7, base = 0xfdc0, and size = 
0x20
devp-mappings[3] with devp-num_mappings = 7, base = 0xfdc0, and size = 
0x20
devp-mappings[5] with devp-num_mappings = 7, base = 0xfdc0, and size = 
0x20
devp-mappings[0] with devp-num_mappings = 8, base = 0xfe7f, and size = 
0x1
devp-mappings[2] with devp-num_mappings = 8, base = 0xfe7f, and size = 
0x1
devp-mappings[4] with devp-num_mappings = 8, base = 0xfe7f, and size = 
0x1
devp-mappings[6] with devp-num_mappings = 8, base = 0xfe7f, and size = 
0x1
devp-mappings[1] with devp-num_mappings = 9, base = 0xfdc0, and size = 
0x20
devp-mappings[3] with devp-num_mappings = 9, base = 0xfdc0, and size = 
0x20
devp-mappings[5] with devp-num_mappings = 9, base = 0xfdc0, and size = 
0x20
devp-mappings[7] with devp-num_mappings = 9, base = 0xfdc0, and size = 
0x20
devp-mappings[0] with devp-num_mappings = 8, base = 0xfe7f, and size = 
0x1
devp-mappings[2] with devp-num_mappings = 8, base = 0xfe7f, and size = 
0x1
devp-mappings[4] with devp-num_mappings = 8, base = 0xfe7f, and size = 
0x1
devp-mappings[6] with devp-num_mappings = 8, base = 0xfe7f, and size = 
0x1
devp-mappings[1] with devp-num_mappings = 9, base = 0xfdc0, and size = 
0x20
devp-mappings[3] with devp-num_mappings = 9, base = 0xfdc0, and size = 
0x20
devp-mappings[5] with devp-num_mappings = 9, base = 0xfdc0, and size = 
0x20
devp-mappings[7] with devp-num_mappings = 9, base = 0xfdc0, and size = 
0x20
devp-mappings[0] with devp-num_mappings = 10, base = 0xfe7f, and size = 
0x1
devp-mappings[2] with devp-num_mappings = 10, base = 0xfe7f, and size = 
0x1
devp-mappings[4] with devp-num_mappings = 10, base = 0xfe7f, and size = 
0x1
devp-mappings[6] with devp-num_mappings = 10, base = 0xfe7f, and size = 
0x1
devp-mappings[8] with devp-num_mappings = 10, base = 0xfe7f, and size = 
0x1
devp-mappings[1] with devp-num_mappings = 11, base = 0xfdc0, and size = 
0x20
devp-mappings[3] with devp-num_mappings = 11, base = 0xfdc0, and size = 
0x20
devp-mappings[5] with 

Bug#622401: xserver-xorg-video-trident: Error message and exit with iceape and iceweasel. One solution.

2011-04-29 Thread Julien Cristau
On Fri, Apr 29, 2011 at 18:15:11 +, Bjarni Ingi Gislason wrote:

 On Thu, Apr 28, 2011 at 06:03:07PM +, Bjarni Ingi Gislason wrote:
  On Fri, Apr 15, 2011 at 07:50:03PM +, Bjarni Ingi Gislason wrote:
   On Tue, Apr 12, 2011 at 07:25:21PM +, Bjarni Ingi Gislason wrote:
Package: xserver-xorg-video-trident
Version: 1:1.3.4-2
Severity: important

*** Please type your report below this line ***

  If iceweasel or iceape are used, there is an error message
and exit.

(EE) TRIDENT(0): Unable to map IO aperture. Invalid argument (22)
Fatal server error:
AddScreen/ScreenInit failed for driver 0
...
Error: cannot open display: :0

  
Some data related to the PCI bus.
  
 
   There is a name error in devp-num_mappings[0]; it should be
 devp-mappings[0].
 
This causes error 22 (EINVAL), that trident reports:
  
  libpciaccess: common_interface.c: Already mapped is
  devp-num_mappings[0] with devp-num_mappings = 2, base =
  0xfe7f, and size = 0x1
  
  [Rest is removed]
 
   (The commands that I use are  X  and iceweasel  on a text
 terminal.)
 
   I have to eliminate the return EINVAL; statement to get the
 browser to function.
 
Sounds like a pci_device_unmap_range is missing from the CloseScreen
path.  If you can figure that out from the driver that would be nice.

In theory, as far as I can tell:
- the IO bar is mapped in TRIDENTPreInit, then unmapped before
  TRIDENTPreInit returns
- it's mapped again in each server generation's TRIDENTScreenInit, and
  unmapped in TRIDENTCloseScreen
I'm not seeing the error by quick inspection, but I may be missing
something obvious...

Cheers,
Julien



-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110429193538.gb2...@radis.liafa.jussieu.fr