| 
      
      
      From: <php...@li...> - 2004-09-28 15:15:17
      
     | 
| > now the pattern is a little different though.. the
> php script runs fine
> for like 15 times.. then the same exception comes up
> in JavaBridge.svr
> console.. and the php output is this: [error
message]
It will work fine if you make sure that only one
thread at a time accesses the gcj library.  
> java.lang.StringIndexOutOfBoundsException
>    at java.lang.String.charAt(int)
> (/usr/lib/libgcj.so.4.0.0)
It could be a separate issue, but I've had your script
running for about half an hour without any problems (I
suspected problems with the Boehm GC, but there aren't
any.
> This starts a new server process for each
> incoming request.
> 
> ... what this mean exactly? ... apache is
> multithreaded.. and thus I can
> have two php scripts running in different threads
> and being called at
> the same time..
The normal operation is that for each thread or
process that apache starts the bridge creates a new
request.  The server side acknowledges this request
and then spawns a new thread.  Because of this gcj bug
we currently cannot have multiple threads jni threads:
32users -> httpd
            |-- (32*httpd)--32 conn--->JVM
                                        |-> 32 threads
 
So we must start a new process for each request from
the bridge:
32users -> httpd
            |-- (32*httpd)--32 conn--> 32* JVM
                                         
The best way to do this is to remove the java entry
from the php.ini and to load the bridge via dl().
Of course, this is not the normal operation, but it
will work until the bug has been fixed.
Jost
	
	
		
___________________________________________________________
Gesendet von Yahoo! Mail - Jetzt mit 100MB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de
 |