Bug#622401: xserver-xorg-video-trident: Error message and exit with iceape and iceweasel. One solution.
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.
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.
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.
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.
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.
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