The following reply was made to PR mod_jserv/5420; it has been noted by GNATS.

From: Thierry Delaitre <[EMAIL PROTECTED]>
To: Ed Korthof <[EMAIL PROTECTED]>
Cc: [EMAIL PROTECTED]
Subject: Re: mod_jserv/5420: Segmentation Fault
Date: Wed, 8 Dec 1999 10:29:47 +0000 (GMT)

 Hi,
 
 On Mon, 6 Dec 1999, Ed Korthof wrote:
 
 > hi --
 > 
 > the place where the problem is occuring is populated by the __FILE__
 > macro; apache expects certain things there, in the module_structure.  so
 > either the wrong thing is there, or the memory got corrupted already at
 > the point when this was called.  
 > 
 > in the testing environment which i have, DSOs work fine.  i'm guessing
 > that you're seeing one of two things.  either the gcc which you're using
 > is buggy, or you built the mod_jserv.so file on a different machine from
 > the one used to build your httpd (or with different compiler settings).
 
 I'm sure I've used the same gcc.
 
 > the version of gcc which you're using isn't in that common of use (i've
 > generally seen 2.7.x, with the explanation that the 2.8.x series is buggy) 
 > -- but if this were a bug in that, i'd expect a work-around in the apache
 > source. 
 
 > but it's also possible that the jserv initialization is corrupting the
 > stack; if that's the case, it's not triggered by my environment.  if
 > that's what's going on, it'd be helpful to see your conf file. 
 > 
 > are you certain the .so file was compiled on the same machine (and with
 > the same compiler) as apache?
 
 yes it was compiled on the same machine using same gcc.
 
 >  if so, could you gdb one of the core files
 > and send me the output from 'p jserv_module'?
 
 Sure. Please find the output below:
 
 Starting program: /rhino_local/apache-internet/bin/httpd 
 
 Program received signal SIGSEGV, Segmentation fault.
 0xef6505e0 in strrchr () from /usr/lib/libc.so.1
 (gdb) bt
 #0  0xef6505e0 in strrchr () from /usr/lib/libc.so.1
 #1  0x4f96c in ap_add_module ()
 #2  0x4fb24 in ap_add_loaded_module ()
 #3  0x471d0 in load_module ()
 #4  0x50314 in invoke_cmd ()
 #5  0x510e4 in ap_handle_command ()
 #6  0x511c4 in ap_srm_command_loop ()
 #7  0x51928 in ap_process_resource_config ()
 #8  0x58a74 in include_config ()
 #9  0x501fc in invoke_cmd ()
 #10 0x510e4 in ap_handle_command ()
 #11 0x511c4 in ap_srm_command_loop ()
 #12 0x51928 in ap_process_resource_config ()
 #13 0x5251c in ap_read_config ()
 #14 0x60b3c in main ()
 (gdb) p jserv_module
 $1 = {version = 19990320, minor_version = 6, module_index = 21, 
   name = 0x5c0e18 <Address 0x5c0e18 out of bounds>, dynamic_load_handle = 
0xef770b00, next = 0xd0a7c, 
   magic = 1095774515, init = 0x5b7360, create_dir_config = 0, merge_dir_config 
= 0, 
   create_server_config = 0x5b5c98, merge_server_config = 0x5b5d50, cmds = 
0x5d68a8, handlers = 0x5d6888, 
   translate_handler = 0x5b77a0, ap_check_user_id = 0, auth_checker = 0, 
access_checker = 0, 
   type_checker = 0x5b787c, fixer_upper = 0, logger = 0, header_parser = 0, 
child_init = 0x5b746c, 
   child_exit = 0, post_read_request = 0}
 (gdb) 
 
   it should look something
 > like this: 
 > 
 > *****
 > (gdb) p jserv_module
 > $1 = {version = 19990320, minor_version = 6, module_index = 20,
 >   name = 0x400e8337 "mod_jserv.c", dynamic_load_handle = 0x80de9b8,
 >   next = 0x80c8518, magic = 1095774515, init = 0x400df2b4 <jserv_init>,
 >   create_dir_config = 0, merge_dir_config = 0,
 >   create_server_config = 0x400dde78 <jserv_server_config_create>,
 >   merge_server_config = 0x400ddf4c <jserv_server_config_merge>,
 >   cmds = 0x400ed42c, handlers = 0x400ed40c,
 >   translate_handler = 0x400df650 <jserv_translate_handler>,
 >   ap_check_user_id = 0, auth_checker = 0, access_checker = 0,
 >   type_checker = 0x400df718 <jserv_type_match>, fixer_upper = 0, logger = 0,
 >   header_parser = 0, child_init = 0x400df37c <jserv_child_init>,
 >   child_exit = 0, post_read_request = 0}
 > (gdb)
 > *****
 > 
 > what do you mean when you say the system was solaris 7 w/ 32 bits?
 
 The Sun/Solaris OS runs in 64 bits on Ultra Sparc processor only. The
 Sun architecture I have only supports 32 bits. BTW, only the Sun C
 compiler is able to produce 64 bits binaries.
 
 I'm using the default httpd.conf file. The only addition I did is to add
 the Include statement at the bottom of the file to load jserv.conf.
 
 I use the following options with configure for Apache 1.3.9
 
 ./configure     --prefix=/rhino_local/apache-internet \
                 --enable-module=so \
                 --enable-module=info \
                 --enable-module=status \
                 --enable-module=rewrite \
                 --enable-suexec --suexec-caller=www
 
 I use the following options with configure for ApacheJserv-1.1.b3
 
 ./configure --prefix=/rhino_local/apache-internet/jserv \
         --with-apxs=/rhino_local/apache-internet/bin/apxs \
         --with-jdk-home=/usr/java \
         --with-JSDK=/rhino_local/JSDK2.0/lib/jsdk.jar
 
 Thierry.
 
 

Reply via email to