httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Kraemer <Martin.Krae...@mch.sni.de>
Subject Update about my core dumps on mainframe
Date Fri, 12 Dec 1997 15:48:11 GMT
A couple of weeks (months?) ago, I had problems with core dumps on both
my SVR4 machines and on a porting project to a mainframe machine (EBCDIC
charset!) to Siemens Nixdorf's BS2000 machines with POSIX subsystem.
**NOTE** This porting project had never reached the state of
"bind+accept+serve", it always crashed with a dump after the config file
reading phase.


Thanks to Dean's help, we were able to track down a few off-by-one errors
and the dumps ceased on my SVR4 machines.
However, I was still stuck with the core dumps on the mainframe, mainly
because the debugging environment is very `tricky' in the posix system, and
so all I could tell was "it crashes in alloc.c" :-(

I now reduced apache to core + one module (because of a Configure problem
Apache cannot be compiled without modules, I'll have a look at that later).
I picked mod_dir as my first module, and Bingo! the executable compiled,
and was accept()ing connections.

Based on this state I added the necessary ASCII<->EBCDIC conversions on
the protocol level (only Request lines, Header lines by now, chunking
when I need it; but not the served contents) because I think the protocol
level conversion and the "served file image" conversion are two things
which have to be dealt with separately.

So now I have a couple of ASCII files on the EBCDIC machine which are
served fine, and performance (measured by zb) is vastly superior to the
existing CERN/3.0 port (I don't know the relative performance powers of
the two machines, however. But I guess the CERN machine is at least as
strong as the apache machine):

		      Mainframe #1      Mainframe #2     100 MHz MIPS
		       BS2000           BS2000           SVR4 (SINIX)
---------------------+----------------+---------------+-----------------
Server:               Apache/1.3b4-dev CERN/3.0        Apache/1.3b4-dev
Document Length:      10240            9097            10240
Concurency Level:     6                6               6
Time taken for tests: 12.620 seconds   75.330 seconds  17.940 seconds
Complete requests:    100              100             100
Failed requests:      0                0               0
Bytes transfered:     1059830          930100          1059187
HTML transfered:      1033106          909700          1034240
Requests per seconds: 7.92             1.33            5.57
Transfer rate:        83.98 kb/s       12.35 kb/s      59.04 kb/s

All these machines have OS's which are not optimized for network speed.
Additionally, on the mainframes, all protocol bytes run thru an
EBCDIC<->ASCII conversion machinery which is a "rough port", not
optimized for speed. But what impresses me again is the ratio of Apache
to CERN.

Okay, but back to the core dumps. After getting the initial port up-and-
running yesterday night, I began adding back in the normal modules
required for everything above the basic "it works" level (all files are
served as text/plain, no directory index is served --even if mod_dir is
compiled in-- probably because mod_dir requires AddHandler in order to
work, and that requires mod_mime). Soon I got core dumps again, and made
a table of working/dumping module combinations (it's only a start because
I have to compile MANY combinations...):

mod_alias       |    |    |    |    |    | +  |    |    |    |    |    |
mod_dir         | *  | *  | *  | *  | *  | *  |    |    |    |    |    |
mod_info        |    |    |    |    |    | *  |    |    |    |    |    |
mod_log_config  |    | +  | +  | +  | +  | +  |    |    |    |    |    |
mod_mime        |    |    | +  |    | +  |    |    |    |    |    |    |
mod_negotiation |    |    |    | +  | +  | +  |    |    |    |    |    |
mod_status      |    |    |    |    |    | *  |    |    |    |    |    |
================+====+====+====+====+====+====+====+====+====+====+====+
		|okay|okay|DUMP|okay|DUMP|okay|    |    |    |    |    |
(+ : compiled-in      * : compiled in, but cannot test without mod_mime)

By now it looks like mod_mime is a core dump triggering candidate...
I'll continue testing as time permits.

Just wanted to keep you informed.

Have a nice weekend,
    Martin
-- 
| S I E M E N S |  <Martin.Kraemer@mch.sni.de>  |      Siemens Nixdorf
| ------------- |   Voice: +49-89-636-46021     |  Informationssysteme AG
| N I X D O R F |   FAX:   +49-89-636-44994     |   81730 Munich, Germany
~~~~~~~~~~~~~~~~My opinions only, of course; pgp key available on request

Mime
View raw message