Re: panic: sodealloc(): so_count 1

From: Gleb Kozyrev <gkozyrev_at_ukr.net>
Date: Thu, 10 Aug 2006 19:35:12 +0300
Robert Watson wrote to "Gleb Kozyrev" <gkozyrev_at_ukr.net> on Thu, 10 Aug 2006 11:40:03 +0100 (BST):

>> i386 7.0-CURRENT #0: Sun Aug 6 repeatedly panics when doing some default 
>> periodic jobs at 3 AM.

RW> Could you file a PR for this, and forward me the PR receipt?  I'd be
RW> happy to investigate this problem.  I've seen one or two other reports
RW> of so_count 1, but not in a way that's reproduceable.  The output of the
RW> following DDB commands would be most helpful:

RW>    show pcpu
RW>    show allpcpu
RW>    alltrace
RW>    show  alllocks

Here you are: kern/101763

RW> It may also be useful to set up serial GDB, in order to do things like
RW> print the contents of *so in sodealloc().

I didn't manage to do it.
It looks like kernel switches to remote gdb mode successfully but kgdb
fails to communicate.

This place in socreate() looks weird to me:
=========Beginning of the citation============== 
  so->so_count = 1;
  error = (*prp->pr_usrreqs->pru_attach)(so, proto, td);
  if (error) {
    sodealloc(so);
    return (error);
  }
=========The end of the citation================ 
It will panic on error.
Wasn't the intent here to return the error code?

-- 
With best regards, Gleb Kozyrev. 
Received on Thu Aug 10 2006 - 14:35:32 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:58 UTC