I thought I'd email with a list of issues I have encountered with 2.0b7.  Some of this 
took ages to work out and I'd hate to think anyone else would have to repeat the 
exercise.  I look forward to a 2.0b8.

1. embpcgi.pl will core dump on 2.0b7 if you run it without setting up any environment 
variables because it doesn't know what file it wants to run.  I can't remember the 
code path but basically it checks for a specific filename passed to Execute, then it 
checks the environment variables, and eventually it dereferences a pointer that's NULL.

2. embperl core dumping on solaris due to the lprint NULL 
(http://www.ecos.de/~mailarc/embperl/2002-04/msg00139.html) is very very annoying, it 
took ages to realise this affected more than make test, mainly due to the core dump 
occuring when you run embpcgi.pl without any environment variables, so I thought this 
didn't make any difference when it most certainly does.

3. the "Content-Length: 2" bug is present in 2.0b7 which was mentioned way back in 
January on the mailing list, but rather than just get < in the HTML, Internet Explorer 
5.5 shows the first block of data, so my pages failed after 5k of data.  You won't 
believe how long it took me to work this one out.  It seems MSIE only checks the 
Content-Length *after* it has processed the first block of data, so the truncation can 
happen anywhere in the page, but usually on a 5k or so boundary.  wget, mozilla, etc. 
all displayed "<".

4. it would be nice if local variables for [$ sub $] using [* my ... *] were 
documented, I only found a reference to doing that on the mailing list and it was my 
first question when I started using sub.

I'm sure you know about these already, but here are the patches I am using:

*** epmain.c.dist       Mon Jun 10 10:00:41 2002
--- epmain.c    Wed Mar 20 08:22:37 2002
***************
*** 593,599 ****
          time (&t) ;
          tm =localtime (&t) ;

!         lprintf (r -> pApp,  "[%d]PERF: input = %s\n", r -> pThread -> nPid, s
Inputfile) ;
  #ifdef CLOCKS_PER_SEC
          lprintf (r -> pApp,  "[%d]PERF: Time: %d ms ", r -> pThread -> nPid, (
(cl - r -> startclock) * 1000 / CLOCKS_PER_SEC)) ;
  #else
--- 593,599 ----
          time (&t) ;
          tm =localtime (&t) ;

!         lprintf (r -> pApp,  "[%d]PERF: input = %s\n", r -> pThread -> nPid, s
Inputfile ? sInputfile : "(null)") ;
  #ifdef CLOCKS_PER_SEC
          lprintf (r -> pApp,  "[%d]PERF: Time: %d ms ", r -> pThread -> nPid, (
(cl - r -> startclock) * 1000 / CLOCKS_PER_SEC)) ;
  #else

*** epmain.c.dist       Wed Mar 20 08:22:37 2002
--- epmain.c    Mon Jun 10 17:45:13 2002
***************
*** 967,974 ****
        oputs (r, "Content-Type: ") ;
        oputs (r, pContentType) ;
        oputs (r, "\n") ;
!       sprintf (txt, "Content-Length: %d\n", GetContentLength (r) + (r -> Compo
nent.pCurrEscape?2:0)) ;
!       oputs (r, txt) ;
        if (pCookie)
            {
            oputs (r, "Set-Cookie") ;
--- 967,974 ----
        oputs (r, "Content-Type: ") ;
        oputs (r, pContentType) ;
        oputs (r, "\n") ;
!       // sprintf (txt, "Content-Length: %d\n", GetContentLength (r) + (r -> Co
mponent.pCurrEscape?2:0)) ;
!       // oputs (r, txt) ;
        if (pCookie)
            {
            oputs (r, "Set-Cookie") ;


Best wishes, James
--
James Ponder; IT infrastructure; enterprise services; dWeb engineering; ext. 54420



--

This e-mail may contain confidential and/or privileged information. If you are not the 
intended recipient (or have received this e-mail in error) please notify the sender 
immediately and destroy this e-mail. Any unauthorized copying, disclosure or 
distribution of the material in this e-mail is strictly forbidden.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to