Loki Render 0.7.0 released!

Hi, tested Loki again and a have the same error as with Loki 7.0 now with 7.1d on OpenSUSE 13.2, specs in my signature.

java -jar LokiRender-071d.jar
Jan 28, 2015 5:36:59 AM net.whn.loki.error.ErrorHelper outputToLogMsgAndKill
SCHWERWIEGEND: Loki encountered a fatal error.
Click OK to exit.java.net.UnknownHostException: mib2-laptop.site: mib2-laptop.site: unknown error
java.net.UnknownHostException: mib2-laptop.site: mib2-laptop.site: unknown error
at java.net.InetAddress.getLocalHost(InetAddress.java:1484)
at net.whn.loki.master.AnnouncerR.<init>(AnnouncerR.java:59)
at net.whn.loki.common.Main.startMaster(Main.java:262)
at net.whn.loki.common.Main.startLoki(Main.java:213)
at net.whn.loki.common.Main.main(Main.java:119)
Caused by: java.net.UnknownHostException: mib2-laptop.site: unknown error
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302)
at java.net.InetAddress.getLocalHost(InetAddress.java:1479)
… 4 more

EDIT: False alarm, add mib2-laptop.site to my hosts and Loki work!

Cheers, mib

EDIT2: It seams Loki cant work on pure IPv6 networks, can it?

On a mac trashcan at work, 10.10. Having an issue with one computer where Loki will only run in Master mode. Master Grunt and Grunt don’t do anything. No prompts or anything. All the computers are 10.10, latest java and this computer is the only one with an issue. I need it to be a grunt one way or another as it’s the most powerful computer we have. Any ideas?

Helo,
I have tested loki render on a network with the folowing setup: master win7 and for the moment grunt a ubuntu machine.
loki works if ,Automatic file transfer, is enabled and textures are packed into blend file.
The problem is that i need the other options ,Automatic file transfer, disabled having projects large enough and rendering with yafaray(who have some random problems with large number of textures packed).
I have mounted the cifs shared network drive(placed on the windows pc) on the ubuntu machine with write read privileges(checked from whithin blender,and file browser) and disabled ,Automatic file transfer, on both master and grunt.
Job does not render
the help file mentions about having the same path on all computers …a bit unclear for me about how to do it…???
it could be about my windows share not correctly mounted in ubuntu?
I am about to build a small(5 nodes) renderfarm running ubuntu connected to a nas server in the future so i am testing loki for that purpouse.
Does anybody managed to make loki to work with automatic file transfer disabled??

Thanks

I went to start a thread on my issue, but SF is down at the moment.
Love Loki, it’s a fantastic bit of software but had a big crash today. Trying to create a job that will involve the rendering of a high detail smoke sim (Smoke Res is 500) and the smoke cache is 95GB. We have four computers that we use Loki with and I cannot get the job added on any of the computers, they all give me the same error:


Is the cache just too big for Loki to handle? It’s a 300 frame animation, cycles render, this was just for a standard def render to check the animation, but I’ll need to do 4k eventually on this shot.

Quick question.

Does Loki Render support GPU rendering? and if not is there possibility that it might in the future?

Zomzilla:
It already supports GPU rendering. It pulls the GPU settings (which card(s) to use) from the Preferences on each grunt. It pulls whether or no to use GPU at all from the .blend that’s submitted to Loki. Consider the following:
.blend is set to GPU, grunt preferences set to CPU only: Renders on CPU because the grunt doesn’t have GPU enabled
.blend is set to CPU, grunt preferences set to use GPU: Renders on CPU because the .blend said to use CPU
.blend is set to GPU, grunt preferences set to use GPU: Renders on GPU because GPU is enabled on the grunt and set to be used in the .blend.

Hope that helps!

-David

Hey Samuraidanieru, is there a way to make it so the grunt runs blender as a low priority / background task? I’ve noticed that if I’m running a grunt on my workstation, it bogs it down bad. I can’t even manually set it to low priority because it closes blender and relaunches it for every single frame.

-David Radford

First, and most important, thank you for the effort and maintaining and updating Loki. I posted a question on the Support forum on SourceForge, but suspect you monitor this thread more actively??
I have a very small network (3) and am trying to run Loki for Blender. Win8.1 Pro on all three(3), latest version of Blender on all three. Grunts immediately recognized on Master, job submitted, and all three(3) Grunts show “My Status: busy” but no frames ever get rendered. I have used ButterflyNet to do Lightwave jobs successfully, and Amleto in the same manner, but I can’t get a network render solution for Blender to work. Loki is wonderfully simple in apparent setup and doesn’t have all of the baggage of Blender’s own network rendering, but Loki doesn’t seem to work??? It never ‘fails’ and never is ‘done.’ Very puzzled. Thank you for any help on this.
Paul
__________ Recent update____________
I deleted the contents entirely of .loki on the two computers that I generally test on, and downloaded and ran the LokiRender-071c.jar. Watching the CPU usage (how else to monitor?? log window??) and noted that it recreated the necessary file folders on both machines, and then output files into each of the folders as expected in fair time, with CPU bumping up to 100%. The problem appears to be that it doesn’t move on, says it is “busy” but the CPU shows background computer usage only, and it never gets to the next set of frames?? Anybody else have this and what might I do to nudge it along?? Thank you one and all.

Hi folks,

My apologies for not keeping up with all the questions and support requests - this means Loki is being used (or at least people are trying to use it:-) I won’t be adding new features any time soon, but will attempt to briefly answer a few questions. For those of you coders out there, Loki is under the GPL and is written in Java so it’s fairly easy to work with, so feel free to improve it!

I’ll try to work backwards:

@paulhart2 - to help isolate the problem, try to reproduce what Loki is doing on one of the nodes - run blender directly from the command line, rendering one of the frames in question, and see what happens. Does it run forever? What does the output say?

@DMRadford - currently, no. From a platform level this is fairly easy to do manually; on *nix, it’s just a matter of using the ‘nice’ command, and on Windows, I’m sure there’s a way to do it easily from the command line as well - the trick, as you point out, is that Loki launches a new blender process for each task, so it needs to happen inside of Loki. To implement this in Loki, code would need to be added that launches blender with a priority change, in a platform specific way. Also, thanks for the note about GPU support, hadn’t thought about that!

@El Director - this sounds like it may be a memory issue. To verify this, try running again and keep a close eye on memory use on every node: the master and each grunts. if you see it’s maxing out memory and then starting to thrash swap, then you know you just don’t have enough memory for what you’re trying to do. Also, this is getting into blender functionality that you’re probably more familiar with than I am - where is the smoke cache kept? If it’s not packed into the blend file, then Loki won’t be able to render it on the other nodes, but if it is trying to pack 95GB into the blend file - yep, that just might be too much for Loki, which tries to cache all blend files. RE your other issue: did you get the grunt working on your mac workstation?

@psv - did I already answer this in a PV? anyway, the short answer is that if you disable ‘automatic file transfer’ then all nodes need to be running the same OS platform, so you either need to pick an all windows, or all linux grunt farm with no automatic file transfer. this is because file paths are different on these two platforms.

@mib2berlin - glad the quick hosts hack works for you! RE IPv6 - unfortunately, no. But it wouldn’t take much to go through the Loki code and spiff it up so it supports IPv6 as well. Unfortunately I don’t have time now;-\

I’ve been having the same issue, running from the command line (with all the flags you use in the source code), it renders and outputs the image absolutely fine, but when used inside Loki, it seems to render, then the blender exe quits (disappears from the task manager), but Loki says that it is still busy, and no image is output.

@samuraidanieru: Found a bug for ya: It seems that some compositor functions work, and others not so much. In an attempt to circumvent massive files by using EXR’s for rendering multiple passes in one go, I attempted to use the File Output node to get the passes out as separate PNG sequences. Fail.

Setup:
Composite enabled in Render settings.
1 or more Render Layers in Properties > Render Layers.
Nodes:
1 or more Render Layers nodes.
1 Composite node (output)
1 or more File Output nodes

Everything will work as expected if the File Output node has no input connections (no additional output, but nothing is plugged into it so, expected). Once the File Output node has an input, the Loki Grunt will hang if the file is rendered with Loki.

Expected result: Output the base composite file, output images dictated in the File Output node, report to Loki Grunt a completed frame and await the next assignment.

Actual result: First frame renders for all desired outputs, Blender does not report to it’s Grunt that the frame has completed, the Blender instance terminates (as intended), the Grunt status remains “Busy” indefinitely. Curiously, if you terminate the Grunt from the master, even though the Grunt reports as Busy, it will terminate instantly as if it was Waiting.

I haven’t tested other node combinations so I don’t know how deep this rabbit hole goes, but I figured it was worth noting.

-David Radford

How can I run blender with command line arguments. I need to enable auto run python scripts.

Here is what I have (I don’t have access to a GUI)

java -jar LokiRender-071d.jar blender 127.0.0.1

Currently there is no support for passing command line arguments to Blender through Loki. I would suggest configuring Blender the way you like it on your local machine, then copying those config files to the grunt machine (That’s what I did for my Ec2 instances).

-David

Well i thought of that but i couldnt find where it saved the config files. We ended up launching executable that launches blender with command line arguments which worked :smiley:

When using Blender 2.75 on Windows 7, the Loki Render grunt gets stuck in the Busy state and the image file is not transferred to the master. I added some debug statements to the Java code, and I believe I have identified the cause of the problem. The CLHelper.blender_getRenderedFileName() method assumes that the token containing the substring “Saved:” is followed by “Time:”. This was true with Blender 2.74, but with version 2.75 the “Time:” substring is contained in the next token. After line 88 of CLHelper where the last index is calculated, I added the following:

if (last < 0) { last = tokens[i].length(); }

This change appears to have fixed the problem. Can you verify this fix and make the change to Loki Render?

Thanks,
Robert

Glad I saw this in my email inbox since I haven’t been keeping up with this thread. Great catch and thanks for pointing me to the problem area! I’ve implemented a fix and released version 0.7.2. It works with Blender 2.75, but also maintains backward compatibility with older versions. I also added tile multiple up to 20 per user request.

Get it from SF:

Hi, I’m trying to use Loki render for my project, but I’m having some showstopper-errors… I’m using the master on a packard bell laptop with windows ten… wifi, for the moment… And everything render properly for a while, but the i get this error:

“Loki has encountered an error: java.lang.illegalThreadStateException
Please view the log for details.
Wisdom would dictate restarting Loki at this point.”

I get this error even when i just leave master and grunts running with no jobs…

Another slightly annoying thing, though not an error i suppose, is that every time this happens, it resets the render queue, which makes it a bit frustrating, because every time it crashes you have to add the jobs again manually after every crash. It actually drops the queue even when i just close the master down… Is there a way of making loki retain the renderqueue?

I actually like Loki very much for it’s simplicity, and would love to continue to use it… I’m pressed on time though, and don’t have the luxury of rendering on a online farm at the moment, so this is my only option… :slight_smile:

I also run into that issue with image file not transferring to the master, but i get that error message at the grunts… I’m not sure if that happens before or after the master reports that it has crashed though… I’m running loki 0.7.2. on master and three grunts. One of the grunts are win7 and the other three is Win10, including the master laptop.

My log-file from the master:

Aug 11, 2015 9:01:53 AM net.whn.loki.master.MasterR <init>
SEVERE: listener failed to setup!
Aug 11, 2015 10:21:12 AM net.whn.loki.error.DefaultExceptionHandler uncaughtException
WARNING: uncaught throwable:
java.lang.IllegalThreadStateException
at net.whn.loki.master.MasterR.<init>(MasterR.java:86)
at net.whn.loki.common.Main.startMaster(Main.java:263)
at net.whn.loki.common.Main.startLoki(Main.java:213)
at net.whn.loki.common.Main.main(Main.java:119)

Is there any chance of helping me with this?

-c-

update:
I’ve been trying to render a bit more… Could the fact that i’m running the master on a wifi-network make problems? It seems like it might be dropping the connection at some points…

Hello… This project is stopped?? The 0.72 version work fine on my mini-lan (3 pc’s). I’m not a java developer ( only Python and C++…) but i have the repository code, download from SourceForge. I want make a look… Maybe is time for learn Java :slight_smile:
Greetings…

(Sorry for my bad english…)

Hi.
I hope it will be improving because of the potential use of the program and the pain of blender network render.
I just been testing the tile rendering in one single frame and here are the render time results in my 2 computers.
iMac:
i5-2600
12Gb
PC:
Lenovo z50-70
i7-4510U
8GB


So, well. The imac renders the scene in half time than de pc do, but; why the time with 2 computers is 50% longer than the fastest one?
It´s not a Pro laptop, but i think that at least it will be a support helper for large scenes.
is there any reason for that?

I also have a lot of performance problems with the tiled rendering. Actually it works, but is barely faster than using a single render node. Is this supposed to happen?