Giorgos Keramidas | 1 Jul 01:19 2002
Picon

Re: Build world problems in todays sources

On 2002-06-30 22:53 +0000, Glenn Gombert wrote:
> I get the following error when trying to rebuild the last couple of
> days...
> 
> ../sys/kern/syscalls.master
> syscall.master : line 55: syscall number out of sync at 7 ...
> 
> line is:   struct rusage * rsuage ) ; } wait4 wait_args int
> 
> **** Error code 1
> ....

The last commit that touched this line was revision 1.17.  You have
somehow edited this file and changed /rusage/rsuage/.  This can be
fixed by editing again and replacing "rsuage" with "rusage".

- Giorgos

To Unsubscribe: send mail to majordomo <at> FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message

Giorgos Keramidas | 1 Jul 01:19 2002
Picon

Re: Build world problems in todays sources

On 2002-06-30 22:53 +0000, Glenn Gombert wrote:
> I get the following error when trying to rebuild the last couple of
> days...
> 
> ../sys/kern/syscalls.master
> syscall.master : line 55: syscall number out of sync at 7 ...
> 
> line is:   struct rusage * rsuage ) ; } wait4 wait_args int
> 
> **** Error code 1
> ....

The last commit that touched this line was revision 1.17.  You have
somehow edited this file and changed /rusage/rsuage/.  This can be
fixed by editing again and replacing "rsuage" with "rusage".

- Giorgos

To Unsubscribe: send mail to majordomo <at> FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message

Matthew Dillon | 1 Jul 01:31 2002

Re: KSE / interrupt panic

    Got a weird one.  No backtrace.  gdb got confused and wouldn't attach
    properly.

					-Matt

Fatal trap 12: page fault while in kernel mode
cpuid = 0; lapic.id = 01000000
fault virtual address   = 0xd0c45a
fault code              = supervisor write, page not present
instruction pointer     = 0x8:0xe5650b87
stack pointer           = 0x10:0xe5650b68
frame pointer           = 0x10:0xc02b9bf7
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 12950 (make)
kernel: type 12 trap, code=0
Stopped at      0xe5650b87:     rolb    $0x32,0x58(%eax)
db> trace
_end(81537ef6,fffe,8d287f00,48db604,86048d46) at 0xe5650b87
db> 

To Unsubscribe: send mail to majordomo <at> FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message

David Xu | 1 Jul 01:46 2002
Picon

Re: KSE / interrupt panic

setrunqueue() call can be simply removed from cv_timedwait_end(), because there
is a race in softclock() and callout_stop(), when cv_timedwait_end() losts a 
race, it means that that thread is already running(wokenup by another thread),
when you setrunqueue() it, of course it will panic.
in cv_timedwait_end(), sentence "if (td->td_flags & TDF_TIMEOUT) {...}"
is to check this race condition.

-David Xu

----- Original Message ----- 
From: "Matthew Dillon" <dillon <at> apollo.backplane.com>
To: "Julian Elischer" <julian <at> elischer.org>
Cc: "Steve Kargl" <sgk <at> troutmask.apl.washington.edu>; "walt"
<wa1ter <at> hotmail.com>; <freebsd-current <at> FreeBSD.ORG>
Sent: Monday, July 01, 2002 4:43 AM
Subject: KSE / interrupt panic

>    Got another one.  Different panic, same place.
> 
> panic: setrunqueue: bad thread state
> cpuid = 0; lapic.id = 01000000
> Debugger("panic")
> Stopped at      Debugger+0x46:  xchgl   %ebx,in_Debugger.0
> db> trace
> Debugger(c02ec2ba) at Debugger+0x46
> panic(c02ec8a9,c6461d80,c6461d80,c6461d80,c01afa30) at panic+0xd6
> setrunqueue(c6461d80) at setrunqueue+0x1dd
> cv_timedwait_end(c6461d80) at cv_timedwait_end+0x36
> softclock(0) at softclock+0x159
> ithread_loop(c229c700,df3eed48,c22aec00,c01b9c6c,0) at ithread_loop+0x12c
(Continue reading)

David Xu | 1 Jul 02:11 2002
Picon

ppp begin core dump

cvsup from yesterday, ppp began core dump on my machine.
back trace:

GNU gdb 5.2.0 (FreeBSD) 20020627
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-undermydesk-freebsd"...(no debugging symbols
found)...
Core was generated by `ppp'.
Program terminated with signal 10, Bus error.
Reading symbols from /usr/lib/libcrypt.so.2...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libcrypt.so.2
Reading symbols from /usr/lib/libmd.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libmd.so.2
Reading symbols from /usr/lib/libutil.so.3...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libutil.so.3
Reading symbols from /usr/lib/libz.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libz.so.2
Reading symbols from /usr/lib/libalias.so.4...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libalias.so.4
Reading symbols from /usr/lib/libcrypto.so.2...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libcrypto.so.2
Reading symbols from /usr/lib/libradius.so.1...(no debugging symbols
(Continue reading)

Juli Mallett | 1 Jul 03:49 2002
Picon

libufs commit [Was Re: cvs commit: CVSROOT modules src MAINTAINERS src/lib Makefile src/lib/libufs Makefile block.c inode.c libufs.h sblock.c type.c]

* Juli Mallett <jmallett <at> FreeBSD.org> escriuréres
> jmallett    2002/06/30 18:45:03 PDT
> 
>   Modified files:
>     .                    modules 
>     .                    MAINTAINERS 
>     lib                  Makefile 
>   Added files:
>     lib/libufs           Makefile block.c inode.c libufs.h 
>                          sblock.c type.c 

I have not modified anything to use libufs yet, as there was some
objection to doing this when I am about to go away from my only
sit-down testing boxes for a period of time, and would be unable
to fix resulting breakage, however it is in tree, and I am confident
it works, now, and anyone is welcome (nee, invited) to convert
utilities to use it, or embrace and extend it.  In particular, if
someone who understands cylinder groups more than I do wants to
write a cylinder.c, to abstract the cg functionality, it'd be
totally wonderful.

Hopefully any build breakage (and there should be none, I've been
using this extensively here at home) will show up before I go out
of town on Tuesday.

Thanks
juli.
--

-- 
Juli Mallett <jmallett <at> FreeBSD.org>       | FreeBSD: The Power To Serve
Will break world for fulltime employment. | finger jmallett <at> FreeBSD.org
(Continue reading)

David Xu | 1 Jul 04:09 2002
Picon

Re: KSE / interrupt panic (patch)

Now let me describe where the race is:

Thread A:                                           |  Thread B:
cv_timedwait()                                      |  softclock()
                                                    |  cv_timedwait_end()
                                                    |  
mtx_lock_spin(&sched_lock);                         |  mtx_lock_spin(&sched_lock); /* suppose blocked!!! */
...                                                 |  
callout_stop(&td->td_slpcallout)                    |
td->td_flags |= TDF_TIMEOUT;                        |
td->td_proc->p_stats->p_ru.ru_nivcsw++;             |
// problem, does not set thread state to TDS_SLP!!! |
mi_switch();                                        |
// run at once again                                |
...                                                 |
mtx_unlock_spin(&sched_lock);                       | mtx_lock_spin() returned !!!
thread is still running                             | if (td->td_flags & TDF_TIMEOUT) {
...                                                 |     td->td_flags &= ~TDF_TIMEOUT;
some place call mi_switch() and now on runqueue     |      setrunqueue(td); // crash
                                                    | }

----------------------------------------------------------
here is the patch:
--- /sys/kern/kern_condvar.c.old        Mon Jul  1 09:06:01 2002
+++ /sys/kern/kern_condvar.c      Mon Jul  1 09:32:50 2002
 <at>  <at>  -396,6 +396,7  <at>  <at> 
                 * between msleep and endtsleep.
                 */
                td->td_flags |= TDF_TIMEOUT;
+               td->td_state = TDS_SLP;
(Continue reading)

Julian Elischer | 1 Jul 04:47 2002

Re: KSE / interrupt panic (patch)

thanks..

I was aware of he race but it looks as if I miscaldulated it somehow..
I will look at the source again and confirm your patch.
As you say, msleep() is of the same form and has the same problems.

On Mon, 1 Jul 2002, David Xu wrote:

> Now let me describe where the race is:
> 
> Thread A:                                           |  Thread B:
> cv_timedwait()                                      |  softclock()
>                                                     |  cv_timedwait_end()
>                                                     |  
> mtx_lock_spin(&sched_lock);                         |  mtx_lock_spin(&sched_lock); /* suppose blocked!!! */
> ...                                                 |  
> callout_stop(&td->td_slpcallout)                    |
> td->td_flags |= TDF_TIMEOUT;                        |
> td->td_proc->p_stats->p_ru.ru_nivcsw++;             |
> // problem, does not set thread state to TDS_SLP!!! |
> mi_switch();                                        |
> // run at once again                                |
> ...                                                 |
> mtx_unlock_spin(&sched_lock);                       | mtx_lock_spin() returned !!!
> thread is still running                             | if (td->td_flags & TDF_TIMEOUT) {
> ...                                                 |     td->td_flags &= ~TDF_TIMEOUT;
> some place call mi_switch() and now on runqueue     |      setrunqueue(td); // crash
>                                                     | }
> 
> ----------------------------------------------------------
(Continue reading)

Garance A Drosihn | 1 Jul 05:58 2002
Picon

Re: What's the right way to build XFree86-4 now?

At 4:57 PM +0200 6/26/02, Sheldon Hearn wrote:
>Here's what I did to get XFree86-4 to build with the base system's
>toolchain in -CURRENT:
>
>a) ports/devel/imake-4:
>
>    Replace files/patch-d and files/patch-xthreads with the attached
>    patch-config::cf::FreeBSD.cf.
>
>    Add the attached patch-config::cf::bsdLib.tmpl.
>
>b) ports/x11/XFree86-4-libraries:
>
>    Replace files/patch-z45 with the attached patch-z45.
>
>    Note that this isn't quite right, because the linking gets done with
>    cc as a front-end, not c++.  But the job gets done, all the same,
>    and I'm not writing a SharedDepCplusplusLibraryTarget rule myself.
>    :-)
>
>c) ports/x11-servers/XFree86-4-Server:
>
>    Add the attached patch-gcc31, taken from Motoyuki Konno's post to
>    <freebsd-current <at> FreeBSD.ORG> with the following Message-ID:
>
>	<200206041243.g54Chxc16331 <at> sakura.mk.bsdclub.org>

Have many people had a chance to test this?  I wanted to try it out
this weekend, but I lost most of the weekend due to other problems
with compiling current on my test machine.  I finally got by those
(Continue reading)

Dag-Erling Smorgrav | 1 Jul 06:00 2002
Picon

i386 tinderbox failure

--------------------------------------------------------------
>>> Rebuilding the temporary build tree
--------------------------------------------------------------
>>> stage 1: bootstrap tools
--------------------------------------------------------------
>>> stage 2: cleaning up the object tree
--------------------------------------------------------------
>>> stage 2: rebuilding the object tree
--------------------------------------------------------------
>>> stage 2: build tools
--------------------------------------------------------------
>>> stage 3: cross tools
--------------------------------------------------------------
>>> stage 4: populating /home/des/tinderbox/i386/obj/local0/scratch/des/src/i386/usr/include
--------------------------------------------------------------
>>> stage 4: building libraries
--------------------------------------------------------------
>>> stage 4: make dependencies
--------------------------------------------------------------
>>> stage 4: building everything..
--------------------------------------------------------------
===> bin/realpath
===> bin/rm
===> bin/rmdir
===> bin/setfacl
===> bin/sh
===> bin/sleep
===> bin/stty
===> bin/sync
===> bin/test
(Continue reading)


Gmane