XBMC/Ubuntu/AMD780G crashes on video stop
#1
Hi,

Introduction:
i have been using xbmc for over half a year on my htpc based on amd 780g. Now I reinstalled everything because my hdd just said "no, i don't like to work anymore" to me last week.
Another thing - has someone tipps for the xorg.conf? i have some kind of underscan?! 1080p resolution does not fill my picture completely.

Problem:
My XBMC stops working with a black screen, quitting xbmc instantly or the picture freezes. Switching with STRG+ALT+Fx to another tty still works and mostly i am able to kill xbmc if it did not quit itselfs with kill -9 ... sometimes even that isn't working and i have to reboot.
This error occures only when i stop playing a video or try to quit xbmc. Switching from one paused or still running video to another is no problem. I can really do everything but not stopping videos or quitting xbmc. Sometimes it works but 7 of 10 times it does not work.
This problem is really getting annoying to me Undecided it happens on avi/mkv ... doesn't matter which container. Also tested different codecs like divx/xvid.

Specs/versions:
Hopefully i didn't forget to post something here, else just ask please :-)

AMD780G with Radeon 3200 IGP and 256MB shared memory
AMD AthlonX2 Neo L325
A-DATA 2GB DDR2 667 RAM
WD Blue 160GB SATA 2,5"
WD Blue 320GB e-SATA 2,5"
Seagate Barracuda 500GB 7200.11 USB 3,5"
Seagate Barracuda 500GB 7200.11 USB 3,5"

Ubuntu 10.10 i386
- Kernel 2.6.35-25
- Xorg 1.9.0

Drivers
- fglrx 2:8.780-0
- libva 0.31.1-1 sds5
- libva dbg 0.31.1-1 sds5
- libva dev 0.31.1-1 sds5
- xvba-video 0.7.8.pre1-1

XBMC build from GIT 17-02-2011
- configured with vaapi
- patched with vaapi_surface_reuse.patch
GLSL
VDPAU disabled / VAAPI enabled
no refresh sync (24p)
A/V sync with video (audio resample)
1920*1080 with HDMI
blank screen sync set by driver
Audio Output Optical 5.1 DD/DTS HDA ATI iec981?! (ALSA)
Audio Passtrough iec981?! (ALSA)

1080p video performance
constant 24fps
gpu <=10%
cpu <=10%

logs/output:

I will post some more on a pastesite this evening if this information give you no hints already.

xorg.conf

Section "ServerLayout"
Identifier "aticonfig Layout"
Screen 0 "aticonfig-Screen[0]-0" 0 0
EndSection

Section "Module"
EndSection

Section "Monitor"
Identifier "aticonfig-Monitor[0]-0"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection

Section "Device"
Identifier "aticonfig-Device[0]-0"
Driver "fglrx"
BusID "PCI:1:5:0"
EndSection

Section "Screen"
Identifier "aticonfig-Screen[0]-0"
Device "aticonfig-Device[0]-0"
Monitor "aticonfig-Monitor[0]-0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection


vainfo (started via VNC because i am not at home)
libva: libva version 0.31.1-sds1
Xlib: extension "XFree86-DRI" missing on display ":0:0".
libva: vagetDriverName() returns 0
libva: Trying to open /usr/lib/va/drivers/fglrx_drv_video.so
Xlib: extension "XFree86-DRI" missing on display ":0:0".
libva: va_openDriver() returns 0
vainfo: VA API Version: 0.31
vainfo: Driver version: Splitted-Desktop Systems XvBa backend for VA-API - 0.7.8.pre1
vainfo: Supported profile and entrypoints
VAProfileH264High : VA EntrypointVLD
VAProfileVC1Advanced : VA EntrypointVLD

fglrxinfo (started via VNC because i am not at home)
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 3200 Graphics
OpenGL version string: 3.3.10237 Compatibility Profile Context

EDIT:

SOLVED by patching reference_clock_hang.patch
also usefull for ati users is vaapi_surface_reuse.patch

big thanks to bobo1on1
Reply
#2
xbmc crashlog
############## XBMC CRASH LOG ###############

################ SYSTEM INFO ################
Date: Mi 16. Feb 20:40:15 CET 2011
XBMC Options:
Arch: i686
Kernel: Linux 2.6.35-25-generic #44-Ubuntu SMP Fri Jan 21 17:40:48 UTC 2011
Release:
Distributor ID: Ubuntu
Description: Ubuntu 10.10
Release: 10.10
Codename: maverick
############## END SYSTEM INFO ##############

############### STACK TRACE #################
=====> Core file: /home/philad/core (2011-02-16 20:40:15.744031000 +0100)
=========================================
[New Thread 2713]
[New Thread 2731]
[New Thread 2732]
[New Thread 2734]
[New Thread 2756]
[New Thread 2757]
[New Thread 2857]
[New Thread 2856]
[New Thread 2733]
Core was generated by `/usr/local/lib/xbmc/xbmc.bin'.
Program terminated with signal 11, Segmentation fault.
#0 0x051f1516 in XUngrabPointer () from /usr/lib/libX11.so.6

Thread 9 (Thread 2733):
#0 0x00d55416 in __kernel_vsyscall ()
#1 0x0157c371 in select () from /lib/libc.so.6
#2 0x0822af1b in JSONRPC::CTCPServer:Tonguerocess (this=0xb3944fa0) at TCPServer.cpp:83
#3 0x088992e5 in CThread:ConfusedtaticThread (data=0xb3944fa8) at Thread.cpp:202
#4 0x00b3ecc9 in start_thread () from /lib/libpthread.so.0
#5 0x0158369e in clone () from /lib/libc.so.6

Thread 8 (Thread 2856):
#0 0x00d55416 in __kernel_vsyscall ()
#1 0x00b43884 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2 0x07a7bcb1 in SDL_CondWaitTimeout () from /usr/lib/libSDL-1.2.so.0
#3 0x082138cb in WaitForEvent (hHandle=0xadb5048, dwMilliseconds=<value optimized out>) at XSyncUtils.cpp:228
#4 0x08213a75 in WaitForSingleObject (hHandle=0xadb5048, dwMilliseconds=30000) at XSyncUtils.cpp:275
#5 0x0889717d in CEvent::WaitMSec (this=0x8c646fc, milliSeconds=30000) at Event.cpp:104
#6 0x08290988 in CJobManager::GetNextJob (this=0x8c64620, worker=0xb4778510) at JobManager.cpp:256
#7 0x08290d2d in CJobWorker:Tonguerocess (this=0xb4778510) at JobManager.cpp:58
#8 0x088992e5 in CThread:ConfusedtaticThread (data=0xb4778510) at Thread.cpp:202
#9 0x00b3ecc9 in start_thread () from /lib/libpthread.so.0
#10 0x0158369e in clone () from /lib/libc.so.6

Thread 7 (Thread 2857):
#0 0x00d55416 in __kernel_vsyscall ()
#1 0x00b43884 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2 0x07a7bcb1 in SDL_CondWaitTimeout () from /usr/lib/libSDL-1.2.so.0
#3 0x082138cb in WaitForEvent (hHandle=0xadb5048, dwMilliseconds=<value optimized out>) at XSyncUtils.cpp:228
#4 0x08213a75 in WaitForSingleObject (hHandle=0xadb5048, dwMilliseconds=30000) at XSyncUtils.cpp:275
#5 0x0889717d in CEvent::WaitMSec (this=0x8c646fc, milliSeconds=30000) at Event.cpp:104
#6 0x08290988 in CJobManager::GetNextJob (this=0x8c64620, worker=0xafc10a68) at JobManager.cpp:256
#7 0x08290d2d in CJobWorker:Tonguerocess (this=0xafc10a68) at JobManager.cpp:58
#8 0x088992e5 in CThread:ConfusedtaticThread (data=0xafc10a68) at Thread.cpp:202
#9 0x00b3ecc9 in start_thread () from /lib/libpthread.so.0
#10 0x0158369e in clone () from /lib/libc.so.6

Thread 6 (Thread 2757):
#0 0x00d55416 in __kernel_vsyscall ()
#1 0x00b45895 in sem_wait@@GLIBC_2.1 () from /lib/libpthread.so.0
#2 0xb69cd673 in ?? () from /usr/lib/fglrx/dri/fglrx_dri.so
#3 0x0158369e in clone () from /lib/libc.so.6

Thread 5 (Thread 2756):
#0 0x00d55416 in __kernel_vsyscall ()
#1 0x00b45895 in sem_wait@@GLIBC_2.1 () from /lib/libpthread.so.0
#2 0xb69cd673 in ?? () from /usr/lib/fglrx/dri/fglrx_dri.so
#3 0x0158369e in clone () from /lib/libc.so.6

Thread 4 (Thread 2734):
#0 0x00d55416 in __kernel_vsyscall ()
#1 0x01574df6 in poll () from /lib/libc.so.6
#2 0x00959cae in ?? () from /usr/lib/libavahi-common.so.3
#3 0x0095845c in avahi_simple_poll_run () from /usr/lib/libavahi-common.so.3
#4 0x00958ca0 in avahi_simple_poll_iterate () from /usr/lib/libavahi-common.so.3
#5 0x00958cf0 in avahi_simple_poll_loop () from /usr/lib/libavahi-common.so.3
#6 0x00959a9b in ?? () from /usr/lib/libavahi-common.so.3
#7 0x00b3ecc9 in start_thread () from /lib/libpthread.so.0
#8 0x0158369e in clone () from /lib/libc.so.6

Thread 3 (Thread 2732):
#0 0x00d55416 in __kernel_vsyscall ()
#1 0x01574df6 in poll () from /lib/libc.so.6
#2 0x00ab0c4b in ?? () from /lib/libdbus-1.so.3
#3 0x00aa99af in ?? () from /lib/libdbus-1.so.3
#4 0x00aa782c in ?? () from /lib/libdbus-1.so.3
#5 0x00a90c13 in ?? () from /lib/libdbus-1.so.3
#6 0x00a931e7 in ?? () from /lib/libdbus-1.so.3
#7 0x0895e43b in DBUSSERVER::CDbusServer::Run (this=0xae262114) at DbusServer.cpp:298
#8 0x08898c27 in CThread:Tonguerocess (this=0xb393beb8) at Thread.cpp:471
#9 0x088992e5 in CThread:ConfusedtaticThread (data=0xb393beb8) at Thread.cpp:202
#10 0x00b3ecc9 in start_thread () from /lib/libpthread.so.0
#11 0x0158369e in clone () from /lib/libc.so.6

Thread 2 (Thread 2731):
#0 0x00d55416 in __kernel_vsyscall ()
#1 0x0157c371 in select () from /lib/libc.so.6
#2 0x08229400 in SOCKETS::CSocketListener::Listen (this=0xaea63118, timeout=1000) at Socket.cpp:195
#3 0x082215b5 in EVENTSERVER::CEventServer::Run (this=0xb3928430) at EventServer.cpp:213
#4 0x082218b8 in EVENTSERVER::CEventServer:Tonguerocess (this=0xb3928430) at EventServer.cpp:148
#5 0x088992e5 in CThread:ConfusedtaticThread (data=0xb3928430) at Thread.cpp:202
#6 0x00b3ecc9 in start_thread () from /lib/libpthread.so.0
#7 0x0158369e in clone () from /lib/libc.so.6

Thread 1 (Thread 2713):
#0 0x051f1516 in XUngrabPointer () from /usr/lib/libX11.so.6
#1 0x07a5ba55 in ?? () from /usr/lib/libSDL-1.2.so.0
#2 0x07a66a5b in ?? () from /usr/lib/libSDL-1.2.so.0
#3 0x07a66ade in ?? () from /usr/lib/libSDL-1.2.so.0
#4 0x07a5206f in ?? () from /usr/lib/libSDL-1.2.so.0
#5 0x07a5214c in ?? () from /usr/lib/libSDL-1.2.so.0
#6 0x07a52aca in SDL_VideoQuit () from /usr/lib/libSDL-1.2.so.0
#7 0x07a2a553 in SDL_QuitSubSystem () from /usr/lib/libSDL-1.2.so.0
#8 0x07a2a5ee in SDL_Quit () from /usr/lib/libSDL-1.2.so.0
#9 0x07a2ae8f in ?? () from /usr/lib/libSDL-1.2.so.0
#10 <signal handler called>
#11 0x051f1516 in XUngrabPointer () from /usr/lib/libX11.so.6
#12 0x07a5ba55 in ?? () from /usr/lib/libSDL-1.2.so.0
#13 0x07a66a5b in ?? () from /usr/lib/libSDL-1.2.so.0
#14 0x07a66ade in ?? () from /usr/lib/libSDL-1.2.so.0
#15 0x07a5206f in ?? () from /usr/lib/libSDL-1.2.so.0
#16 0x07a5214c in ?? () from /usr/lib/libSDL-1.2.so.0
#17 0x07a52aca in SDL_VideoQuit () from /usr/lib/libSDL-1.2.so.0
#18 0x07a2a553 in SDL_QuitSubSystem () from /usr/lib/libSDL-1.2.so.0
#19 0x07a2a5ee in SDL_Quit () from /usr/lib/libSDL-1.2.so.0
#20 0x014e269e in ?? () from /lib/libc.so.6
#21 0x014e270f in exit () from /lib/libc.so.6
#22 0x051f3bb0 in _XDefaultIOError () from /usr/lib/libX11.so.6
#23 0x07a6395b in ?? () from /usr/lib/libSDL-1.2.so.0
#24 0x051f3c36 in _XIOError () from /usr/lib/libX11.so.6
#25 0x051fba8a in ?? () from /usr/lib/libX11.so.6
#26 0x051fc036 in _XReply () from /usr/lib/libX11.so.6
#27 0x051ef867 in XSync () from /usr/lib/libX11.so.6
#28 0x00c96205 in ?? () from /usr/lib/fglrx/libGL.so.1
############# END STACK TRACE ###############

################# LOG FILE ##################

20:40:22 T:3079075696 M:1418375168 NOTICE: -----------------------------------------------------------------------


############### END LOG FILE ################

############ END XBMC CRASH LOG #############
Reply
#3
Turn off sync playback to display.
Reply
#4
EDIT:
i did uncheck that option ... it really seems to work now?! i was really thinking that i tried all combinations of xbmc considering the configuration ... maybe this option didn't seem to be important enough ... but playing 1080p without this options leads in some cases that audio and video is not synced now ... i would have to restart a movie after i paused it or forwarded/backwarded or there has been a lag ... so switching this setting of is not really a solution but i know why xbmc crashes ...

what can i do now?!
Reply
#5
You can try this patch: http://pastebin.com/5tzb8fQj
Reply
#6
oh i have found this patch before and also wanted to patch it, but he did throw 2 errors ... i tried again and also get:

i did ./bootstrap && ./configure --enable-vaapi
and after that i tried to patch but:

patch -p0 < clock-hang.patch (Stripping trailing CRs from patch.)
patching file b/xbmc/video/VideoReferenceClock.cpp
Hunk #1 FAILED at 112.
Hunk #2 FAILED at 217.
patch unexpectedly ends in middle of line
Hunk #3 FAILED at 424.
3 out of 3 hunks FAILED -- saving rejects to file b/xbmc/video/VideoReferenceClock.cpp.rej
Reply
#7
patch -p1 for git patches Wink
Reply
#8
oh sorry my fault :-)

now i got the following -> is that a success?!?!


patch -p1 < clock-hang.patch
(Stripping trailing CRs from patch.)
patching file xbmc/video/VideoReferenceClock.cpp
patch unexpectedly ends in middle of line
Hunk #3 succeeded at 428 with fuzz 1.
Reply
#9
Just check with "git diff" if everything is there.
Reply
#10
so it is 2:40 now and i have to wake up at 7am again xD but everything works absolutely great now ... no more crashes ... i just did test it for hours xDD because i just didn't believe that it is finally running without issues ...
i took a while ... i wanted to reconfigure but he always aborted at lgl ... so i thought libGL.so is the problem ... didn't know which package that was ... just tought it could be fglrx so i reinstalled that ... didn't help ... then i just reinstalled everything ... undo'd also the build-dep xbmc and installed them again ... finally it has been libgl1-mesa-dev package which i had to fix by reinstalling it ... after that i was able to configure and compile again ... enabled a/v sync and tested by playing und pausing videos and quitting xbmc ... no crashes ^^
i already wanted to install that patch before but i failed at p0 instead of p1 xDD omg ... and then i just didn't care about it and did also forget about this patch Undecided

thanks for your help and fast reply ... you did really help me out ... i already tried for days and have had long nights like today ... i love xbmc and didn't want to change to another mediacenter :-)
Reply
#11
https://github.com/xbmc/xbmc/commit/402b...a296423fde should do the trick then.
Reply

Logout Mark Read Team Forum Stats Members Help
XBMC/Ubuntu/AMD780G crashes on video stop1