-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

A review of the servlet.c send method shows the following code:

                /*
                 * Parse the file
                 */
                SETSTRING( SG(request_info).path_translated,
pathTranslated );
#ifdef VIRTUAL_DIR
                retval = php_fopen_primary_script(&file_handle TSRMLS_CC);
#else
                /*
                 * The java runtime doesn't like the working directory
to be
                 * changed, so save it and change it back as quickly
as possible
                 * in the hopes that Java doesn't notice.
                 */
                getcwd(cwd, MAXPATHLEN);
                retval = php_fopen_primary_script(&file_handle TSRMLS_CC);
                chdir(cwd);
#endif

                if (retval == FAILURE) {
                        php_request_shutdown((void *) 0);
                        php_module_shutdown(TSRMLS_C);
                        ThrowIOException(jenv, file_handle.filename);
                        return;
                }

Relying on timing to make something work is usually not a good
practice and it looks like this code may not be working in my case due
to bad timing. As previously posted I'll try an earlier version of PHP.

                                               -=> Gregg <=-

Gregg Leichtman wrote:
> Thanks for the direction.
>
> This is pretty much what I thought. I'll try moving back to a
> previous version of PHP and see how it goes.
>
> -=> Gregg <=-
>
> Nikola Milutinovic wrote:
>>>> *exception*
>>>>
>>>> java.io.IOException: null net.php.servlet.send(Native Method)
>>>>  net.php.servlet.service(servlet.java:207)
>>>> net.php.servlet.service(servlet.java:236)
>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>> This exception is not only generic, but it is also missing the
>>> cause. It is definitely generated in the JNI method, so you'd
>>> have to look in there.
>>>
>>>> I then altered the servlet class to include some debugging
>>>> info just prior to its invocation of the send method:
>>>>
>>>> send(request.getMethod(), request.getQueryString(),
>>>> request.getRequestURI(), contextPath,
>>>> request.getContentType(), request.getContentLength(),
>>>> request.getRemoteUser(), display_source_mode );
>>>>
>>>> Here is the result: request.getMethod()               = GET
>>>> request.getQueryString()        = null
>>>> request.getRequestURI() = /test.php contextPath
>>>> = /home/gsl/tomcat/apache-tomcat-5.5.15/webapps/ROOT/test.php
>>>>  request.getContentType()       = null
>>>> request.getContentLength() = -1 request.getRemoteUser()
>>>> = null display_source_mode = false
>>> This looks fine.
>>>
>>>> The corresponding native method appears to be in servlet.c
>>>> as:
>>>>
>>>> JNIEXPORT void JNICALL Java_net_php_servlet_send (JNIEnv
>>>> *jenv, jobject self, jstring requestMethod, jstring
>>>> queryString, jstring requestURI, jstring pathTranslated,
>>>> jstring contentType, jint contentLength, jstring authUser,
>>>> jboolean display_source_mode)
>>>>
>>>> I haven't written JNI code before, but I suspect that the
>>>> first two args are just hidden info. that is typically passed
>>>> to a native method, so I don't see a signature mismatch or
>>>> anything else wrong here.
>>> The error would have been much different, in case of a
>>> signature mismatch.
>>>
>>>> Alternatively, does anyone have any further ideas on what I
>>>> could do to debug this further?
>>>>
>>>> A few other individuals posted this null IOException on the
>>>> net, but no resolution was provided. Being such a generic
>>>> error, their problem might not even be related to what I am
>>>> experiencing.
>>> Well,...
>>>
>>> As I have said above, the exception is thrown in the native
>>> method, so you could go into the source of that method and see
>>> where it could throw an exception. Other than that, you could
>>> try building a different version of PHP, like 5.0 or 5.1
>>> branch. Maybe they will fare better.
>>>
>>> Nix.
>>>
>>> __________________________________________________ Do You
>>> Yahoo!? Tired of spam?  Yahoo! Mail has the best spam
>>> protection around http://mail.yahoo.com
>>>
>>> ---------------------------------------------------------------------
>>>  To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>
> ---------------------------------------------------------------------
>  To unsubscribe, e-mail: [EMAIL PROTECTED] For
> additional commands, e-mail: [EMAIL PROTECTED]
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEJ88PMcSsEtbyA2cRArZEAKCD5hduIjd14P7jR5QG9qgzK/mCXACfd5pv
eX8UxdsFCjhs7wyoBlD1HMc=
=2GKV
-----END PGP SIGNATURE-----

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

Reply via email to