On Mon, Apr 25, 2011 at 9:24 AM, Tony Perovic <[email protected]>wrote:
> Anybody? > I don't have any ideas. And I don't have an IIS installation on which to debug. If you can run the process in a debugger and get a stack trace, that might provide a clue. > > ________________________________________ > From: Tony Perovic > Sent: Wednesday, April 20, 2011 5:23 PM > To: '[email protected]' > Subject: RE: Cloning on IIS > > All, > > To troubleshoot my cloning problem, I tried running Fossil in CGI mode like > this: > > Set CONTENT_LENGTH=65 > Set PATH_INFO=/xfer/xfer > Set REMOTE_USER=tperovic > Set REQUEST_MODE=POST > Set SCRIPT_NAME=/Projects/Test/Test.fossil > Set SERVER_NAME=myserver > Set SERVER_PORT=80 > Set SERVER_PORT_SECURE=0 > Set SERVER_PROTOCOL=HTTP/1.0 > Fossil.exe cgi test.cgi > > Also tried: > > Set GATEWAY_INTERFACE=CGI/1.1 > Fossil.exe test.cgi > > Getting this error: > > Assertion failed: (pFrom)->xRealloc==blobReallocMalloc || > (pFrom)->xRealloc==blobReallocStatic, file ./bld/blob_.c, line 379 > > This application has requested the Runtime to terminate it in an unusual > way. > Please contact the application's support team for more information. > > I set all the environmental variables that I think it needs. Did I miss > any? > Probably looking for those 65 bytes of content on stdin, huh? > What do those 65 bytes contain? > > Tony Perovic > Compumation, Inc. > ________________________________ > From: Tony Perovic > Sent: Tuesday, April 19, 2011 5:22 PM > To: '[email protected]' > Subject: Cloning on IIS > > Cloning works if I run Fossil in server mode: > > Server: Fossil server myrepository.fossil > Workstation: Fossil clone http://myserver:8080< > http://myserver:8080/> myclone.fossil > > It also works using IIS/CGI if I clone a new, empty repository. However, if > I try to clone a repository that contains artifacts using IIS/CGI then I get > errors: > > C:\Program Files\Fossil\Fossil.exe: malformed file line. > > Comparing the data packets I can see the problem: > > Fossil server response: > > HTTP/1.0 200 OK > Date: Tue, 19 Apr 2011 20:34:30 GMT > Connection: close > Cache-control: no-cache, no-store > Content-Type: application/x-fossil-uncompressed; charset=utf-8 > Content-Length: 793430 > > 0000: 63 66 69 6C 65 20 65 37 64 34 34 63 34 65 61 64 > ….. > 2E4C0: 33 F2 2C F4 AE CC B2 06 00 65 91 08 0D 0A 63 66 > > Fossil/IIS/CGI response: > > Status: 200 OK > Date: Tue, 19 Apr 2011 20:34:30 GMT > Connection: close > Cache-control: no-cache, no-store > Content-Type: application/x-fossil-uncompressed; charset=utf-8 > Content-Length: 793430 > > 0000: 63 66 69 6C 65 20 65 37 64 34 34 63 34 65 61 64 > ….. > 2E4C0: 33 F2 2C F4 AE CC B2 06 00 65 91 08 0A 63 66 69 > > All the 0D/0A pairs got replaced with 0A. Text mode converts \n to \r\n but > what the hell is converting \r\n to \n ???!?!?!??! > > The Perl code that handles CGI requests, in part, looks like this: > > $fossil = “C:\Program Files\Fossil\Fossil.exe” > $cgifile = <full path to CGI file> > $output = `\"$fossil\" \"$cgifile\"`; # Execute Fossil, capture output > > $eoh = index($output,"\n\n"); # Find end-of-header > $header = substr($output,0,$index); # Just the HTTP header > > if ($header =~ m/Content-Type: text/) { # text or binary? > print $output; # Everything is text mode > } > else { > print "$header\n\n"; # Header is text > binmode stdout; # The rest is binary > print substr($output,$eoh + 2); > } > > Any chance that Fossil is doing this? > > [cid:[email protected]] > > TONY PEROVIC > > [email protected]<mailto:[email protected]> > www.compumation.com > > 205 W. Grand Ave., Ste. 121 > Bensenville, IL 60106 > 630-860-1921 Phone > 630-860-1928 Fax > > > > _______________________________________________ > fossil-users mailing list > [email protected] > http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users > > -- D. Richard Hipp [email protected]
_______________________________________________ fossil-users mailing list [email protected] http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

