Random Crashing on Nightly Git Compile - Please help diagnose
#1
I have been recieving random crashing when running xbmc compiled from git since approx. 05/28/2012. Before this date everything was fine but now xbmc randomly crashes and I can't seem to trace it too anything specific. Sometimes its when I'm navigating the gui, sometimes its when launching a video, sometimes its when I'm just browsing images, so I don't think its audio related. It never crashes during video playback only on initial launch and usually I can just relaunch the same video after xbmc restarts and it will play fine. I realize that I am running unsupported nightlies which is why I would normally just wait until the problem resolves it self however I have patiently waited a week now to either see a post about a similar problem or have what ever is causing it just go away. I have reviewed the debug and crashlogs everytime it happens however I don't seem to know enough to be able to diagnose the problem. Can somebody please look at the attached logs and maybe suggest a solution to my problem (its driving me nuts.) Any help is appreciated.
xbmc.old.log
xbmc_crashlog-20120605_124700.log
Reply
#2
I think we'll only get decent info if you can get a stack trace (i.e. install GDB).
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#3
(2012-06-06, 01:48)jmarshall Wrote: I think we'll only get decent info if you can get a stack trace (i.e. install GDB).
Thanks for the reply. I installed gdb and now have several crash logs with stack trace, here is the most current (xbmc_crashlog-20120605_173241.log) the error seems to be the same in every crash log just not sure what it means. Looks like it has something todo with python but not sure what. Also noticed something odd not sure its relevant but if I let xbmc sit idle I get a crash exactly every 2 hours.
Reply
#4
Looks likely to be a python 2.7 and/or threading related issue. Your best bet would be to get it reproducible as simply as possible - eg it may be a particular python script that is effected, or it may effect all.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#5
Looks like something is trashing the stack or heap, this can be quite difficult to debug, you either need to find the offending code using gdb or valgrind, or find the offending commit using git bisect.

Did you do a git clean -xfd before compiling? Sometimes not everything is recompiled after doing a git pull, it can cause strange things like this.
Reply
#6
(2012-06-06, 03:46)bobo1on1 Wrote: Looks like something is trashing the stack or heap, this can be quite difficult to debug, you either need to find the offending code using gdb or valgrind, or find the offending commit using git bisect.

Did you do a git clean -xfd before compiling? Sometimes not everything is recompiled after doing a git pull, it can cause strange things like this.

yes, I did the following;
$ make distclean
$ git clean -xfd
$ git pull
$ ./bootstrap
$ ./configure
$ make -j4
$ sudo make install

I also disabled as many add-ons as I could, artwork dowloaders, library updater, background services, etc.
Ps. I do also run sabnzbd, sickbeard, couchpotato v2, maraschino, mysql on the same system and don't seem to be experiencing any problems with them only xbmc
Reply
#7
just wanted to chime in that i'm also getting random crashes. unfortunately my previous build was from two weeks ago (5/20ish) so that doesn't really help narrow down which commit might be the offender. i can post a log but i have no clue what to do with gdb. i haven't noticed any crashes when i've been using xbmc but if i leave it idle for a period of time (most recently a few hours) i come back to a crash.
Reply
#8
(2012-06-06, 04:25)lastimp Wrote:
(2012-06-06, 03:46)bobo1on1 Wrote: Looks like something is trashing the stack or heap, this can be quite difficult to debug, you either need to find the offending code using gdb or valgrind, or find the offending commit using git bisect.

Did you do a git clean -xfd before compiling? Sometimes not everything is recompiled after doing a git pull, it can cause strange things like this.

yes, I did the following;
$ make distclean
$ git clean -xfd
$ git pull
$ ./bootstrap
$ ./configure
$ make -j4
$ sudo make install

I also disabled as many add-ons as I could, artwork dowloaders, library updater, background services, etc.
Ps. I do also run sabnzbd, sickbeard, couchpotato v2, maraschino, mysql on the same system and don't seem to be experiencing any problems with them only xbmc

Same problem here. I use the exact same steps when compiling and have the same external apps. I remember seeing something in one of the crash logs that I thought pointed to python as well. I've gone back to an older commit, but I will try to find the offending commit tomorrow.
Reply
#9
How do you revert to a previous commit and which one did you find that doesn't crash.
Reply
#10
I'm actually using a commit from June 1. (commit 58d5c9dc5383e9633a0583e5193b19fd30d2f785)
So you'll need to go to commits list on github (https://github.com/xbmc/xbmc/commits/) and find the commit you want to revert to.
Then to revert to that specific commit - do a git pull, then do a git checkout commit number.
This will keep you at that specific commit until you do a git checkout master to get back to the current commit.




Reply
#11
Use git bisect: http://ivanz.com/2009/03/27/git-bisect-t...ug-commit/
You can find the commits with git log.
Reply
#12
Wow that's awesome, didn't know about that.....I've been doing it all manually
Reply
#13
if somebody could do a bisect that would be awesome..
Reply
#14
Yeah there's some form of bug in the python parser right now. Seems to be stack corruption and not actually the script code that's running per se. I.e. you can go into a menu just fine, then leave it, then enter it again and *then* it'll crash, suggesting that it's not python scripts that's at fault, but the actual interpreter.

It also isn't related to *how long* XBMC has been running; but rather, it's the sequence of events.

Example: Start XBMC and enter Movie library, browse around the different movies, play some, etc. All works fine. Now leave the Movie library and go to the Videos library - crash. (just an example). Another example would be entering the Videos library, leaving it, and entering it again. There are all kinds of actions that will cause crashes; the general rule is that the first library you enter will work fine, but after that there's a near 100% risk of crashing when entering another library.

Certain menus don't seem to want to crash, such as the System menu.

Not sure what that implies. Perhaps that it's an issue in the Library code's interfacing with Python, after all the thumbnail caching changes? That's my best theory, as it only seems to be library-accessing modules that can cause a crash.

Anyway, I've been up for 24 hours and need to sleep NOW. If Aenima can do the bisect, that would be great. Install ccache (the compiler cache) to speed up the recompile process tremendously. It won't take you long to do this. Remember to re-run ./bootstrap and ./configure to get it to detect cache and use it for compilation.
Reply
#15
(2012-06-06, 17:53)spiff Wrote: if somebody could do a bisect that would be awesome..

It sure would Devil
(2012-06-06, 18:01)john.doe Wrote: Anyway, I've been up for 24 hours and need to sleep NOW. If Aenima can do the bisect, that would be great. Install ccache (the compiler cache) to speed up the recompile process tremendously. It won't take you long to do this. Remember to re-run ./bootstrap and ./configure to get it to detect cache and use it for compilation.

Already have ccache installed. Just want to make sure I'm doing this right....
I did a git checkout master, followed by a git pull.
Then git bisect start, followed by git bisect bad.
Did a git bisect good with the commit from june 1 I'd been running. It says there are 31 revisions left to test.
Now I've done a ./bootstrap and a ./configure (with switches --enable-libbluray --enable-vdpau --disable-pulse --disable-crystalhd --disable-avahi --disable-afpclient --disable-airtunes --disable-airplay TMPDIR=/home/xbmc/Software/XBMC/GIT/temp_compile)
Now I'll do a make-j4 followed by sudo make install
Any steps I've missed?
Reply

Logout Mark Read Team Forum Stats Members Help
Random Crashing on Nightly Git Compile - Please help diagnose0