[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bug in the call chain between process*/ports and sch_process_star_ports -> crash



Greetings,

With MzScheme 103.5 (the exp tagged version from CVS a while ago)
on Win2k, an attempt to evaluate following code causes a crash in
protect_cmdline (or some such called from process; sorry, can't
access code at the moment) because process and thus
sch_process_star_ports is called with c argument being 6 even
though there are just the program name and two arguments in
addition to it.  We couldn't decipher the code above
sch_process_star_ports so unfortunately I can't help more.

(call-with-output-file "foo"
  (lambda (md5port)
    (process*/ports md5port #f #f
                    "w:\\programs\\cygwin\\bin\\md5sum.exe"
                    "-" "source/collect.cpp")))

Values of argv and c variables, taken from process' frame after the
crash, just to prove what I just said:

+       argv[0] 0x010abb18 "w:\programs\cygwin\bin\md5sum.exe"
+       argv[1] 0x010c6e44 "-"
+       argv[2] 0x0103d348 "source/collect.cpp"
+       argv[3] 0x00000000 ""
         c       6

-- 
Hannu