XBMC Ignoring Cache for LAN
#16
I'm using XBMC on AppleTV and Ubuntu. I see a similar issue with both.

I have a dedicated media network isolated from any other traffic. The media is served from an Ubuntu server running Mediatomb using UPNP. The server is connected with a gigabit connection to a gigabit switch, which also has the AppleTV connected as well as a router. The router has an Ubuntu desktop running XBMC connecting directly to it. Everything is running at 100Mb except for the server. Theoretically, the server can serve plenty of bandwidth for the 2 100Mb clients, and since they're both isolated on separate ports on the switch, they should be getting the full pipe to themselves.

I've tested scp'ing files from the server to the Ubuntu client while watching something streamed on the ATV, and a 30 min video (that I have issues with when streaming) can copy in less than a minute. So clearly, there's enough bandwidth to stream it.

Once I copy the files to the local machine, it plays it just fine. It definitely seems to be related to the network/playing combination. I don't know if the machines are just too taxed managing the network and video/audio simultaneously or what. Regardless, I definitely don't think it's the network since the scp tests didn't seem to show an issue and like others I've been able to get the streaming working in other players when XBMC seems to have an issue.

Here's the dmidecode info on the Ubuntu machine if it helps:
# dmidecode 2.9
SMBIOS 2.4 present.
23 structures occupying 1121 bytes.
Table at 0x000E3590.

Handle 0x0000, DMI type 4, 35 bytes
Processor Information
Socket Designation: U1PR
Type: Central Processor
Family: <OUT OF SPEC>
Manufacturer: Intel® Corporation
ID: C2 06 01 00 FF FB E9 BF
Version: Intel® Atom™ CPU 230 @ 1.60GHz
Voltage: 1.6 V
External Clock: 133 MHz
Max Speed: 4000 MHz
Current Speed: 1600 MHz
Status: Populated, Enabled
Upgrade: Other
L1 Cache Handle: 0x0002
L2 Cache Handle: 0x0001
L3 Cache Handle: Not Provided
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified

Handle 0x0001, DMI type 7, 19 bytes
Cache Information
Socket Designation: Unknown
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Write Back
Location: Internal
Installed Size: 512 KB
Maximum Size: 512 KB
Supported SRAM Types:
Asynchronous
Installed SRAM Type: Asynchronous
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: 8-way Set-associative

Handle 0x0002, DMI type 7, 19 bytes
Cache Information
Socket Designation: Unknown
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 32 KB
Maximum Size: 32 KB
Supported SRAM Types:
Asynchronous
Installed SRAM Type: Asynchronous
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Instruction
Associativity: 8-way Set-associative

Handle 0x0003, DMI type 0, 24 bytes
BIOS Information
Vendor: Intel Corp.
Version: LF94510J.86A.0103.2008.0814.1910
Release Date: 08/14/2008
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 512 kB
Characteristics:
PCI is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
EDD is supported
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
ATAPI Zip drive boot is supported
BIOS boot specification is supported
Function key-initiated network boot is supported
Targeted content distribution is supported
BIOS Revision: 0.0
Firmware Revision: 0.0

Handle 0x0004, DMI type 1, 27 bytes
System Information
Manufacturer:
Product Name:
Version:
Serial Number:
UUID: C660C38E-7C12-11DD-8936-0007E9BECBF3
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Not Specified

Handle 0x0005, DMI type 2, 20 bytes
Base Board Information
Manufacturer: Intel Corporation
Product Name: D945GCLF
Version: AAE27042-400
Serial Number: AZLF837006BV
Asset Tag: Base Board Asset Tag
Features:
Board is a hosting board
Board is replaceable
Location In Chassis: Base Board Chassis Location
Chassis Handle: 0x0006
Type: Unknown
Contained Object Handles: 0

Handle 0x0006, DMI type 3, 17 bytes
Chassis Information
Manufacturer:
Type: Desktop
Lock: Not Present
Version:
Serial Number:
Asset Tag:
Boot-up State: Safe
Power Supply State: Safe
Thermal State: Other
Security Status: Other
OEM Information: 0x00000000

Handle 0x0007, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: PRIMARY
Internal Connector Type: On Board IDE
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other

Handle 0x0008, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: SECONDARY
Internal Connector Type: On Board IDE
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other

Handle 0x0009, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: ATX_PWR
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other

Handle 0x000A, DMI type 9, 13 bytes
System Slot Information
Designation: PCI SLOT 1
Type: 32-bit PCI
Current Usage: Available
Length: Long
ID: 1
Characteristics:
3.3 V is provided
PME signal is supported
SMBus signal is supported

Handle 0x000B, DMI type 10, 6 bytes
On Board Device Information
Type: Video
Status: Enabled
Description: Intel® Extreme Graphics 3 Controller

Handle 0x000C, DMI type 10, 6 bytes
On Board Device Information
Type: Ethernet
Status: Enabled
Description: Realtek RTL8102E Ethernet Device

Handle 0x000D, DMI type 10, 6 bytes
On Board Device Information
Type: Sound
Status: Enabled
Description: Intel® High Definition Audio Device

Handle 0x000E, DMI type 13, 22 bytes
BIOS Language Information
Installable Languages: 1
enUS
Currently Installed Language: enUS

Handle 0x000F, DMI type 32, 20 bytes
System Boot Information
Status: No errors detected

Handle 0x0010, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 2 GB
Error Information Handle: Not Provided
Number Of Devices: 1

Handle 0x0011, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0010
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 1024 MB
Form Factor: DIMM
Set: None
Locator: J1MY
Bank Locator: CHAN A DIMM 0
Type: DDR2
Type Detail: Synchronous
Speed: 533 MHz (1.9 ns)
Manufacturer: 0x7F61000000000000
Serial Number: 0x00000000
Asset Tag: Unknown
Part Number: 0x000000000000000000000000000000000000

Handle 0x0012, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x0003FFFFFFF
Range Size: 1 GB
Physical Device Handle: 0x0011
Memory Array Mapped Address Handle: 0x0013
Partition Row Position: 1

Handle 0x0013, DMI type 19, 15 bytes
Memory Array Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x0003FFFFFFF
Range Size: 1 GB
Physical Array Handle: 0x0010
Partition Width: 0

Handle 0x0014, DMI type 187, 9 bytes
OEM-specific Type
Header and Data:
BB 09 14 00 11 00 03 9B 02

Handle 0x0015, DMI type 136, 6 bytes
OEM-specific Type
Header and Data:
88 06 15 00 5A 5A

Handle 0xFEFF, DMI type 127, 4 bytes
End Of Table
Reply
#17
jmc1, The information you posted is pretty vague. If you think its a network throughput issue, you need to actually test the throughput from the target machines and not estimate. You also need to watch the "vq" amount in the dvdplayer information page (press the I or O key) to see what the network cache is actually doing. Usually for me in ver9.11 it never gets above 30% for whatever reason, and does not refill when paused. If your studdering happens whenever it hits 0% you know its the network.
Reply
#18
Wow. I thought I put quite a bit of detail there. I guess one person's detail is another's big picture though.

I wasn't aware of the I/O command options for debugging the issue. So, here's some more info from that for you from testing with a known problem file...

It definitely seems to be related to the aq dropping to 0%. However, I'm pretty sure it's not because of my network bandwidth. Like I said, I can scp the exact same file that cuts out after a few minutes in less than a minute and it's about a 30 min video. So, theoretically, the stream could be 1/30 the speed and still get there in time for viewing (I know that's a simplistic view there, but basically there's plenty of bandwidth on the network - I'm testing right now with only the 1 client and 1 server on it).

Also, streaming with totem on the same machine for the same file works just fine. It seems to be something related to XBMC streaming and playing at the same time. The aq starts dropping after a few minutes (staying solidly at 99% until then). vq remains at 99% the entire time.

I also can't stop the video and come back later to restart playing it at the problem point without the issues popping up immediately (even with a reboot). Pausing to let the cache fill back up doesn't get the audio and video back in sync at all. Once it's hosed, it's hosed.

If I copy the same file locally, it works just fine without any issues. So, it's not the file itself.

Like I said, it seems to be a combination of things happening together that causes the issue. Not all videos have problems. Not even really a majority (otherwise I'd change the architecture). Some of the NBC podcasts (Meet the Press for example), downloaded by podget to the Media Tomb server, seem to be the most often offenders. I have some high quality DVD rips (much higher quality than the podcasts) in the library that have no issue streaming despite being 1 - 2GB movie files.
Reply
#19
I'm not beating a dead horse here, I just thought the people subscribed would be interested in this cross post. I've since upgraded my network from 4MBps to 11MBps, so I can again use XBMC instead of Plex.

AaronCompNetSys Wrote:You all prolly don't get a softy over data and bitrates like I do, but I keep a collection of hardware melting files around. Just now made a graph of them using a cool new tool:

Image

Image

Image
Reply
#20
jmc1, I'm having a similar issue:

Again, I too have a fast network and can copy about 1GB in 40 seconds to the AppleTV (at least I'd expect its "fast enough"). Currently if I try and stream content from a NAS, I can get 5-6 minutes worth and then bang, XBMC will completely halt/freeze and the AppleTV will need a reboot.

here is a copy of the log
williewonka Wrote:from xbmc.log

22:01:13 T:52110848 M: 13955072 WARNING: CDVDMessageQueue(audio)::Get - asked for new data packet, with nothing available
22:01:13 T:54275072 M: 13996032 WARNING: CDVDMessageQueue(video)::Get - asked for new data packet, with nothing available
22:01:14 T:54275072 M: 13987840 INFO: CDVDPlayerVideo - Stillframe detected, switching to forced 23.975986 fps
22:01:14 T:54275072 M: 13991936 DEBUG: CPullupCorrection: pattern lost
22:01:16 T:54275072 M: 13721600 DEBUG: CPullupCorrection: detected pattern of length 1: 41708.40
22:01:28 T:2684407808 M: 13733888 NOTICE: CDVDPlayer::CloseFile()
22:01:28 T:2684407808 M: 13717504 NOTICE: DVDPlayer: waiting for threads to exit
22:01:29 T:54275072 M: 13721600 WARNING: CRenderManager::FlipPage - timeout waiting for flip to complete
22:01:29 T:54275072 M: 13725696 WARNING: CRenderManager::FlipPage - timeout waiting for previous frame
Reply
#21
Any help on this?

I've tried 2 different Gigabit Netgear switches (8 port and 24 port), both the NAS and AppleTV are Ethernet 6e to the switch. I've tried many different files, most quite small in bitrate. And whats incredible is the timing, always 6-7 minutes into the show.

Here is the player starting:
11:54:58 T:51725824 M: 13438976 DEBUG: CDVDPlayer::HandleMessages - player started 1
11:54:58 T:51725824 M: 13434880 DEBUG: CDVDPlayer::SetCaching - caching state 3
11:54:58 T:51725824 M: 13438976 DEBUG: CDVDPlayer::SetCaching - caching state 0
11:54:58 T:53378048 M: 13430784 DEBUG: CDVDPlayerAudio:: Discontinuity - was:23584.250000, should be:24000.000000, error:415.750000
11:54:58 T:2684407808 M: 13135872 DEBUG: SQLite collision
11:54:58 T:2684407808 M: 13123584 DEBUG: SetCurrentMovie, got episode info!
11:54:58 T:2684407808 M: 13127680 DEBUG: Title = Four-Door Supercars
11:54:58 T:2684407808 M: 13123584 DEBUG: Activating window ID: 12005
11:54:58 T:2684407808 M: 13123584 DEBUG: Checking if window ID 12005 is locked.


Here is the crash:
12:01:53 T:53378048 M: 13185024 WARNING: CDVDMessageQueue(audio)::Get - asked for new data packet, with nothing available
12:01:54 T:52923904 M: 13176832 WARNING: CDVDMessageQueue(video)::Get - asked for new data packet, with nothing available
12:01:54 T:52923904 M: 13176832 INFO: CDVDPlayerVideo - Stillframe detected, switching to forced 25.000000 fps
12:01:54 T:52923904 M: 13176832 DEBUG: CPullupCorrection: pattern lost
12:01:56 T:52923904 M: 13180928 DEBUG: CPullupCorrection: detected pattern of length 1: 40000.00

By "crash" I literally mean, the AppleTV will not respond to any command from the remote, its halted as far as I can tell. Look at that almost EXACTLY 7 minutes. Playing the files local, no problem at all.

Is there no way to buffer?
Reply
#22
So I upped the MTU of the NAS to 9000 (from 1500), and retried. Identical results:

Here the Film starts:
14:33:56 T:2684407808 M: 37941248 DEBUG: SetCurrentMovie, got episode info!
14:33:56 T:2684407808 M: 37945344 DEBUG: Title = Four-Door Supercars
14:33:56 T:2684407808 M: 37650432 DEBUG: GL: Requested render method: 0
14:33:56 T:2684407808 M: 37695488 NOTICE: GL: ARB shaders support detected
14:33:56 T:2684407808 M: 37687296 DEBUG: GL: YUV2RGBProgressiveShaderARB: loading yuv2rgb_basic_2d.arb
14:33:56 T:2684407808 M: 37675008 NOTICE: GL: Selecting Single Pass ARB YUV2RGB shader
14:33:56 T:2684407808 M: 37670912 NOTICE: GL: No vertex shader, fixed pipeline in use
14:33:56 T:2684407808 M: 37654528 NOTICE: GL: NPOT texture support detected
14:33:56 T:2684407808 M: 37662720 NOTICE: GL: Using GL_ARB_pixel_buffer_object

and here: almost EXACTLY 7 minutes later:
14:40:46 T:54306304 M: 35815424 ERROR: Read - Error( -1, 13, Permission denied )
14:40:53 T:52831232 M: 36433920 WARNING: CDVDMessageQueue(audio)::Get - asked for new data packet, with nothing available
14:40:54 T:52830208 M: 36675584 ERROR: ffmpeg[3262000]: [mpeg4] ac-tex damaged at 3 3
14:40:54 T:52830208 M: 36691968 ERROR: ffmpeg[3262000]: [mpeg4] Error at MB: 120
14:40:54 T:52830208 M: 36610048 INFO: ffmpeg[3262000]: [mpeg4] concealing 746 DC, 746 AC, 746 MV errors
14:40:54 T:52830208 M: 36569088 WARNING: CDVDMessageQueue(video)::Get - asked for new data packet, with nothing available
14:40:54 T:52830208 M: 36311040 INFO: CDVDPlayerVideo - Stillframe detected, switching to forced 25.000000 fps
14:40:54 T:52830208 M: 36306944 DEBUG: CPullupCorrection: pattern lost
14:40:56 T:52830208 M: 36311040 DEBUG: CPullupCorrection: detected pattern of length 1: 40000.00


KABLEWEY
Reply
#23
williewonka Wrote:By "crash" I literally mean, the AppleTV will not respond to any command from the remote, its halted as far as I can tell.

A crash will bounce you into a crashreporter.log, a hang will not. You are hanging... not crashing. It's an important point.
Reply
#24
Yes, thanks, its why I put it in quotes.

To continue the saga of oddness, I just for giggles tried something.

Old way:
XBMC running on AppleTV ---> Netgear 24 port GB Switch --> NAS via smb

This method would fail after 7 minutes, almost exactly.

New Way:
XBMC running on AppleTV ---> Netgear 24 port GB Switch --> Mac Mini via smb mounted symbolic link to NAS ----> Netgear 24 port GB Switch --> NAS via smb

This works just peachy but requires the Mac Mini to be online. I have no idea why this works, the data isn't local to the mini, its just a link to a smb share on the NAS, the EXACT same share.
Reply

Logout Mark Read Team Forum Stats Members Help
XBMC Ignoring Cache for LAN1