Training, Open Source computer languages
PerlPHPPythonMySQLApache / TomcatTclRubyJavaC and C++LinuxCSS 
Search for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
spawn failing

Posted by jmcwb (jmcwb), 2 August 2005
Running on windows 2000 with sp3 or sp4 I have a number of customers that have spawn fail with "the application failed to initialize properly (0x80000003)".  The test is:

tclsh
%spawn ftp xxxxxx

It turns out that trying to spawn any program fails.  We had them try "spawn depends c:/winnt/system32/ftp.exe" and the spawn of depends fails.  Other machines at the same site using the same versions of tcl/expect work just file.

We're running with expect 5.2.1 and tcl80 since these are the only "free" versions available for windows.  Activestate, I know have some later versions that cost money.

The weird thing is that prior to June 13th, one of the users was able to run the tclsh/spawn ftp sequence without failure.  Then starting on June 13th, this fails.  I setup a virtual machine with windows 2000 sp4 and applied all the patches on one of the failing machines can cannot duplicate the problem.



Posted by admin (Graham Ellis), 2 August 2005
The whole concept of Expect doesn't fit well with the windows architecture, and you'll find a whole host of threads similar to yours on this board if you look back, I'm afraid.    I think that ActiveState have seen that there's a real need for expect under windows and real problems with the older versions ... which is why they've gone the commercial route, perhaps.

Possible solutions:
a) Buy licenses
b) Upgrade to Linux  
c) Keep asking / looking - you may find a work around or solution
d) Do your FTP transfers directly from your Tcl rather than through expect - there's code in tcllib

Personally, I would explore the last option first.

Posted by jmcwb (jmcwb), 2 August 2005
Thanks for your reply.  I don't see any other posts on this forum with a similar problem.  Oh well.  This issue is complicated by the fact that the use of tcl/expect is embedded in a large commercial product, and although it was originally developed for unix systems, it was ported to windows. It looks like we may have to investigate the later versions available from ActiveState.

Posted by admin (Graham Ellis), 2 August 2005
I owe you an apology ... I have a "rule" that says don't refer people back to ancient posts (or to books they haven't got access to) ... and I appear to have just broken it. Sorry.

If there's a large amount of embedded Expect code there then, yes, your best bet is probably to explore the ActiveState route; if it was just a small amount of code (or an application that was structured to hall all its Expect in one specific area), then I would suggest tcllib.  And, yes, I know neither is ideal ....

Posted by jmcwb (jmcwb), 2 August 2005
Problem solved.  It turns out that our customer started running an updated version of BlackICE that apparently blocks processes from spawning stuff more than one level deep.  So even the ActiveState version of tcl/expect would have had the same problem.

thanks for your help.




This page is a thread posted to the opentalk forum at www.opentalk.org.uk and archived here for reference. To jump to the archive index please follow this link.

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2014: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 899360 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho