Segfault since ~r19300 - no logs get written
#1
I have issues starting some recent builds (~r19300). X loads up with xbmc started by .xinitrc (as i did before), but i only get the normal X mousepointer and 100 cpu load. No splashscreen, gui, etc...

I wanted to have a look at the logfile, but there's none. I deleted ~/.xbmc and it gets created from scratch but no help. After ~1min xbmc segfaults with a core file and running gdb against it outputs this:

Code:
Thread 1 (process 28432):
#0  0x00007f889867c460 in strlen () from /lib/libc.so.6
#1  0x00007f88986489fe in vfprintf () from /lib/libc.so.6
#2  0x00007f889866e3aa in vsnprintf () from /lib/libc.so.6
#3  0x00007f889864ecd3 in snprintf () from /lib/libc.so.6
#4  0x00007f889ba395fd in cdio_get_default_device_linux () from /usr/lib/libcdio.so.10
#5  0x00007f889ba3742d in cdio_open_am () from /usr/lib/libcdio.so.10
#6  0x0000000000a02a21 in MEDIA_DETECT::CLibcdio::GetDeviceFileName (this=<value optimized out>)
    at cdioSupport.cpp:213
#7  0x0000000000bbc428 in CreateFile (
    lpFileName=0x2a55c58 "/opt/xbmc-linuxport/share/xbmc/userdata/RssFeeds.xml",
    dwDesiredAccess=<value optimized out>, dwShareMode=<value optimized out>,
    lpSecurityAttributes=<value optimized out>, dwCreationDisposition=<value optimized out>,
    dwFlagsAndAttributes=0, hTemplateFile=0x0) at XFileUtils.cpp:264
#8  0x0000000000a2eff0 in XFILE::CFileHD::Open (this=0x2a55590, url=<value optimized out>)
    at FileHD.cpp:87
#9  0x0000000000a230da in XFILE::CFile::Open (this=0x2a55ac8, strFileName=@0x7fffa5cf8260,
    flags=<value optimized out>) at File.cpp:298
#10 0x0000000000a38374 in XFILE::CFileSpecialProtocol::Open (this=0x2a55ac0,
    url=<value optimized out>) at FileSpecialProtocol.cpp:46
#11 0x0000000000a230da in XFILE::CFile::Open (this=0x7fffa5cf8500, strFileName=@0x7fffa5cf8630,
    flags=<value optimized out>) at File.cpp:298
#12 0x0000000000a24229 in XFILE::CFile::Cache (strFileName=@0x7fffa5cf8630, strDest=@0x7fffa5cf8640,
    pCallback=0x0, pContext=0x0) at File.cpp:132
#13 0x00000000006c7d3d in CopyUserDataIfNeeded (strPath=<value optimized out>, file=@0x7fffa5cf8800)
    at Application.cpp:521
#14 0x00000000006c879c in CApplication::InitDirectoriesLinux (this=<value optimized out>)
    at Application.cpp:997
#15 0x00000000006c9518 in CApplication::Create (this=0x1220e00, hWnd=0x0) at Application.cpp:563
#16 0x0000000000908582 in main (argc=2, argv=0x7fffa5cf9608) at xbmc.cpp:125

Sorry for pasting, but 16 lines is not flooding i guess Smile

Any hints? This is Arch Linux on x86_64, kernel 2.6.29 and nvidia drivers 185.19. Maybe it has something to do with the recent update of libcdio because that's the only real difference between my older and this build.

Thanks in advance!
Haggy.

EDIT: libcdio is 0.81 (http://www.archlinux.de/?page=PackageDet...ackage=546)
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.
Reply
#2
It could be libcdio but it should be recent enough (before change we built against 0.81 afaik) could you please try to wipe / backup and move .xbmc aswell, just to be sure it's nothing weird there?

And how do you start XBMC, because -p have changed meaning rather recently.

Cheers,
Tobias.
If you have problems please read this before posting

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

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#3
BINGO!

The problem is the recent upgrade of libcdio. Running version was 0.80 (libcdio.so.7), upgraded version (which segfaults) is 0.81 (libcdio.so.10).

I'll open a trac ticket.
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.
Reply
#4
Topfs2 Wrote:It could be libcdio but it should be recent enough (before change we built against 0.81 afaik) could you please try to wipe / backup and move .xbmc aswell, just to be sure it's nothing weird there?

And how do you start XBMC, because -p have changed meaning rather recently.

Cheers,
Tobias.

i moved my ~/.xbmc and it got recreated (but with no logs, etc... in it). also i run xbmc only with '--standalone' as i do since i compile myself.

i narrowed it down to libcdio 0.81 being the problem. what else can i help?
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.
Reply
#5
Ticket is at http://trac.xbmc.org/ticket/6328
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.
Reply
#6
Great that you found the culprit.

I wonder if this isn't 0.81 related, so third party issue and we can't do anything.
In ubuntu intrepid we have 0.78 which works.

Wonder if 0.81 is bad in ubuntu aswell.

Cheers,
Tobias.
If you have problems please read this before posting

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

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#7
Do you know wich version 9.04 will be shipped with?
I compile now on my 32bit sys to check if it's 64bit related. If libcdio a dependency of xbmc or may i just uninstall it since i don't have an optical drive in that rig anyway.
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.
Reply
#8
afaik it's a dependency, however that would probably be feature request viable to have it configure switch to turn it off.

In jaunty I don't think they have updated it, then 0.78. But I might be wrong in this.

Cheers,
Tobias
If you have problems please read this before posting

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

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#9
You're right, jaunty will ship libcdio 0.78. I hope my issue will be fixed nevertheless?! If it is related to xbmc...
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.
Reply
#10
Small update: same behaviour (segfault) with i686 / 32bit.
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.
Reply
#11
Update: It seems like this segfault only occurs on machines that don't have an optical drive installed. Both my laptop and htpc don't have one, but show the issue. My main rig does fine and has an optical drive.

Does that ring a bell? Meanwhile i'll have a google for bugs regarding libcdio and NO optical drive available.
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.
Reply
#12
Update:

Seems to be a bug with cdio_get_default_device_linux in in libcdio 0.81 when no drive is present:

http://git.savannah.gnu.org/gitweb/?p=li...bad847ba00
http://www.nabble.com/0.81-build-trouble...16745.html
http://www.redhat.com/archives/fedora-ex...03183.html

Is there a way to circumvent this or do we have to wait for a patched 0.81/0.82?
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.
Reply

Logout Mark Read Team Forum Stats Members Help
Segfault since ~r19300 - no logs get written0