Public bug reported: Binary package hint: xserver-xorg-video-nv
Ubuntu 8.04.1 i386 Integrated NVidia video card: (lspci -v) 00:05.0 VGA compatible controller: nVidia Corporation C51 [Quadro NVS 210S/GeForce 6150LE] (rev a2) (prog-if 00 [VGA controller]) Subsystem: ASUSTeK Computer Inc. Unknown device 81cd Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 5 Memory at fc000000 (32-bit, non-prefetchable) [size=16M] Memory at d0000000 (64-bit, prefetchable) [size=256M] Memory at fb000000 (64-bit, non-prefetchable) [size=16M] [virtual] Expansion ROM at 88000000 [disabled] [size=128K] Capabilities: [48] Power Management version 2 Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable- Some times when I double-click to some video file (.flv from youtube for ex.) totem window appears and resize. And in this moment, before playing video, X.org totally freezes. Still I can login via ssh from another computer. X eats 100% CPU. gdb > attach <PID of X> 0xb6fa3a36 in NVSync () from /usr/lib/xorg/modules/drivers//nv_drv.so (gdb) bt #0 0xb6fa3a36 in NVSync () from /usr/lib/xorg/modules/drivers//nv_drv.so #1 0xb5c9bf22 in XAACopyAreaFallback () from /usr/lib/xorg/modules//libxaa.so #2 0xb5c9d1d7 in XAACopyArea () from /usr/lib/xorg/modules//libxaa.so #3 0xb5cdc33a in cwCopyArea () from /usr/lib/xorg/modules//libxaa.so #4 0x08172516 in ?? () #5 0x0811fcac in ?? () #6 0x08130828 in ?? () #7 0x081308f1 in ?? () #8 0x08129ac5 in miPointerUpdateSprite () #9 0x080c80bd in ProcessInputEvents () #10 0x0808d867 in Dispatch () #11 0x0807471b in main () I try * apt-get source xserver-xorg-video-nv * cd xserver-xorg-video-nv-2.1.8 * nano debian/rules and comment #dh_strip * dpkg-buildpackage -rfakeroot -b * cd .. * sudo dpkg -i xserver-xorg-video-nv_2.1.8-sashnov1_i386.deb Back trace with debug symbols: 0xb6f43a16 in NVSync (pScrn=0x821d160) at ../../src/nv_xaa.c:305 305 while(pNv->PGRAPH[0x0700/4]); (gdb) bt #0 0xb6f43a16 in NVSync (pScrn=0x821d160) at ../../src/nv_xaa.c:305 #1 0xb5c3bf22 in XAACopyAreaFallback () from /usr/lib/xorg/modules//libxaa.so #2 0xb5c3d1d7 in XAACopyArea () from /usr/lib/xorg/modules//libxaa.so #3 0xb5c7c33a in cwCopyArea () from /usr/lib/xorg/modules//libxaa.so #4 0x08172516 in ?? () #5 0x0811ed44 in ?? () #6 0x081307d0 in ?? () #7 0x081308f1 in ?? () #8 0x08129ac5 in miPointerUpdateSprite () #9 0x080c80bd in ProcessInputEvents () #10 0x0808d867 in Dispatch () #11 0x0807471b in main () Additionally, may be following been usefull: (gdb) info locals pNv = (NVPtr) 0x821d650 (gdb) print pNv $1 = (NVPtr) 0x821d650 (gdb) print *pNv $2 = {SavedReg = {bpp = 0, width = 0, height = 0, interlace = 255, repaint0 = 0, repaint1 = 189, screen = 16, scale = 269484049, dither = 786432, extra = 0, fifo = 24, pixel = 128, horiz = 0, arbitration0 = 133, arbitration1 = 128, pll = 0, pllB = 0, vpll = 334339, vpll2 = 197633, vpllB = 2147495435, vpll2B = 2147490307, pllsel = 2052, control = 0, general = 256, crtcOwner = 3, head = 16, head2 = 0, config = 0, cursorConfig = 33554432, cursor0 = 0, cursor1 = 0, cursor2 = 0, timingH = 10, timingV = 2, displayV = 0, crtcSync = 1252, crtcVSync = 1024}, ModeReg = {bpp = 0, width = 0, height = 0, interlace = 0, repaint0 = 0, repaint1 = 0, screen = 0, scale = 0, dither = 0, extra = 0, fifo = 0, pixel = 0, horiz = 0, arbitration0 = 0, arbitration1 = 0, pll = 0, pllB = 0, vpll = 0, vpll2 = 0, vpllB = 0, vpll2B = 0, pllsel = 0, control = 0, general = 0, crtcOwner = 0, head = 0, head2 = 0, config = 0, cursorConfig = 0, cursor0 = 0, cursor1 = 0, cursor2 = 0, timingH = 0, timingV = 0, displayV = 0, crtcSync = 0, crtcVSync = 0}, CurrentState = 0x0, Architecture = 64, CursorStart = 33013760, pEnt = 0x821af98, PciInfo = 0x8218f18, PciTag = 10240, Chipset = 282985029, ChipRev = 162, Primary = 1, IOAddress = 4227858432, FbAddress = 3489660928, FbBase = 0xb3c2f000 <Address 0xb3c2f000 out of bounds>, FbStart = 0xb3c2f000 <Address 0xb3c2f000 out of bounds>, FbMapSize = 33554432, FbUsableSize = 32980992, ScratchBufferSize = 16384, ScratchBufferStart = 32964608, NoAccel = 0, HWCursor = 0, FpScale = 1, ShadowFB = 0, ShadowPtr = 0x0, ShadowPitch = 0, MinVClockFreqKHz = 12000, MaxVClockFreqKHz = 400000, CrystalFreqKHz = 27000, RamAmountKBytes = 32768, REGS = 0xb5ca4000, PCRTC0 = 0xb62a4000, PCRTC = 0xb62a6000, PRAMDAC0 = 0xb6324000, PFB = 0xb5da4000, PFIFO = 0xb5ca6000, PGRAPH = 0xb60a4000, PEXTDEV = 0xb5da5000, PTIMER = 0xb5cad000, PMC = 0xb5ca4000, PRAMIN = 0xb63b4000, FIFO = 0xb64a4000, CURSOR = 0x0, PCIO0 = 0xb62a5000 <Address 0xb62a5000 out of bounds>, PCIO = 0xb62a7000 <Address 0xb62a7000 out of bounds>, PVIO = 0xb5d64000 <Address 0xb5d64000 out of bounds>, PDIO0 = 0xb6325000 <Address 0xb6325000 out of bounds>, PDIO = 0xb6327000 <Address 0xb6327000 out of bounds>, PRAMDAC = 0xb6326000, AccelInfoRec = 0x824b0d8, CursorInfoRec = 0x0, DGAModes = 0x8249fb0, numDGAModes = 40, DGAactive = 0, DGAViewportStatus = 0, PointerMoved = 0, BlockHandler = 0x81304b0, CloseScreen = 0xb6f93120 <XvCloseScreen>, ---Type <return> to continue, or q <return> to quit--- EnableDisableFBAccess = 0xb5c35e00 <XAAEnableDisableFBAccess>, accessEnabled = 1, FBDev = 0, Rotate = 0, CurrentLayout = {bitsPerPixel = 32, depth = 24, displayWidth = 3584, weight = {red = 8, green = 8, blue = 8}, mode = 0x8220d48}, curFg = 0, curBg = 0, curImage = { 0 <repeats 256 times>}, I2C = 0x821fc28, pInt = 0x0, VideoTimerCallback = 0xb6f41fd0 <NVVideoTimerCallback>, DMAKickoffCallback = 0, overlayAdaptor = 0x0, blitAdaptor = 0x8264930, videoKey = 66046, FlatPanel = 1, FPDither = 0, Television = 0, CRTCnumber = 1, Options = 0x821efe8, alphaCursor = 1, DDCBase = 54 '6', twoHeads = 1, twoStagePLL = 1, fpScaler = 1, fpWidth = 1280, fpHeight = 1024, fpVTotal = 1066, fpSyncs = 268435473, usePanelTweak = 0, PanelTweak = 0, LVDS = 0, dmaPut = 3519, dmaCurrent = 3519, dmaFree = 4644, dmaMax = 8191, dmaBase = 0xb5ba3000, currentRop = 3, WaitVSyncPossible = 1, BlendingPossible = 1, RandRRotation = 0, VBEDualhead = 1, pVbe = 0x821f770, pVbeInfo = 0x821f9a0, vbeMode = 3, vbeCRTC1Offset = 5120} Now I fix it for my self with dirty hack: src/nv_xaa.c: void NVSync(ScrnInfoPtr pScrn) { NVPtr pNv = NVPTR(pScrn); if(pNv->DMAKickoffCallback) (*pNv->DMAKickoffCallback)(pScrn); while(READ_GET(pNv) != pNv->dmaPut); - while(pNv->PGRAPH[0x0700/4]); + int n = 65535; + while(pNv->PGRAPH[0x0700/4] && n-- > 0); } ProblemType: Bug Architecture: i386 Date: Tue Sep 9 12:37:51 2008 DistroRelease: Ubuntu 8.04 Package: xserver-xorg-video-nv 1:2.1.8-1ubuntu1 PackageArchitecture: i386 ProcEnviron: PATH=/home/username/bin:/home/username/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games LANG=ru_RU.UTF-8 SHELL=/bin/bash SourcePackage: xserver-xorg-video-nv Uname: Linux 2.6.24-19-generic i686 ** Affects: xserver-xorg-video-nv (Ubuntu) Importance: Undecided Status: New ** Tags: apport-bug -- xserver-xorg-video-nv driver hangs in NVSync when totem start play video https://bugs.launchpad.net/bugs/268011 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs