KSE status report

2002-07-02 Thread Julian Elischer


Ok so Usability for the average command line user is
very good. David Xu tracked down a problem that was 
eluding me with SMP machines. Matt is tracking down
something that may be giving some instability
but may also be related to what David found.
He however gets the award for most confusing 
debug messages when he managed to get both of his CPUs
to enter teh debugger at the same time. I thought that was
impossible, but it definitly happenned. (or it certainly
looked that way to me :-)

The big problem at the moment is that something in the 
source tree as a whole, and probably something that came in with KSE
is stopping us from successfully compiling a working libc_r.
(a bit ironic really).

A libc_r imported from a system that is not yet upgraded to have 
KSE sources works fine. A libc_r from a KSE machine
will not work correctly on the KSE machine or the pre-KSE machine.

The sources are identical, so some thing else in the tree must be
influencing its correctness.

the result of this problem is that KDE and Gnome apps that
are linked with a libc_r created on this system.

The test directory in the libc sources is giving me some avenues to
work on but I must say, given allthe things that could have gone wrong
in the kernel, I'm surprised that the largest problem seems to
have come from a userland library that I haven't touched :-/

julian



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Julian Elischer



On Tue, 2 Jul 2002, Julian Elischer wrote:

> 
> Ok so Usability for the average command line user is
> very good. David Xu tracked down a problem that was 
> eluding me with SMP machines. Matt is tracking down
> something that may be giving some instability
> but may also be related to what David found.
> He however gets the award for most confusing 
> debug messages when he managed to get both of his CPUs
> to enter teh debugger at the same time. I thought that was
> impossible, but it definitly happenned. (or it certainly
> looked that way to me :-)
> 
> The big problem at the moment is that something in the 
> source tree as a whole, and probably something that came in with KSE
> is stopping us from successfully compiling a working libc_r.
> (a bit ironic really).
> 
> A libc_r imported from a system that is not yet upgraded to have 
> KSE sources works fine. A libc_r from a KSE machine
> will not work correctly on the KSE machine or the pre-KSE machine.
> 
> The sources are identical, so some thing else in the tree must be
> influencing its correctness.
> 
> the result of this problem is that KDE and Gnome apps that
> are linked with a libc_r created on this system.

don't work


> 
> The test directory in the libc sources is giving me some avenues to
> work on but I must say, given allthe things that could have gone wrong
> in the kernel, I'm surprised that the largest problem seems to
> have come from a userland library that I haven't touched :-/
> 
> julian
> 
> 
> 
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-current" in the body of the message
> 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Julian Elischer

BTW feel free to spend some time helping try figire out why libc_r
is bombing out. It's not an exclusive club :-)


On Tue, 2 Jul 2002, Julian Elischer wrote:

> 
> Ok so Usability for the average command line user is
> very good. David Xu tracked down a problem that was 
> eluding me with SMP machines. Matt is tracking down
> something that may be giving some instability
> but may also be related to what David found.
> He however gets the award for most confusing 
> debug messages when he managed to get both of his CPUs
> to enter teh debugger at the same time. I thought that was
> impossible, but it definitly happenned. (or it certainly
> looked that way to me :-)
> 
> The big problem at the moment is that something in the 
> source tree as a whole, and probably something that came in with KSE
> is stopping us from successfully compiling a working libc_r.
> (a bit ironic really).
> 
> A libc_r imported from a system that is not yet upgraded to have 
> KSE sources works fine. A libc_r from a KSE machine
> will not work correctly on the KSE machine or the pre-KSE machine.
> 
> The sources are identical, so some thing else in the tree must be
> influencing its correctness.
> 
> the result of this problem is that KDE and Gnome apps that
> are linked with a libc_r created on this system.
> 
> The test directory in the libc sources is giving me some avenues to
> work on but I must say, given allthe things that could have gone wrong
> in the kernel, I'm surprised that the largest problem seems to
> have come from a userland library that I haven't touched :-/
> 
> julian
> 
> 
> 
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-current" in the body of the message
> 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Ian Dowse

In message <[EMAIL PROTECTED]>, Ju
lian Elischer writes:
>The big problem at the moment is that something in the 
>source tree as a whole, and probably something that came in with KSE
>is stopping us from successfully compiling a working libc_r.
>(a bit ironic really).

Is the new

(elm)->field.tqe_next = (void *)-1;

in TAILQ_REMOVE a likely candidate? That could easily tickle old
bugs in other code. The libc_r code does use a lot of TAILQ macros.

Ian

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Jonathan Lemon

In article [EMAIL PROTECTED]> you 
write:
>In message <[EMAIL PROTECTED]>, Ju
>lian Elischer writes:
>>The big problem at the moment is that something in the 
>>source tree as a whole, and probably something that came in with KSE
>>is stopping us from successfully compiling a working libc_r.
>>(a bit ironic really).
>
>Is the new
>
>   (elm)->field.tqe_next = (void *)-1;
>
>in TAILQ_REMOVE a likely candidate? That could easily tickle old
>bugs in other code. The libc_r code does use a lot of TAILQ macros.

>From casual inspection of the sources, it appears this may be the case:

uthread/pthread_private.h:
#define PTHREAD_WORKQ_REMOVE(thrd) do { \
TAILQ_REMOVE(&_workq,thrd,qe);  \
(thrd)->flags &= ~PTHREAD_FLAGS_IN_WORKQ;   \
} while (0)

uthread/uthread_kern.c (in multiple locations):
TAILQ_FOREACH(pthread, &_workq, qe) {

PTHREAD_WORKQ_REMOVE(pthread);
}

-- 
Jonathan

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Julian Elischer

Good idea.

Unforunatly someone tried to complie a libc_r with the old queue.h and it
had the same problem (or so they said).

On Tue, 2 Jul 2002, Ian Dowse wrote:

> In message <[EMAIL PROTECTED]>, Ju
> lian Elischer writes:
> >The big problem at the moment is that something in the 
> >source tree as a whole, and probably something that came in with KSE
> >is stopping us from successfully compiling a working libc_r.
> >(a bit ironic really).
> 
> Is the new
> 
>   (elm)->field.tqe_next = (void *)-1;
> 
> in TAILQ_REMOVE a likely candidate? That could easily tickle old
> bugs in other code. The libc_r code does use a lot of TAILQ macros.
> 
> Ian
> 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Daniel Eischen

On Tue, 2 Jul 2002, Jonathan Lemon wrote:
> In article [EMAIL PROTECTED]> you 
>write:
> >In message <[EMAIL PROTECTED]>, Ju
> >lian Elischer writes:
> >>The big problem at the moment is that something in the 
> >>source tree as a whole, and probably something that came in with KSE
> >>is stopping us from successfully compiling a working libc_r.
> >>(a bit ironic really).
> >
> >Is the new
> >
> > (elm)->field.tqe_next = (void *)-1;
> >
> >in TAILQ_REMOVE a likely candidate? That could easily tickle old
> >bugs in other code. The libc_r code does use a lot of TAILQ macros.
> 
> >From casual inspection of the sources, it appears this may be the case:
> 
> uthread/pthread_private.h:
> #define PTHREAD_WORKQ_REMOVE(thrd) do { \
> TAILQ_REMOVE(&_workq,thrd,qe);  \
> (thrd)->flags &= ~PTHREAD_FLAGS_IN_WORKQ;   \
> } while (0)
> 
> uthread/uthread_kern.c (in multiple locations):
> TAILQ_FOREACH(pthread, &_workq, qe) {
>   
> PTHREAD_WORKQ_REMOVE(pthread);
>   }

This used to be safe as long as the element removed wasn't re-added to
another queue using the same link.  There are other places in libc_r
where we do re-use the same link (remove from one list and add to
another), but roll our own loop in that case:

for (p = TAILQ_FIRST(&q); p != NULL; p = p_next) {
p_next = TAILQ_NEXT(p, p_qe);
...
TAILQ_REMOVE(&q, pthread, p_qe);
...
}

-- 
Dan Eischen


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Matthew Dillon


:...
:another queue using the same link.  There are other places in libc_r
:where we do re-use the same link (remove from one list and add to
:another), but roll our own loop in that case:
:
:   for (p = TAILQ_FIRST(&q); p != NULL; p = p_next) {
:   p_next = TAILQ_NEXT(p, p_qe);
:   ...
:   TAILQ_REMOVE(&q, pthread, p_qe);
:   ...
:   }
:
:-- 
:Dan Eischen

Why don't we simply conditionalize sys/queue.h for the _KERNEL

-Matt
Matthew Dillon 
<[EMAIL PROTECTED]>

Index: sys/sys/queue.h
===
RCS file: /home/ncvs/src/sys/sys/queue.h,v
retrieving revision 1.50
diff -u -r1.50 queue.h
--- sys/sys/queue.h 29 Jun 2002 19:16:10 -  1.50
+++ sys/sys/queue.h 2 Jul 2002 16:28:24 -
@@ -102,7 +102,11 @@
  * _REMOVE +   +   +   +
  *
  */
-#define QUEUE_MACRO_DEBUG 0
+#ifdef _KERNEL
+#define QUEUE_MACRO_DEBUG 0/* change this for kernel debugging */
+#else
+#define QUEUE_MACRO_DEBUG 0/* leave alone for userland compatibility */
+#endif
 #if QUEUE_MACRO_DEBUG
 /* Store the last 2 places the queue element or head was altered */
 struct qm_trace {

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Daniel Eischen

On Tue, 2 Jul 2002, Julian Elischer wrote:
> Good idea.
> 
> Unforunatly someone tried to complie a libc_r with the old queue.h and it
> had the same problem (or so they said).

Well, it certainly looks wrong to use TAILQ_REMOVE inside of
TAILQ_FOREACH, so either libc_r should be changed or queue.h
should be reverted.

Also, enabling the queue macro debugging will definitely break
libc_r too.

> On Tue, 2 Jul 2002, Ian Dowse wrote:
> 
> > In message <[EMAIL PROTECTED]>, Ju
> > lian Elischer writes:
> > >The big problem at the moment is that something in the 
> > >source tree as a whole, and probably something that came in with KSE
> > >is stopping us from successfully compiling a working libc_r.
> > >(a bit ironic really).
> > 
> > Is the new
> > 
> > (elm)->field.tqe_next = (void *)-1;
> > 
> > in TAILQ_REMOVE a likely candidate? That could easily tickle old
> > bugs in other code. The libc_r code does use a lot of TAILQ macros.
> > 
> > Ian

-- 
Dan Eischen


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Julian Elischer


I just removed the extra debug line in queue.h
that set the "next" pointer to -1 then the element was removed.
Since I was told that the problem still occurs with an old queue.h
I don;t think that that will fix it but we might as well try it
again with this change.

On Tue, 2 Jul 2002, Daniel Eischen wrote:

> On Tue, 2 Jul 2002, Jonathan Lemon wrote:
> > In article [EMAIL PROTECTED]> 
>you write:
> > >In message <[EMAIL PROTECTED]>, Ju
> > >lian Elischer writes:
> > >>The big problem at the moment is that something in the 
> > >>source tree as a whole, and probably something that came in with KSE
> > >>is stopping us from successfully compiling a working libc_r.
> > >>(a bit ironic really).
> > >
> > >Is the new
> > >
> > >   (elm)->field.tqe_next = (void *)-1;
> > >
> > >in TAILQ_REMOVE a likely candidate? That could easily tickle old
> > >bugs in other code. The libc_r code does use a lot of TAILQ macros.
> > 
> > >From casual inspection of the sources, it appears this may be the case:
> > 
> > uthread/pthread_private.h:
> > #define PTHREAD_WORKQ_REMOVE(thrd) do { \
> > TAILQ_REMOVE(&_workq,thrd,qe);  \
> > (thrd)->flags &= ~PTHREAD_FLAGS_IN_WORKQ;   \
> > } while (0)
> > 
> > uthread/uthread_kern.c (in multiple locations):
> > TAILQ_FOREACH(pthread, &_workq, qe) {
> > 
> > PTHREAD_WORKQ_REMOVE(pthread);
> > }
> 
> This used to be safe as long as the element removed wasn't re-added to
> another queue using the same link.  There are other places in libc_r
> where we do re-use the same link (remove from one list and add to
> another), but roll our own loop in that case:
> 
>   for (p = TAILQ_FIRST(&q); p != NULL; p = p_next) {
>   p_next = TAILQ_NEXT(p, p_qe);
>   ...
>   TAILQ_REMOVE(&q, pthread, p_qe);
>   ...
>   }
> 
> -- 
> Dan Eischen
> 
> 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Julian Elischer

ok, so you are saying that GNOME stuff works fine?
What do yuo have running and is there still anything that does the wrong
thing?

On Tue, 2 Jul 2002, Wesley Morgan wrote:

> After reading this... I got to thinking, and I copied the old headers into
> the wrong place. After rebuilding, it works fine :)... That's what I get
> for doing it at 2am! My fault, you guys could have fixed this almost
> immediately except for some bad info from me.
> > Good idea.
> >
> > Unforunatly someone tried to complie a libc_r with the old queue.h and
> > it had the same problem (or so they said).
> >
> > On Tue, 2 Jul 2002, Ian Dowse wrote:
> >
> >> In message
> >> <[EMAIL PROTECTED]>, Ju
> >> lian Elischer writes:
> >> >The big problem at the moment is that something in the
> >> >source tree as a whole, and probably something that came in with KSE
> >> >is stopping us from successfully compiling a working libc_r.
> >> >(a bit ironic really).
> >>
> >> Is the new
> >>
> >>(elm)->field.tqe_next = (void *)-1;
> >>
> >> in TAILQ_REMOVE a likely candidate? That could easily tickle old bugs
> >> in other code. The libc_r code does use a lot of TAILQ macros.
> >>
> >> Ian
> >>
> >
> >
> > To Unsubscribe: send mail to [EMAIL PROTECTED]
> > with "unsubscribe freebsd-current" in the body of the message
> 
> 
> 
> 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Julian Elischer

I put the -1 under the conditional
so it should be 'gone' now.
we'll see it makes a difference.

On Tue, 2 Jul 2002, Matthew Dillon wrote:

> 
> :...
> :another queue using the same link.  There are other places in libc_r
> :where we do re-use the same link (remove from one list and add to
> :another), but roll our own loop in that case:
> :
> : for (p = TAILQ_FIRST(&q); p != NULL; p = p_next) {
> : p_next = TAILQ_NEXT(p, p_qe);
> : ...
> : TAILQ_REMOVE(&q, pthread, p_qe);
> : ...
> : }
> :
> :-- 
> :Dan Eischen
> 
> Why don't we simply conditionalize sys/queue.h for the _KERNEL
> 
>   -Matt
>   Matthew Dillon 
>   <[EMAIL PROTECTED]>
> 
> Index: sys/sys/queue.h
> ===
> RCS file: /home/ncvs/src/sys/sys/queue.h,v
> retrieving revision 1.50
> diff -u -r1.50 queue.h
> --- sys/sys/queue.h   29 Jun 2002 19:16:10 -  1.50
> +++ sys/sys/queue.h   2 Jul 2002 16:28:24 -
> @@ -102,7 +102,11 @@
>   * _REMOVE   +   +   +   +
>   *
>   */
> -#define QUEUE_MACRO_DEBUG 0
> +#ifdef _KERNEL
> +#define QUEUE_MACRO_DEBUG 0  /* change this for kernel debugging */
> +#else
> +#define QUEUE_MACRO_DEBUG 0  /* leave alone for userland compatibility */
> +#endif
>  #if QUEUE_MACRO_DEBUG
>  /* Store the last 2 places the queue element or head was altered */
>  struct qm_trace {
> 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Julian Elischer


Dan is there a chance that before you upgrade, you see if you can get the 
test program to pass all the tests? If we can have one that passes on a
pre KSE system it will help us considerably.. it seems to fail
on the last 3 tests even pre-KSE.  (may be compiler dependent).

 I have reports that KDE stuff seems to be working but I
haven't confirmation on that.
I will try install some KDE and gnome stuff on my test machines..

Julian



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Julian Elischer



On Tue, 2 Jul 2002, Wesley Morgan wrote:

> KDE is working fine. GIMP & GNUCash are the only two "gnome" apps I am
> using, and they both work. "Everybuddy" now works... In short, it all
> seems to work. I am using rev 1.225 of proc.h and 1.48 of queue.h. Last
> cvsup was Jul 1 17:13 MDT.
ok so cen you bring those two files back into sync,
and then recompile libc_r?
(uh, and reinstall it..)

thats 1.52 ow queue.h and 1.226 of proc.h

Hopefully  the last commit fixed it..



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Beech Rintoul

On Tuesday 02 July 2002 12:57 am, Julian Elischer wrote:
> Ok so Usability for the average command line user is
> very good. David Xu tracked down a problem that was
> eluding me with SMP machines. Matt is tracking down
> something that may be giving some instability
> but may also be related to what David found.
> He however gets the award for most confusing
> debug messages when he managed to get both of his CPUs
> to enter teh debugger at the same time. I thought that was
> impossible, but it definitly happenned. (or it certainly
> looked that way to me :-)



I just wanted to add that I have no problems with KSE. All of my apps are 
working normally and I haven't had any panics. I was a bit worried about KDE, 
but it works correctly as well. BTW im running -current from yesterday.
Good job,

Beech
-- 
---
Beech Rintoul - IT Manager - Instructor - [EMAIL PROTECTED]
/"\   ASCII Ribbon Campaign  | Anchorage Gospel Rescue Mission
\ / - NO HTML/RTF in e-mail  | P.O. Box 230510
 X  - NO Word docs in e-mail | Anchorage, AK 99523-0510
/ \ -












To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Wesley Morgan

After reading this... I got to thinking, and I copied the old headers into
the wrong place. After rebuilding, it works fine :)... That's what I get
for doing it at 2am! My fault, you guys could have fixed this almost
immediately except for some bad info from me.
> Good idea.
>
> Unforunatly someone tried to complie a libc_r with the old queue.h and
> it had the same problem (or so they said).
>
> On Tue, 2 Jul 2002, Ian Dowse wrote:
>
>> In message
>> <[EMAIL PROTECTED]>, Ju
>> lian Elischer writes:
>> >The big problem at the moment is that something in the
>> >source tree as a whole, and probably something that came in with KSE
>> >is stopping us from successfully compiling a working libc_r.
>> >(a bit ironic really).
>>
>> Is the new
>>
>>  (elm)->field.tqe_next = (void *)-1;
>>
>> in TAILQ_REMOVE a likely candidate? That could easily tickle old bugs
>> in other code. The libc_r code does use a lot of TAILQ macros.
>>
>> Ian
>>
>
>
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-current" in the body of the message




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Wesley Morgan

KDE is working fine. GIMP & GNUCash are the only two "gnome" apps I am
using, and they both work. "Everybuddy" now works... In short, it all
seems to work. I am using rev 1.225 of proc.h and 1.48 of queue.h. Last
cvsup was Jul 1 17:13 MDT.
> ok, so you are saying that GNOME stuff works fine?
> What do yuo have running and is there still anything that does the
> wrong thing?
>
> On Tue, 2 Jul 2002, Wesley Morgan wrote:
>
>> After reading this... I got to thinking, and I copied the old headers
>> into the wrong place. After rebuilding, it works fine :)... That's
>> what I get for doing it at 2am! My fault, you guys could have fixed
>> this almost immediately except for some bad info from me.
>> > Good idea.
>> >
>> > Unforunatly someone tried to complie a libc_r with the old queue.h
>> > and it had the same problem (or so they said).
>> >
>> > On Tue, 2 Jul 2002, Ian Dowse wrote:
>> >
>> >> In message
>> >> <[EMAIL PROTECTED]>,
>> >> Ju lian Elischer writes:
>> >> >The big problem at the moment is that something in the
>> >> >source tree as a whole, and probably something that came in with
>> >> >KSE is stopping us from successfully compiling a working libc_r.
>> >> >(a bit ironic really).
>> >>
>> >> Is the new
>> >>
>> >>   (elm)->field.tqe_next = (void *)-1;
>> >>
>> >> in TAILQ_REMOVE a likely candidate? That could easily tickle old
>> >> bugs in other code. The libc_r code does use a lot of TAILQ macros.
>> >>
>> >> Ian
>> >>
>> >
>> >
>> > To Unsubscribe: send mail to [EMAIL PROTECTED]
>> > with "unsubscribe freebsd-current" in the body of the message
>>
>>
>>
>>




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Joe Marcus Clarke

On Tue, 2002-07-02 at 16:07, Julian Elischer wrote:
> ok, so you are saying that GNOME stuff works fine?
> What do yuo have running and is there still anything that does the wrong
> thing?

I just did an update of -CURRENT about 4 hours ago, and everything in
GNOME works fine except nautilus.  Nautilus hangs indefinitely taking up
almost all of the CPU.  Once it's killed, other GNOME apps respond
again.  This is -CURRENT kernel+world minus your recent queue.h commit.

I can get a back trace if you'd like.

Joe

> 
> On Tue, 2 Jul 2002, Wesley Morgan wrote:
> 
> > After reading this... I got to thinking, and I copied the old headers into
> > the wrong place. After rebuilding, it works fine :)... That's what I get
> > for doing it at 2am! My fault, you guys could have fixed this almost
> > immediately except for some bad info from me.
> > > Good idea.
> > >
> > > Unforunatly someone tried to complie a libc_r with the old queue.h and
> > > it had the same problem (or so they said).
> > >
> > > On Tue, 2 Jul 2002, Ian Dowse wrote:
> > >
> > >> In message
> > >> <[EMAIL PROTECTED]>, Ju
> > >> lian Elischer writes:
> > >> >The big problem at the moment is that something in the
> > >> >source tree as a whole, and probably something that came in with KSE
> > >> >is stopping us from successfully compiling a working libc_r.
> > >> >(a bit ironic really).
> > >>
> > >> Is the new
> > >>
> > >>  (elm)->field.tqe_next = (void *)-1;
> > >>
> > >> in TAILQ_REMOVE a likely candidate? That could easily tickle old bugs
> > >> in other code. The libc_r code does use a lot of TAILQ macros.
> > >>
> > >> Ian
> > >>
> > >
> > >
> > > To Unsubscribe: send mail to [EMAIL PROTECTED]
> > > with "unsubscribe freebsd-current" in the body of the message
> > 
> > 
> > 
> > 
> 
> 
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-current" in the body of the message
> 
-- 
PGP Key : http://www.marcuscom.com/pgp.asc

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Daniel Eischen

On Tue, 2 Jul 2002, Julian Elischer wrote:
> Dan is there a chance that before you upgrade, you see if you can get the 
> test program to pass all the tests? If we can have one that passes on a
> pre KSE system it will help us considerably.. it seems to fail
> on the last 3 tests even pre-KSE.  (may be compiler dependent).

Yeah, I'll try to update the tests before upgrading.  Some changes
were made to sigsuspend and sigpending, and perhaps some other
recent changes to signal handling in libc_r, that seem to have
affected the tests.

-- 
Dan Eischen


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Joe Marcus Clarke

On Tue, 2002-07-02 at 16:42, Julian Elischer wrote:
> 
> 
> On Tue, 2 Jul 2002, Wesley Morgan wrote:
> 
> > KDE is working fine. GIMP & GNUCash are the only two "gnome" apps I am
> > using, and they both work. "Everybuddy" now works... In short, it all
> > seems to work. I am using rev 1.225 of proc.h and 1.48 of queue.h. Last
> > cvsup was Jul 1 17:13 MDT.
> ok so cen you bring those two files back into sync,
> and then recompile libc_r?
> (uh, and reinstall it..)
> 
> thats 1.52 ow queue.h and 1.226 of proc.h
> 
> Hopefully  the last commit fixed it..

After rebuilding world and kernel on the latest queue.h, the nautilus
problem is solved.

Joe

> 
> 
> 
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-current" in the body of the message
> 




signature.asc
Description: This is a digitally signed message part


Re: KSE status report

2002-07-02 Thread Erik Greenwald

> BTW feel free to spend some time helping try figire out why libc_r
> is bombing out. It's not an exclusive club :-)
>

I took a stab at hunting it down, I think I may've found it in the
libc_r, not the kern

src/lib/libc_r/uthread/uthread_kern.c, in the neighborhood of line 172,
the last line of _thread_kern_sched() is 

___longjmp(_thread_kern_sched_jb, 1);

I think that's where the crash is. the setjmp is in uthread_init.c, on
line 320, "_setjmp(_thread_kern_sched_jb);", but that function doesn't
seem to be called? I put some printf's with fflush's in there and I'm
not seeing them come up. Maybe I'm misreading something, but that seems
to me to be the issue, _thread_kern_sched_jb having junk when it gets
longjmp'd... I'm really not quite what all goes into this, so I'm
throwing this out to let more experienced minds consider it? :) I think
I'm going to wait an hour or two before trying to fix it, maybe someone
sees this as a quick fix

-- 
-Erik <[EMAIL PROTECTED]> [http://math.smsu.edu/~erik]

The opinions expressed by me are not necessarily opinions. In all probability,
they are random rambling, and to be ignored. Failure to ignore may result in
severe boredom or confusion. Shake well before opening. Keep Refrigerated.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Julian Elischer

You were possibly on the right track but we got the answer already :-)
there was a debug statement left in queue.h

that was breaking some of the queues in libc_r

possibly where the thread was taken off the run queue.
Now the very important thing is that you keep looking
and hacking :-)

On Tue, 2 Jul 2002, Erik Greenwald wrote:

> > BTW feel free to spend some time helping try figire out why libc_r
> > is bombing out. It's not an exclusive club :-)
> >
> 
> I took a stab at hunting it down, I think I may've found it in the
> libc_r, not the kern



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-02 Thread Bill Huey

On Tue, Jul 02, 2002 at 10:53:23PM -0500, Erik Greenwald wrote:
> I took a stab at hunting it down, I think I may've found it in the
> libc_r, not the kern
> 
> src/lib/libc_r/uthread/uthread_kern.c, in the neighborhood of line 172,
> the last line of _thread_kern_sched() is 
> 
> ___longjmp(_thread_kern_sched_jb, 1);
> 
> I think that's where the crash is. the setjmp is in uthread_init.c, on
> line 320, "_setjmp(_thread_kern_sched_jb);", but that function doesn't
> seem to be called? I put some printf's with fflush's in there and I'm
> not seeing them come up. Maybe I'm misreading something, but that seems
> to me to be the issue, _thread_kern_sched_jb having junk when it gets
> longjmp'd... I'm really not quite what all goes into this, so I'm
> throwing this out to let more experienced minds consider it? :) I think
> I'm going to wait an hour or two before trying to fix it, maybe someone
> sees this as a quick fix

Yeah, that's where I'm poking at currently.

The thing that I'm seeing is that the entry function _thread_start is
on the wrong stack. This problem predates the KSE commit, so it's not
related to it. It could be that the jump_buf isn't being set up
correctly or some other unknown craziness, but I believe I'm close to
finding the SEGV in question.

The problem is persistent across pre-KSE (3 days ago) and KSE kernels.
I'm running an older kernel now with the latest world, so that the
environment is stable enough for me to do bug tracking. If I'm doing
something wrong, then please tell me.

bill


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-03 Thread David Wolfskill

After building today's -CURRENT successfully (CVSup started at 0347 hrs.
Pacific (7 hrs. west of GMT/UTC at this time of year) from cvsup14, with
the addition of Ruslan's updates to the src/share/mk/bsd.*.mk files),
I thought it might be of use to just let this SMP (2x866 PIII) box sit
in a "make -j8 buildworld" loop for a while and see how far it gets.

The answer would appear to be "not as far as I would have expected" --
I tried to ssh back into the machine, was getting no response, so I
resumed the "screen" session on another machine that had a "tip" going
to the test machine's serial console.  This is what I see (modulo tab/space
replacement):

Local package initialization:Creating DISK md10
md10: invalid primary partition table: no magic
md10: invalid primary partition table: no magic
[1]   234 Floating point exception (core dumped)
Jul  3 07:21:37 freebeast kernel: pid 234 (newfs), uid 0: exited on signal 8 (core 
dumped)
 apache cvsupd
.
Additional TCP options:.
Starting background filesystem checks

Wed Jul  3 07:21:38 PDT 2002

FreeBSD/i386 (freebeast.catwhisker.org) (cuaa0)

login: panic: vm_page_free: invalid wire count (360), pindex: 0x1
cpuid = 0; lapic.id = 
Debugger("panic")
uernteilm etoruatp  s9t owpiptihn gi nctpeursr
 Sttso pdpiesda balte d
in_Debugger.0x46:  xchgl   %ebx,
db>
al trap 9: general protectinuwlppippelo
u 1lcd i10
irtnot  0:c026scpnr   01:da20fmpnr   010a2ppx8cxppxexpeppxxeppxp pps@xxltx
= DPL 0, pres 1, def32 1, gran 1
processor eflags= resume, IOPL = 0
current process = c)elt r,o=
S
Xc
pDcXKK`K$KhK,KpK4KxK

Fatal trap 12: page fault while in kernel mode


Fatal trap 12: page fault while in kernel mode
cpuid = 1; lapic.id = 0100
fault virtual address   = 0x199
fault code  = supervisor read, page not present
instruction pointer = 0x1ba0:0x9b
stack pointer   = 0x10:0xc03d39a8
frame pointer   = 0x10:0xc0361ba0
code segment= base 0x0, limit 0xf, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags= trace trap, IOPL = 0
current process = 92825 (cc1)
kernel: type 12 trap, code=0
Stopped at  Debugger+0x46:  xchgl   %ebx,in_Debugger.0
db> 


which isn't all that bad, in that it should provide some access to poke
around and get some clues as to what broke.

Unfortunately, that serial console appears to be completely unresponsive:
I tried typing "tr" at it; nothing.  Sent a break; nothing.

Is there anything anyone can suggest for getting some additional
information out of this?  I don't have a critical need for the machine
until tomorrow morning, so the only disadvantage to leaving it on is that
it consumes electricity & generates heat.

Thanks,
david
-- 
David H. Wolfskill  [EMAIL PROTECTED]
Trying to support or use Microsoft products makes about as much sense
as painting the outside of a house with watercolors.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-03 Thread Julian Elischer

congratulations.. I think that you win the Matt Dillon "got both
processors to enter the ddb at the same time" award..

On Wed, 3 Jul 2002, David Wolfskill wrote:

> login: panic: vm_page_free: invalid wire count (360), pindex: 0x1
> cpuid = 0; lapic.id = 
> Debugger("panic")
> uernteilm etoruatp  s9t owpiptihn gi nctpeursr
>  Sttso pdpiesda balte d
> in_Debugger.0x46:  xchgl   %ebx,
> db>
> al trap 9: general protectinuwlppippelo
> u 1lcd i10
> irtnot  0:c026scpnr   01:da20fmpnr   010a2ppx8cxppxexpeppxxeppxp pps@xxltx
> = DPL 0, pres 1, def32 1, gran 1
> processor eflags= resume, IOPL = 0
> current process = c)elt r,o=
> S
> Xc
> pDcXKK`K$KhK,KpK4KxK

doing an nm and figuring out where the processor was
might be informative.

Julian



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-03 Thread John Baldwin


On 03-Jul-2002 Julian Elischer wrote:
> congratulations.. I think that you win the Matt Dillon "got both
> processors to enter the ddb at the same time" award..
> 
> On Wed, 3 Jul 2002, David Wolfskill wrote:
> 
>> login: panic: vm_page_free: invalid wire count (360), pindex: 0x1
>> cpuid = 0; lapic.id = 
>> Debugger("panic")
>> uernteilm etoruatp  s9t owpiptihn gi nctpeursr
>>  Sttso pdpiesda balte d
>> in_Debugger.0x46:  xchgl   %ebx,
>> db>
>> al trap 9: general protectinuwlppippelo
>> u 1lcd i10
>> irtnot  0:c026scpnr   01:da20fmpnr   010a2ppx8cxppxexpeppxxeppxp pps@xxltx
>> = DPL 0, pres 1, def32 1, gran 1
>> processor eflags= resume, IOPL = 0
>> current process = c)elt r,o=
>> S
>> Xc
>> pDcXKK`K$KhK,KpK4KxK
> 
> doing an nm and figuring out where the processor was
> might be informative.

If you have a valid eip you can use addr2line to get the
exact source line.  We probably need to not allow concurrent
panics.  We already don't allow concurrent ddb sessions, but
we do let both processors panic at the same time I think.

Hmm, this should already be happening though:

panic(const char *fmt, ...)
{
int bootopt;
va_list ap;
static char buf[256];

#ifdef SMP
/*
 * We don't want multiple CPU's to panic at the same time, so we
 * use panic_cpu as a simple spinlock.  We have to keep checking
 * panic_cpu if we are spinning in case the panic on the first
 * CPU is canceled.
 */
if (panic_cpu != PCPU_GET(cpuid))
while (atomic_cmpset_int(&panic_cpu, NOCPU,
PCPU_GET(cpuid)) == 0)
while (panic_cpu != NOCPU)
; /* nothing */
#endif

I suppose this could be broken if we migrate.  I'll try to
think of a better solution.  Probably using curthread instead
of cpuid.  Try this untested diff (warning, my mailer will
probably botch this):

Index: kern_shutdown.c
===
RCS file: /usr/cvs/src/sys/kern/kern_shutdown.c,v
retrieving revision 1.128
diff -u -r1.128 kern_shutdown.c
--- kern_shutdown.c 12 May 2002 18:27:28 -  1.128
+++ kern_shutdown.c 3 Jul 2002 17:12:32 -
@@ -421,7 +421,7 @@
 }
 
 #ifdef SMP
-static u_int panic_cpu = NOCPU;
+static uintptr_t panic_thread = NULL;
 #endif
 
 /*
@@ -441,15 +441,17 @@
 #ifdef SMP
/*
 * We don't want multiple CPU's to panic at the same time, so we
-* use panic_cpu as a simple spinlock.  We have to keep checking
-* panic_cpu if we are spinning in case the panic on the first
+* use panic_thread as a simple spinlock.  We have to keep checking
+* panic_thread if we are spinning in case the panic on the first
 * CPU is canceled.
 */
-   if (panic_cpu != PCPU_GET(cpuid))
-   while (atomic_cmpset_int(&panic_cpu, NOCPU,
-   PCPU_GET(cpuid)) == 0)
-   while (panic_cpu != NOCPU)
-   ; /* nothing */
+   if (panic_thread != curthread)
+   while (atomic_cmpset_ptr(&panic_thread, NULL, curthread) == 0)
+   while (panic_thread != NULL) {
+#ifdef __i386__
+   ia32_pause();
+#endif
+   }
 #endif
 
bootopt = RB_AUTOBOOT | RB_DUMP;
@@ -479,7 +481,7 @@
/* See if the user aborted the panic, in which case we continue. */
if (panicstr == NULL) {
 #ifdef SMP
-   atomic_store_rel_int(&panic_cpu, NOCPU);
+   atomic_store_rel_ptr(&panic_thread, NULL);
 #endif
return;
}


-- 

John Baldwin <[EMAIL PROTECTED]>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-03 Thread Erik Greenwald

> 
> You were possibly on the right track but we got the answer already :-)
> there was a debug statement left in queue.h
> 
> that was breaking some of the queues in libc_r
> 
> possibly where the thread was taken off the run queue.
> Now the very important thing is that you keep looking
> and hacking :-)
>

Looks like I'm out of this one, I got up this morning, cvsup'd and built
world just to make sure it was fresh, then I quit getting the crashes. I
d'no if the issue was fixed by something someone else did or what...

- 
-Erik <[EMAIL PROTECTED]> [http://math.smsu.edu/~erik]

The opinions expressed by me are not necessarily opinions. In all probability,
they are random rambling, and to be ignored. Failure to ignore may result in
severe boredom or confusion. Shake well before opening. Keep Refrigerated.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-03 Thread Julian Elischer



On Wed, 3 Jul 2002, Erik Greenwald wrote:

> 
> Looks like I'm out of this one, I got up this morning, cvsup'd and built
> world just to make sure it was fresh, then I quit getting the crashes. I
> d'no if the issue was fixed by something someone else did or what...
> 

It was solved, but thanks for trying and welcome to the club
of people willing to get their fingers dirty :-)




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-03 Thread W Gerald Hicks


On Wednesday, July 3, 2002, at 04:13 PM, Julian Elischer wrote:

>
>
> On Wed, 3 Jul 2002, Erik Greenwald wrote:
>
>>
>> Looks like I'm out of this one, I got up this morning, cvsup'd and 
>> built
>> world just to make sure it was fresh, then I quit getting the 
>> crashes. I
>> d'no if the issue was fixed by something someone else did or what...
>>
>
> It was solved, but thanks for trying and welcome to the club
> of people willing to get their fingers dirty :-)
>
>

Well, I feel cheated.  Damn thing never crashed on me. :-)

(pushes harder)

Cheers,

Jerry Hicks
[EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-03 Thread Erik Greenwald


> On Wed, 3 Jul 2002, Erik Greenwald wrote:
> >
>  
> > Looks like I'm out of this one, I got up this morning, cvsup'd and built   
>  
> > world just to make sure it was fresh, then I quit getting the crashes.  I
> > d'no if the issue was fixed by something someone else did or what... 
> 
> It was solved, but thanks for trying and welcome to the club
> of people willing to get their fingers dirty :-) 

not the first time I've dug into the 'dirty' stuff, was just kinda
hoping this time I'd be first to the solution :) ah well, no core
segment to my name, but still a few ports, guess I'll have to keep
trying until I luck out :)

-- 
-Erik <[EMAIL PROTECTED]> [http://math.smsu.edu/~erik]

The opinions expressed by me are not necessarily opinions. In all probability,
they are random rambling, and to be ignored. Failure to ignore may result in
severe boredom or confusion. Shake well before opening. Keep Refrigerated.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-03 Thread Julian Elischer

hey don't give up yet..
there's still a couple of crashing bugs hiding in there
you could have your chance yet..


On Wed, 3 Jul 2002, W Gerald Hicks wrote:

> 
> On Wednesday, July 3, 2002, at 04:13 PM, Julian Elischer wrote:
> 
> >
> >
> > On Wed, 3 Jul 2002, Erik Greenwald wrote:
> >
> >>
> >> Looks like I'm out of this one, I got up this morning, cvsup'd and 
> >> built
> >> world just to make sure it was fresh, then I quit getting the 
> >> crashes. I
> >> d'no if the issue was fixed by something someone else did or what...
> >>
> >
> > It was solved, but thanks for trying and welcome to the club
> > of people willing to get their fingers dirty :-)
> >
> >
> 
> Well, I feel cheated.  Damn thing never crashed on me. :-)
> 
> (pushes harder)
> 
> Cheers,
> 
> Jerry Hicks
> [EMAIL PROTECTED]
> 
> 
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-current" in the body of the message
> 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: KSE status report

2002-07-04 Thread Mario Goebbels

W Gerald Hicks wrote:

>
> On Wednesday, July 3, 2002, at 04:13 PM, Julian Elischer wrote:
>
>>
>>
>> On Wed, 3 Jul 2002, Erik Greenwald wrote:
>>
>>>
>>> Looks like I'm out of this one, I got up this morning, cvsup'd and 
>>> built
>>> world just to make sure it was fresh, then I quit getting the 
>>> crashes. I
>>> d'no if the issue was fixed by something someone else did or what...
>>>
>>
>> It was solved, but thanks for trying and welcome to the club
>> of people willing to get their fingers dirty :-)
>>
>>
>
> Well, I feel cheated.  Damn thing never crashed on me. :-)
>
> (pushes harder)
>
> Cheers, 

Same here, I run a 2nd July 11am CET cvsup, system behaves 'normal' to 
me (yet?).

-mg




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message