|
SageTV Beta Test Software Discussion related to BETA Releases of the SageTV application produced by SageTV. Questions, issues, problems, suggestions, etc. regarding SageTV Beta Releases should be posted here. |
|
Thread Tools | Search this Thread | Display Modes |
#21
|
||||
|
||||
If you still have that Appaloosa.jpg file please submit a bug report and send it in. I'm curious if there's some issue with that image that's causing something in the image loading system to allocate way too much memory (we use libjpeg for this, so it *should* be quite solid....but if we can reproduce it we'll investigate it).
__________________
Jeffrey Kardatzke Founder of SageTV |
#22
|
||||
|
||||
Quote:
Now that it seems we've figured that one out. How bout my "DX9Renderer NATIVE WARNING (non-FAILURE) line 1067 hr=0x8007000e" error? That is the only other thing that has given me issues with sage. I get "DX9 is freeing texture memory to make room size=133563392 rtMemUse=0" before the failure, but I don't see how a card with 512mb of memory can run out when rendering sage and nothing else. I'll attach a log when I get the chance.
__________________
SageTV Server: unRAID Docker v9, S2600CPJ, Norco 24 hot swap bay case, 2x Xeon 2670, 64 GB DDR3, 3x Colossus for DirecTV, HDHR for OTA Living room: nVidia Shield TV, Sage Mini Client, 65" Panasonic VT60 Bedroom: Xiomi Mi Box, Sage Mini Client, 42" Panasonic PZ800u Theater: nVidia Shield TV, mini client, Plex for movies, 120" screen. Mitsubishi HC4000. Denon X4300H. 7.4.4 speaker setup. |
#23
|
|||
|
|||
Quote:
A Java VM has a lot more in common with a language runtime or an interpreter than it does with VMs from companies like vmware. I'd agree that runtimes are pretty common today, like Adobe Flash or .NET. I'd also agree that vmware-style virtual machines are used more often today than they were in the past. Oh, and while VMs also implicitly sandbox the code that is run within it, sandboxing processes can easily be done by using operating system security and privilege level features. This is how IE9 and Chrome operate. My point is that applications written in .NET, Flash, Python, etc typically don't require the user to correctly predict how much memory the application will need. It's unusual for users to be expected to do this. The only other application that I deal with that requires memory tuning knowledge of the user is the Oracle RDBMS, and thats targeted at DBAs (who have training), it's not targeted at consumers. Both BTV and Windows Media Center (the other two PVR apps that I've used in the past) run on .NET, which runs under it's CLR which is very similar to a JVM - and they don't have these issues, and that is a good thing. Sage could still sandbox their software and get the benefits you describe without requiring users to correctly guess how much memory will be required by the process. Just sayin'. |
#24
|
||||
|
||||
VMWare and the rest actually virtualize the hardware of the machine. The operating system running inside of a VMWare container (or Parallels or Windows' virtualization containers or Bochs or ...) have varying degrees of awareness of running within a virtualized container. Within VMWare, the operating system has no idea that it is running within a virtual container. The operating system is not modified at all, although specialized drivers are usually installed (most importantly video) to prevent performance problems. Some other VM's don't do full hardware virtualization and instead require the OS inside the container the make special calls to the container in place of the regular hardware calls.
The JVM is not a virtual machine in that sense at all. No hardware other than the processor is virtualized. The JVM is essentially a virtualized CPU plus the same sort of runtime that is included with a C++ or any other object oriented language, plus garbage collection and other necessities. Additionally, of course, Java class files (and JAR files, etc) are not machine code, but an intermediate byte code. So the JVM has to compile or interpret class files (whether contained in a JAR file or not) at runtime, and has the ability to load and find new code dynamically at runtime. The JVM is called a virtual machine because the JVM definition defines an abstract machine. This includes registers, stack, etc, and the byte code that Java source is compiled to is practically machine code for this virtual machine. The JVM then interprets or compiles this byte code into native machine instructions. The difference is essentially that the JVM is a virtualized processor and the other virtual machines are virtualized machines (including video card, network, and other external devices and hardware registers) Gerry
__________________
Big Gerr _______ Server - WHS 2011: Sage 7.1.9 - 1 x HD Prime and 2 x HDHomeRun - Intel Atom D525 1.6 GHz, Acer Easystore, RAM 4 GB, 4 x 2TB hotswap drives, 1 x 2TB USB ext Clients: 2 x PC Clients, 1 x HD300, 2 x HD-200, 1 x HD-100 DEV Client: Win 7 Ultimate 64 bit - AMD 64 x2 6000+, Gigabyte GA-MA790GP-DS4H MB, RAM 4GB, HD OS:500GB, DATA:1 x 500GB, Pace RGN STB. |
#25
|
||||
|
||||
Quote:
I agree that newer technologies do a decent job of sandboxing, specificialy chrome... the jury is still out on ie9, but given't MS record... I'm not betting it will be much of sandbox.. probably more like sifter I would bet that if Java were being designed today, it would probably be different. Java was born in 1995 and in some respects, it's showing its age. And unfortunately, Java won't be getting better any time soon, especially given that it is now owned by Oracle All that being said, Java's ability to limit the amount of memory is not a bad thing. I may be wrong (or confused), but I don't think you can control the amount of memory a process uses on windows (or Linux for that matter). You can control things like how much cpu, but memory seems to be a free for all... which is good when you need it, but but bad when you have a rogue app that decides it's the only process that should get memory
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#26
|
||||
|
||||
Speaking of memory. What would make this "DX9Renderer NATIVE WARNING (non-FAILURE) line 1067 hr=0x8007000e" error come up?
__________________
SageTV Server: unRAID Docker v9, S2600CPJ, Norco 24 hot swap bay case, 2x Xeon 2670, 64 GB DDR3, 3x Colossus for DirecTV, HDHR for OTA Living room: nVidia Shield TV, Sage Mini Client, 65" Panasonic VT60 Bedroom: Xiomi Mi Box, Sage Mini Client, 42" Panasonic PZ800u Theater: nVidia Shield TV, mini client, Plex for movies, 120" screen. Mitsubishi HC4000. Denon X4300H. 7.4.4 speaker setup. |
#27
|
|||
|
|||
Quote:
The problem that you describe is interesting, because aside from SageTV, none of the other applications on my computers have user declared per-process memory limits. If the scenarios you described were common it would a serious reliability problem on my PCs that are running operating systems that don't set per-process memory limits (Linux, MacOS X, Windows). The reality is that I go weeks and in some cases months between reboots, which is usually done for patch reasons. Sure, occasionally you have a misbehaving application that slows down your system, but never so much that I'm unable to kill the process. That is why modern operating systems implement security access levels, preemptive multitasking and protected memory: to protect from buggy applications. Quote:
- Modern operating systems have built-in protections against buggy applications completely starving other processes from resources - Sandboxing isn't needed for Sage (doesn't the Sage Service by default run as a privileged account). In fact, it would be difficult to sandbox SageTV since it needs all sorts of access to your system (network, devices, local storage, etc). Sandboxing is for running untrusted code so that it has barely enough permissions to do what it needs to do. I agree that the term "virtual machine" is incredibly generic, that's why I prefer to use the term "runtime"; for example the Java Runtime Environment. At this point some readers may be thinking "that Audacity guy just has a hate-on for Java and he's bringing up crappy things about SageTV being based on Java that cannot be changed". Nope, what I'm suggesting is that since setting per-process memory limits is almost never required by consumer-focused software, it isn't in the user's "mental model" of stuff that they need to manage. That means you'll either have to educate everyone (expensive) or fix the problem. For example, if you could design SageTV so that if, due to plugins or whatever reason these memory limits were exceeded, detect this condition and increase the configured memory limit. Maybe this change would require SageTV to restart itself after reconfiguring memory limits, but that is far better than leaving the end user confused with a broken PVR. Make it intelligent enough to look at how much system memory is available in the machine when making decisions on how much memory to use, and write some code to guard against some of the edge cases that could produce undesirable results. In short, track how much memory the SageTV process uses historically and adjust this setting accordingly. Making this memory limit self-adjusting will save the user from frustration and save SageTV LLC additional support costs. Running on Java has pros and cons. Sure, on the 3 platforms SageTV runs on there will be "rough edges" when compared to native software due to the whole Java thing. Some of that you can't do anything about and some of it you can work around, and this is one of those rough edges that I imagine could be worked around. What is most unhelpful is taking the position "that's not a bug, it's a feature, hurray for language runtimes that party like it's 1995!" |
#28
|
||||
|
||||
So...yeah...Dx9 memory problem...someone...anyone...
__________________
SageTV Server: unRAID Docker v9, S2600CPJ, Norco 24 hot swap bay case, 2x Xeon 2670, 64 GB DDR3, 3x Colossus for DirecTV, HDHR for OTA Living room: nVidia Shield TV, Sage Mini Client, 65" Panasonic VT60 Bedroom: Xiomi Mi Box, Sage Mini Client, 42" Panasonic PZ800u Theater: nVidia Shield TV, mini client, Plex for movies, 120" screen. Mitsubishi HC4000. Denon X4300H. 7.4.4 speaker setup. |
#29
|
||||
|
||||
Well, I thought I'd get clever and google for the problem... unfortunately googling for "DX9Renderer 0x8007000e", simply returns 1 result... this thread
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#30
|
||||
|
||||
Yep. Tried that too. Thanks though.
__________________
SageTV Server: unRAID Docker v9, S2600CPJ, Norco 24 hot swap bay case, 2x Xeon 2670, 64 GB DDR3, 3x Colossus for DirecTV, HDHR for OTA Living room: nVidia Shield TV, Sage Mini Client, 65" Panasonic VT60 Bedroom: Xiomi Mi Box, Sage Mini Client, 42" Panasonic PZ800u Theater: nVidia Shield TV, mini client, Plex for movies, 120" screen. Mitsubishi HC4000. Denon X4300H. 7.4.4 speaker setup. |
#31
|
|||
|
|||
http://www.google.ca/m/search?oe=UTF...0x8007000e+dx9
If you google 0x8007000e + dx9 you get a lot of "out of memory" results... Are you using XP? J |
#32
|
||||
|
||||
Quote:
I don't think this is a driver issue just because I used two different video cards from two different companies (intel, nvidia) and the issue came up with both. I'm going to see if there is a new whql driver for nvidia (that doesn't break video playback) and see if that helps. Any other suggestions?
__________________
SageTV Server: unRAID Docker v9, S2600CPJ, Norco 24 hot swap bay case, 2x Xeon 2670, 64 GB DDR3, 3x Colossus for DirecTV, HDHR for OTA Living room: nVidia Shield TV, Sage Mini Client, 65" Panasonic VT60 Bedroom: Xiomi Mi Box, Sage Mini Client, 42" Panasonic PZ800u Theater: nVidia Shield TV, mini client, Plex for movies, 120" screen. Mitsubishi HC4000. Denon X4300H. 7.4.4 speaker setup. Last edited by panteragstk; 03-25-2011 at 02:49 PM. |
#33
|
|||
|
|||
Have you run the DirectX Diagnostic (dxdiag.exe)? I seen some google references that seemed to indicate a possible corrupted DirectX installation could cause that error. I would run that diagnostic and post the log results here. You may not see any obvious failures in the diagnostic or the diagnostic log, but there may be components of the video side of DX that are listed with an unknown or unavailable status which could also be a possible indication of a bad DX installation.
__________________
--Jason Server Hardware: GIGABYTE GA-EP45-UD3R, Intel Q9550 CPU 2.83GHz, 11GB RAM, 1xHDHR, 1xHVR1600, 1xHVR2250 29TB Server Storage: 1TB SSD (OS), 1TB (data), 2x6TB+2x10TB (22TB FlexRaid storage pool), 2x2TB (recordings), 1x750GB (VMs). Server Software: Win10 Pro x64 OS, SageTV 64bit v9.2.0.441, Java 1.8 u241, PlayOn, Comskip (Donator) v0.82.003, WampServer v2.5. Clients: 3xHD300s, 2xHD100, 2xPlaceshifters |
#34
|
||||
|
||||
Quote:
__________________
SageTV Server: unRAID Docker v9, S2600CPJ, Norco 24 hot swap bay case, 2x Xeon 2670, 64 GB DDR3, 3x Colossus for DirecTV, HDHR for OTA Living room: nVidia Shield TV, Sage Mini Client, 65" Panasonic VT60 Bedroom: Xiomi Mi Box, Sage Mini Client, 42" Panasonic PZ800u Theater: nVidia Shield TV, mini client, Plex for movies, 120" screen. Mitsubishi HC4000. Denon X4300H. 7.4.4 speaker setup. |
#35
|
|||
|
|||
While not really odd, the only thing that stood out to me in the dx log is the number of filters and decoders installed. It's possible the filter and decoder merits are messed up and the playback graph is using a nonstandard mix of filters and decoders which is causing unexpected behavior in DirectX. If you have any old, obscure, or unneeded codecs or decoders installed or if you have any codec packs installed, I would try uninstalling those first. If the errors continue and you're fairly certain it's a DirectX issue, a reinstall of the OS will probably be quicker than trying to track down corrupted or mismatched DX files, bad DX registry entries, or bad filter and decoder merits.
__________________
--Jason Server Hardware: GIGABYTE GA-EP45-UD3R, Intel Q9550 CPU 2.83GHz, 11GB RAM, 1xHDHR, 1xHVR1600, 1xHVR2250 29TB Server Storage: 1TB SSD (OS), 1TB (data), 2x6TB+2x10TB (22TB FlexRaid storage pool), 2x2TB (recordings), 1x750GB (VMs). Server Software: Win10 Pro x64 OS, SageTV 64bit v9.2.0.441, Java 1.8 u241, PlayOn, Comskip (Donator) v0.82.003, WampServer v2.5. Clients: 3xHD300s, 2xHD100, 2xPlaceshifters |
#36
|
||||
|
||||
Quote:
__________________
SageTV Server: unRAID Docker v9, S2600CPJ, Norco 24 hot swap bay case, 2x Xeon 2670, 64 GB DDR3, 3x Colossus for DirecTV, HDHR for OTA Living room: nVidia Shield TV, Sage Mini Client, 65" Panasonic VT60 Bedroom: Xiomi Mi Box, Sage Mini Client, 42" Panasonic PZ800u Theater: nVidia Shield TV, mini client, Plex for movies, 120" screen. Mitsubishi HC4000. Denon X4300H. 7.4.4 speaker setup. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Java error: java.lang.NullPointerException | neil.prasad | SageTV Software | 8 | 12-13-2011 07:43 PM |
SEEKER EXCEPTION THROWN:java.lang.OutOfMemoryError | Flips | SageTV Software | 9 | 04-08-2009 08:13 AM |
Placeshifter has java.lang.UnsatisfiedLinkError | vhurst | SageTV Placeshifter | 0 | 02-28-2007 01:21 AM |
java.lang.NoClassDefFoundError: | wesw02 | SageTV Software | 2 | 06-15-2004 12:15 PM |
Beta V1.2.2 Java java.lang Null Pointer Exception | hamptonhills | SageTV Beta Test Software | 1 | 03-27-2003 12:11 PM |