Running PerlMagick on Windows Server 2003

PerlMagick is an object-oriented Perl interface to ImageMagick. Use this forum to discuss, make suggestions about, or report bugs concerning PerlMagick.
Post Reply
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Post by magick »

The ImageMagick team is listening but its been awhile since we used PerlMagick with IIS. For now, we must depend on the user community to solve the IIS problem and determine if its a IIS administation problem or a problem with ImageMagick. If we can change ImageMagick to make it more compatible with IIS, let us know.
abjones
Posts: 33
Joined: 2004-03-26T12:21:59-07:00

ImageMagick on Windows 2003 Server

Post by abjones »

I have been running with administrator privilege and have no problems with either the perl.exe or the perlis.dll; also perlscript under .asp. I use Windows authentication.

I have allowed under Web Service Extensions:
Acive Server Pages
Internet Data Connector
Server Side Includes
WebDAV

Under Application pools I have limited to 1 worker process because of earlier multithreading process problems.

I hope someone has the time to figure out how to run on other than administrative privilege.
User avatar
rmabry
Posts: 148
Joined: 2004-04-13T11:25:27-07:00

Re: Has this been resolved by anyone?

Post by rmabry »

lgbjr wrote: Hello All,

Has this issue been resolved by anyone? Every thread I find with this error just dies out without an answer.

I'm receiving the same error running W2K3 Server, IIS6.0, Perl 5.8.6-build 811, and ImageMagick 6.2.8 Q16.

If anyone has resolved this issue, please point me in the right direction!!

TIA
LEe


I had the same issues with my first attempt (which was today) to join PerlMagick (IM 6.3.0 / ActiveState 5.8.8 ) and IIS (5.1) in holy weblock. The first call to

Code: Select all

use Image::Magick;
resulted in the very same error,

Can't load 'C:/Perl/site/lib/auto/Image/Magick/Magick.dll' for module Image::Magick ...


Perl was working fine and I had made much progress thanks to Dylan Beattie's page,

http://www.dylanbeattie.net/magick/howto.html

which is very helpful, up to one point, namely his instruction

4.1. set MAGICK_HOME=c:\perl\site\lib\auto\Image\Magick

which I found very strange (it makes no sense, because it would seem to ruin the path to most IM executables or dll's). I tried it anyway to see if it helped, which it did not. So I added that same path instead to the PATH environmental variable (which does make sense), rebooted, and that is what worked for me.


Rick
abjones
Posts: 33
Joined: 2004-03-26T12:21:59-07:00

versions 6.2.9-8 and more recent crash IIS

Post by abjones »

Howdy Rick,

I am able to run perlMagick using ImageMagick-6.2.9-7-Q8-windows-dll.exe
under Windows 2003 Server and IIS.

I am not able to run any more recent version... IIS crashes hard.

Have you been able to do so?

Thanks,
Blair
User avatar
rmabry
Posts: 148
Joined: 2004-04-13T11:25:27-07:00

Re: versions 6.2.9-8 and more recent crash IIS

Post by rmabry »

abjones wrote: Howdy Rick,

I am able to run perlMagick using ImageMagick-6.2.9-7-Q8-windows-dll.exe
under Windows 2003 Server and IIS.

I am not able to run any more recent version... IIS crashes hard.

Have you been able to do so?

Thanks,
Blair


Hi Blair,

Hmmm, I'm perplexed again. Multiplexed. I was running Windows 2003 Server and IIS with 6.3.0 Q16 and all was well. But now that I am using 6.3.1-4, I tested again and began crashing with this message:

http://sun.cs.lsus.edu/~rmabry/magick/I ... 8dec06.png

Is that familiar? I rebooted, tested a perl "Hello World" script and it worked. But a simple PerlMagick one was not behaving. The same script worked on a different server:

http://sun.cs.lsus.edu/~rmabry/magick/IIS/imagedemo1.pl

http://sun.cs.lsus.edu/~rmabry/magick/I ... edemo1.plx

And then suddenly, as I was just testing and composing this reply, it worked again. It must have crashed a dozen times prior to that. I don't THINK I had any errors, but who knows? I did tweak the script as I was trying to figure it out. But I was quite certain that the same script that ran on 6.3.0 was crashing just now. I can't imagine this has been helpful to you...

Oy.

Rick
abjones
Posts: 33
Joined: 2004-03-26T12:21:59-07:00

Post by abjones »

Howdy Rick,

I installed every ImageMagick-6.3.*-*-Q8-windows-dll.exe and ran url to demo1.asp:

Code: Select all

<%@ Language=PerlScript %>
<html><head><title>Testing</title></head>
<body>
<%
use Image::Magick;
%>
testing
</body></html>
and get
$Response->writeblock(0); use Image::Magick; $Response->writeblock(1); error '80004005'

Internal Error

/wis/PerlSupport/demo1.asp, line 0

Nothing in Windows Event Viewer. If I run demo.asp again without stopping and starting IIS, then IIS hangs.

When I run url to demo.plx (mapped in IIS to perlis.dll):

Code: Select all

#!c:/perl/bin/perl.exe
use strict;
use Image::Magick;
use CGI qw(:standard -nph);
my $tile = "testing";
print header("text/html");
print  $tile;
I get in the browser:
Content-type: text/html

'D:\InetPub\WWWRoot\wis\PerlSupport\demo.plx' script produced no output


and in Windows Event Viewer under Application I get:
Script error(s) from PerlIS.dll logged in: C:\Perl\bin\PerlIS-Err.log


and in perlIS-Err.log I get
*** 'D:\InetPub\WWWRoot\wis\PerlSupport\demo.plx' error message at: 2006/11/07 15:45:25
INTERNAL ERROR: PerlParse did not exit clean!!!!


I am using IIS session state without .net so I have Max Number Worker Processes set at 1.

I have tried this on my back-up server that does not have all the gack from my day to day tinkering, but I get the same result: 6.2.9-7 works where as later versions do not.

It feels like there is dynamic loading or name mapping conflict going on inside IIS when perlis.dll performs "use Image::Magick;"
Upon a second attempt IIS thread stalls, with negligible CPU consumption, and must be stopped and re-started.

When running pages mapped to perl.exe there is no problem, only when running pages mapped to perlis.dll.

I have tried setting the Max Number Worker Processes to a higher number and get odd results similar to what you have described, sometimes it works but eventually fails and hangs. I don't know how to get IIS or perlis.dll to give me any clues about what is going on.

Blair
User avatar
rmabry
Posts: 148
Joined: 2004-04-13T11:25:27-07:00

Post by rmabry »

Hi Blair,
abjones wrote: $Response->writeblock(0); use Image::Magick; $Response->writeblock(1); error '80004005'


I get the very same result with that script.
Nothing in Windows Event Viewer. If I run demo.asp again without stopping and starting IIS, then IIS hangs.


I think I'll pass on that experiment! But my other scripts continued to run afterward.
When running pages mapped to perl.exe there is no problem, only when running pages mapped to perlis.dll.


Aha, mine is mapped to perl.exe. Why do you want to use the dll (aside from "Because I should be able to.")? I tried it with the dll and got the same error you described with demo.plx (renamed to demo.pl). That was in Internet Explorer. Firefox just asks me what it should do with it.
I have tried setting the Max Number Worker Processes to a higher number and get odd results similar to what you have described, sometimes it works but eventually fails and hangs.


I'm using IIS 5.1. It sounds like you using IIS 6, and if so I guess there's another reason this comparison is not helpful. (Another: I started using IIS and PerlMagick only just last week. But I did sleep at a Holiday Inn last night.)

I did see another strange thing. Using this little script that I glommed from somewhere (probably Dylan Beattie's web site), using perl.exe gave the correct result, while using perlis.dll gave the same result preceded by an extra copy of the line "Content-type:text/html". Silly stuff, to me.

Code: Select all

#!/usr/bin/perl -- 
print ("Content-type:text/html\r\n\r\n");
print ("<html><body><h1>Hello World!</h2></body></html>");
Good luck, and please post your solution. Mine will include staying away from the dll.

Rick
abjones
Posts: 33
Joined: 2004-03-26T12:21:59-07:00

Re: Running PerlMagick on Windows Server 2003

Post by abjones »

ImageMagick-6.3.4-6-Q8-windows-dll.exe works on Windows Server 2003 with IIS using perlis.dll
:shock: :) :D :D
Post Reply