[peruser] interesting peruser problem

Stefan Seufert stefan at seuf.de
Sun Apr 2 07:33:28 MDT 2006


I've been able to attach a debugger and thus have been able to locate
the cause of the crash:

> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread -1208174912 (LWP 11331)]
> 0x0809cffa in peruser_post_read (r=0x8bc9c30) at peruser.c:2566
> 2566            processor = &CHILD_INFO_TABLE[sconf->senv->processor_id];
> (gdb) bt full
> #0  0x0809cffa in peruser_post_read (r=0x8bc9c30) at peruser.c:2566
>         sconf = (peruser_server_conf *) 0x8bb9628
>         processor = Variable "processor" is not available.
> (gdb) list
> 2566            processor = &CHILD_INFO_TABLE[sconf->senv->processor_id];
> 2567        else
> 2568            processor = &CHILD_INFO_TABLE[r->connection->id];
> 2569
> 2570
> 2571        if (!strlen(r->the_request))
> 2572        {
> 2573            _DBG("corrupt request. aborting",0);
> 2574            return DECLINED;
> 2575        }
> (gdb) print sconf
> $1 = (peruser_server_conf *) 0x8bb9628
> (gdb) print sconf->senv
> $2 = (server_env_t *) 0x0
> (gdb)

It looks like sconf->senv isn't set. The ->processor_id access then
causes the segfault. So the next question is: Why is it empty? Maybe
just a configuration problem we haven't covered? Sean, any ideas?

Stefan



More information about the Peruser mailing list