PR# 11075 Windows Eiffel program crashes when spawned
Problem Report Summary
Submitter: ifdefmoose
Category: Runtime
Priority: Medium
Date: 2006/08/25
Class: Bug
Severity: Non-critical
Number: 11075
Release: 5.4 through 5.6
Confidential: No
Status: Open
Responsible:
Environment: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727)
Synopsis: Windows Eiffel program crashes when spawned
Description
On Windows, when spawning an Eiffel program with the the Win32 CreateProcess call, if the call specifies any inheritable handles for stdout and/or stederr without also specifying a handle for stdin, the spawned Eiffel program crashes with an access violation: ------------------------------------------------------------------------------ Class / Object Routine Nature of exception Effect ------------------------------------------------------------------------------ ARGS root's creation Segmentation violation: <0000000000960048> Operating system signal. Exit ------------------------------------------------------------------------------- ARGS root's creation <0000000000960048> Routine failure. Exit ------------------------------------------------------------------------------- This occured with Eiffel 5.4 through 5.6.1218. I haven't tried it with 5.7 Workaround: pass a handle for stdin created by opening NUL: To enable the workaround, uncomment the assignment --l_si.set_std_input (l_inp_fhand) at line 198 in TEST_SPAWNER (attached) Note: this does not happen when spawning a C program. I have attached a class to demonstrate the problem (TEST_SPAWNER), as well as an Eiffel class (ARGS) and a C program (args.c) that I used as test objects to spawn.
To Reproduce
Problem Report Interactions