Syslog Error: cdrom: This disc doesn't have any tracks I recognize!
#1
Question 
Hi,

While running XBMC the syslog fills up with the following messages:

Mar 31 10:54:23 XBMC-Linux kernel: [ 1998.832000] cdrom: This disc doesn't have any tracks I recognize!
Mar 31 10:54:24 XBMC-Linux kernel: [ 1999.444000] cdrom: This disc doesn't have any tracks I recognize!
Mar 31 10:54:24 XBMC-Linux kernel: [ 2000.056000] cdrom: This disc doesn't have any tracks I recognize!
Mar 31 10:54:25 XBMC-Linux kernel: [ 2000.724000] cdrom: This disc doesn't have any tracks I recognize!
Mar 31 10:54:25 XBMC-Linux kernel: [ 2001.340000] cdrom: This disc doesn't have any tracks I recognize!
Mar 31 10:54:26 XBMC-Linux kernel: [ 2001.952000] cdrom: This disc doesn't have any tracks I recognize!

The messages appear constantly but when XBMC is closed they stop. Using Ubuntu 7.10 and build from latest SVN (12408). There are no errors in xbmc.log. Anyone else getting the same?

Cheers,

Nurgle
Reply
#2
Thanks for such a detailed post. All of this information you left will certainly get the problem resolved in mere moments...

What type of media? What format is the disc? What the hell is on it?
Reply
#3
There is no disk in the drive. If i put a disk in, the errors don't appear. It's as if XBMC is trying to automount the drive when there's no disk in it.
Reply
#4
I'd do a "make distclean" and rebuild to ensure you're using the precompiled libcdio.

EDIT: Scratch that I get the same behavior. libcdio may just need compiled w/o debug. I'm sure topfs2 will see this soon.
Reply
#5
Thumbs Up 
Thanks for confirming the problem.
It did it on Hardy so I rebuilt machine with Gutsy and the problem remained so I suspected it was an issue with XBMC. Just wanted to make sure it wasn't only me experiencing it.
Reply
#6
Just confirming, yes it does happen to me also. Ubuntu 7.10

It's XBMC polling the DVD drive. I notice that, of course, as soon as a DVD is inserted, it starts it, which is the eaxt behaviour of XBMC on the XBox.
Reply
#7
Sorted the work around.

If these messages are getting you down, install syslog-ng and use the regexp feature to filter the messages out.

1. sudo apt-get install syslog-ng
2. edit /etc/syslog-ng/syslog-ng.conf

3. add a filter to the filters section
(in the default Ubuntu 7.10 config, about line 184)
filter f_cdromSPAM { not match("t have any tracks I recognize"); };


4. add the filter to the various logs that this message is currently appearing in


syslog

# *.*;auth,authpriv.none -/var/log/syslog
log {
source(s_all);
filter(f_syslog);
filter(f_cdromSPAM);
destination(df_syslog);
};



kern

# kern.* -/var/log/kern.log
log {
source(s_all);
filter(f_kern);
filter(f_cdromSPAM);
destination(df_kern);
};


and finally /var/log/messages



# *.=info;*.=notice;*.=warn;\
# auth,authpriv.none;\
# cron,daemon.none;\
# mail,news.none -/var/log/messages
log {
source(s_all);
filter(f_messages);
filter(f_cdromSPAM);
destination(df_messages);
};



5. restart systlog and the messages are gone!

sudo /etc/init.d/syslog-ng restart
Reply
#8
I have actually looked through the source code of libcdio and it doesn't have that string at all. This does make me believe it's not libcdio that is too blame but another application.
One reason for this might be that we use 0.79 where ubuntu gutsy uses an older one and the same with hardy (0.78.2), the reason for us having 0.79 is too circumvent another bugg that makes libcdio always report a cddrive as open.

Anyway, For me syslog doesn't get spammed with this. (/var/log/syslog). I have left it without CD, open and closed for a long time. never get that message.

Anything else you do to create this behaviour?
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
It's stock standard install of Ubuntu Server 7.10.

There is nothing I can think of, it certainly started after I launched XBMC so it's somewhere there. I'm looking in the kernel source now for it. See what I can find (because it still shows up in `dmesg` so I want to remove it for real).

Of interest, ff you say XBMC is using 0.79, buts Gutsy is 0.78.2 does XBMC statically link to it's own custom version ?
Reply
#10
pefdus Wrote:It's stock standard install of Ubuntu Server 7.10.

There is nothing I can think of, it certainly started after I launched XBMC so it's somewhere there. I'm looking in the kernel source now for it. See what I can find (because it still shows up in `dmesg` so I want to remove it for real).

Of interest, ff you say XBMC is using 0.79, buts Gutsy is 0.78.2 does XBMC statically link to it's own custom version ?

Yes we do, it's because we need to have new enough version on all our plattforms to rid an bugg.

You can try too dynamicly link with the one ubuntu ships by removing "xbmc/lib/libcdio/libcdio-i486-linux.a" in Makefile, roughly line 58
And then add -llibcdio too LIBS @ line 3.
I can't vouch for it compiling as I haven't had time too test but it might be worth a shoot.

Might be the fact your running Ubuntu Server, the might log more?. I have Desktop on both HTPC and Desktop.
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
#11
Found the offender

rbuckland@saxon:/usr/src/linux-source-2.6.22$ find . -type f | xargs -l1 grep -H "This disc doesn't have any tracks I recognize"
./drivers/cdrom/cdrom.c: cdinfo(CD_WARNING,"This disc doesn't have any tracks I recognize!\n");


It is in the function for requesting the status of the device, obviously XBMC is polling the cdrom to see what it is, but when there is no DVD/cd, it gets the response.

The function being called is

static int cdrom_ioctl_disc_status(struct cdrom_device_info *cdi)


I recompiled the driver (commented out the line), But I suspect that Ubuntu has compiled this cdrom driver into the kernel as replacing has not worked.

anyways .. one for the road :-)
Reply
#12
Yeah we poll it quite often, it have been discussed changing this behaviour but from what I know it's hard to get it crossplattform.

I have commited a change which should only poll for new Info of the CD if it really have changed, like closed an opened tray.

Please svn up and try, it's a bit shoot in the dark but it seems to fit your debugging
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
#13
I can confirm this fixed. It only spams once at startup and for each tray state change now.
Reply
#14
pefdus Wrote:Found the offender

rbuckland@saxon:/usr/src/linux-source-2.6.22$ find . -type f | xargs -l1 grep -H "This disc doesn't have any tracks I recognize"
./drivers/cdrom/cdrom.c: cdinfo(CD_WARNING,"This disc doesn't have any tracks I recognize!\n");


It is in the function for requesting the status of the device, obviously XBMC is polling the cdrom to see what it is, but when there is no DVD/cd, it gets the response.

The function being called is

static int cdrom_ioctl_disc_status(struct cdrom_device_info *cdi)


I recompiled the driver (commented out the line), But I suspect that Ubuntu has compiled this cdrom driver into the kernel as replacing has not worked.

anyways .. one for the road :-)

Just so this doesn't go unnoticed, thanx ALOT for such helpfull information. Not that I estimate any end-user being able to make such a detailed information but it was that information I needed, great work!
You get a goldstar Smile
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
#15
In another thread there was a discussion about the library mode being very slow for some users. It was finally determined that the slowness came from users who didn't have a cd/dvd rom connected. The system was constantly polling the cd/dvd rom but since it wasn't there it was slow. Do you think the above fix would fix that problem? I have all my media on hard drives and I have no use for a cd/dvd rom. I would like to be able to run my box without an optical drive. I fully understand that I am in the minority but it would be great if I could disconnect it.
Reply

Logout Mark Read Team Forum Stats Members Help
Syslog Error: cdrom: This disc doesn't have any tracks I recognize!0