segfaulting on startup

Jeffrey M. Vinocur jeff at litech.org
Tue Mar 12 23:12:51 UTC 2002


On Tue, 12 Mar 2002, Russ Allbery wrote:

> Okay, I think this was due to the Perl headers clobbering something
> somewhere.  Could those of you who were having this problem please try
> again with a pull of CURRENT (or with tonight's snapshot) and see if it's
> now fixed?

With much help from Zack, I found it.  If the Perl headers redefine bool
(which they do), then any struct (say SITE) which has enough consecutive
bools that alignment concerns allow them to be compressed (if, say, bool
is char) is going to be horribly broken if the header file which included
it is sometimes used with one kind of bool and sometimes with another.

On the plus side, it's our own fault, I guess.  Glancing through the Perl
headers it seems that we're supposed to define HAS_BOOL.  (And in fact,
doing that in innperl.h fixes the problem for me.)

So Russ -- if you're happy with your changes, good.  If there's anything
that you'd like to further clean up, the trick is just to define HAS_BOOL.
In fact, that's probably very wise to do before including the Perl headers
anyway...do you want to, or should I look into it?


(Amusingly enough, if you google for HAS_BOOL you mostly get Russ talking
about INN's bool type.)


-- 
Jeffrey M. Vinocur
jeff at litech.org



More information about the inn-workers mailing list