POV-Ray

The Persistence of Vision Raytracer (POV-Ray).

This is the legacy Bug Tracking System for the POV-Ray project. Bugs listed here are being migrated to our github issue tracker. Please refer to that for new reports or updates to existing ones on this system.

Attached to Project: POV-Ray
Opened by Ben Weston - 2012-08-03
Last edited by Chris Cason - 2012-09-04

FS#250 - ini shell-outs always fail

I’ve got an ini file that looks like this:

Post_Frame_Return=U
Post_Frame_Command=notepad.exe

And when I render a scene using that ini file, it renders correctly but then
gives me this error:

Render halted because the post-frame shell-out (’notepad.exe’) requested POV-Ray
to generate a user abort.
Render failed

.....and it doesn’t open notepad.

I’ve unchecked the “Disable Starting Other Programs” and I’ve tried various
variations on what exe to run and whether to do it Pre/Post Frame/Scene, and
nothing has worked.

Closed by  Chris Cason
Tuesday, 04 September 2012, 10:24 GMT
Reason for closing:  Not a bug
Grimbert Jérôme commented on Sunday, 12 August 2012, 15:34 GMT

Testing on Linux : kind of same effect... maybe need another entry in flyspray.

vfe/unix/vfeplatform.cpp has a nice:

	bool gShelloutsPermittedFixThis = false;

and 

	bool UnixShelloutProcessing::CommandPermitted(const string& command, const string& parameters)
	{
		// until we get a unix support guy, this is just a hack: use a global
		string cmd = command + " " + parameters;
		boost::trim(cmd);
		if (command.empty() || *command.rbegin() == '&')
			return false;
		return gShelloutsPermittedFixThis;
	}

Which mean, for unix, it's always false... No shellout!

To Original Poster: did you also change the [Shellout Security] section in povray.conf ?
(default to "forbidden", must be set to "allowed")

Ben Weston commented on Saturday, 18 August 2012, 21:22 GMT

I've changed the script I/O restrictions in the menu so there should be no restriction. There's no povray.conf on Windows as far as I can see.

(Sorry for the delayed reply, I was on holiday.)

Admin
Chris Cason commented on Tuesday, 04 September 2012, 03:36 GMT

The reason it doesn't open notepad is that you haven't provided the full path to the program. If you use c:\windows\system32\notepad.exe, it should work. The message indicating that a user abort was requested is because of the 'U' setting to Post_Frame_Result. POV-Ray doesn't (currently) differentiate between the program itself issuing a failure code and a launch failure cause by e.g. an incorrect filename or invalid path.

Ben Weston commented on Tuesday, 04 September 2012, 09:57 GMT

I've tried with the full path, and various different exes, to no avail. Notepad.exe shouldn't need the path since it's on the system's standard path, i.e. it works from the command line without a path.

Does it work on your PC?

Admin
Chris Cason commented on Tuesday, 04 September 2012, 10:11 GMT

Yes it works for me. As for not needing the path, keep in mind that the system search path is a convention applied by the windows shell (explorer.exe). It does not apply to programs created using the Windows CreateProcess() API (see http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425.aspx), specifically: "The string can specify the full path and file name of the module to execute or it can specify a partial name. In the case of a partial name, the function uses the current drive and current directory to complete the specification. The function will not use the search path. This parameter must include the file name extension; no default extension is assumed."

What I recommend you do if you are still having issues is to obtain Microsoft's free procmon utility (http://technet.microsoft.com/en-us/sysinternals/bb896645) and run it with the filter set to only show activity from pvengine.exe (or whatever the executable is named on your system - there are several possibilities), halt capture and clear the window, launch POV, then just before starting the parse start capturing activity (control-e toggles capture in procmon). Then look at what it shows. One of the calls (there will be lots, it's quite verbose) will be to launch the process; let me know what that shows.

Ben Weston commented on Tuesday, 04 September 2012, 10:21 GMT

I do apologise, I just tried it with the full path and it worked! I honestly thought that was the first thing I'd tried.

Thanks for your help, and sorry for the erroneous bug report (I'm a programmer myself, so I know how annoying this is).

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing