Difference between building and running under -current vs. 3.2-Release?

1999-07-09 Thread Karl Pielorz

Hi All,

The combination of Apache + PHP + FreeTDS I use under 3.2-Release without
problems, segfaults when it's built and run under -current (current as of
about 2 weeks ago).

i.e. I get "Segmentation fault - core dumped" when I try to run it. If I try
to run gdb through the core file, that also segfaults as well, and dies... :(

I'm no expert on debugging things, hence this email... By running httpd with
gdb, I get the following output:

"
Program received signal SIGSEGV, Segmentation fault.
0x281c0177 in strncpy () from /usr/lib/libc.so.3
(gdb) bt
#0  0x281c0177 in strncpy () from /usr/lib/libc.so.3
#1  0x2812de51 in tds_set_server (tds_login=0x6374652f, server=0x0)
at login.c:57
#2  0x2812a3b9 in dbopen (login=0x281d894b, server=0x0) at dblib.c:398
#3  0x28199118 in endpwent () from /usr/lib/libc.so.3
#4  0x28198e83 in getpwnam () from /usr/lib/libc.so.3
#5  0x80c2185 in ap_uname2id (name=0x8101dc8 "nobody") at util.c:1799
#6  0x80ad4b1 in init_config_globals (p=0x815b00c) at http_config.c:1388
#7  0x80ad754 in ap_read_config (p=0x815b00c, ptemp=0x815e00c,
confname=0x81575a0 "/usr/local/etc/apache/conf/httpd.conf")
at http_config.c:1466
#8  0x80b6f26 in main (argc=3, argv=0xbfbfdba4) at http_main.c:4574
"

Anyone got any suggestions as to why it builds and runs under 3.2, builds and
faults under 4.0-current?. If I copy the httpd built on 3.2 and run that on
-current, it also segfaults...

Any suggestions where to go next? (i.e. who I should be talking to, the
FreeBSD people, the Apache people, the PHP people, or the FreeTDS people?)

The machine running this isn't production, but it does get very busy when it
is used... It would have been nice to keep it as 4.0, but if I can't get it to
build and run at all, I'll have to back it down to 3.2-Release...

The machine is a P2-450, w/512mb RAM. The 3.2-Release box is a Pentium 233
with 64Mb of RAM. If it can't be fixed, or no one has any time I'll just back
the box down to 3.2 - I just thought it would be nice to try :)

Thanks,

-Karl


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



dev_t and system accounting

1999-07-09 Thread D. Rock

Hi,

the new dev_t stuff in the kernel keeps system accounting showing up
the tty properly. After taking a look at the fix for the swap device,
I propose the following equivalent fix:

Index: kern/kern_acct.c
===
RCS file: /data/cvs/src/sys/kern/kern_acct.c,v
retrieving revision 1.20
diff -u -r1.20 kern_acct.c
--- kern_acct.c 1999/04/27 11:15:53 1.20
+++ kern_acct.c 1999/07/09 19:57:38
@@ -221,7 +221,7 @@
 
/* (7) The terminal from which the process was started */
if ((p-p_flag  P_CONTROLT)  p-p_pgrp-pg_session-s_ttyp)
-   acct.ac_tty = p-p_pgrp-pg_session-s_ttyp-t_dev;
+   acct.ac_tty = dev2udev(p-p_pgrp-pg_session-s_ttyp-t_dev);
else
-   acct.ac_tty = NODEV;
+   acct.ac_tty = dev2udev(NODEV);

Index: sys/acct.h
===
RCS file: /data/cvs/src/sys/sys/acct.h,v
retrieving revision 1.9
diff -u -r1.9 acct.h
--- acct.h  1998/02/01 20:08:35 1.9
+++ acct.h  1999/07/09 19:57:15
@@ -60,7 +60,7 @@
gid_t ac_gid;   /* group id */
u_int16_t ac_mem;   /* average memory usage */
comp_tac_io;/* count of IO blocks */
-   dev_t ac_tty;   /* controlling tty */
+   udev_tac_tty;   /* controlling tty */
 
 #defineAFORK   0x01/* forked but not exec'ed */
 #defineASU 0x02/* used super-user permissions */


Daniel


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



Re: dev_t and system accounting

1999-07-09 Thread D. Rock

 Hi,
 
 the new dev_t stuff in the kernel keeps system accounting showing up
 the tty properly. After taking a look at the fix for the swap device,
 I propose the following equivalent fix:

 Looks good, could you try this version for me ?
[patch deleted]

I recompiled a "make world" and also rebuild the kernel with this
patch. No problems. lastcomm now again works as expected.

I already ran with the modified kernel from my patch. But I didn't
rebuilt world, so I didn't notice the userland problems for dev_t/udev_t

Daniel


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



Latest currents 'hang' on biord? [ Appears only on my system? :( ]

1999-07-09 Thread Karl Pielorz

Hi,

Any current's more recent than about a month ago on my main system seem to
'hang' on biord whenever they access the IDE drives...

The system boots of SCSI, has a number of SCSI drives - but as soon as it
either tries to mount, or fsck an IDE drive it just hangs... Breaking into DDB
at the time and running PS shows either fsck, or mount in "biord" - even a
simple DD results in the same hang...

Hitting CTRL-C will quit the mount/fsck/dd command - but the system just
doesn't seem to be able to access it's IDE drives?

Has anyone got any suggestions? - I noticed this a while ago, and posted
accordingly - but no one responded... If I boot an old kernel (like a month
old) the system comes up OK, but any newer kernels and they just hang... I've
tried rebuilding the kernel config from GENERIC, but it does the same :(

System is an SMP dual P-Pro200, running on a SuperMicro P6DNF w/256Mb RAM, 3 x
2940's, and 4xIDE drives...

Kernel config just says:

controller  wdc0at isa? port IO_WD1 irq 14
diskwd0 at wdc0 drive 0
diskwd1 at wdc0 drive 1

controller  wdc1at isa? port IO_WD2 irq 15
diskwd2 at wdc1 drive 0
diskwd3 at wdc1 drive 1

dmesg for the above drives is below (I'd post the whole -v dmesg, but it's
very long :(

wdc0 at 0x1f0-0x1f7 irq 14 flags 0xff00ff on isa
wdc0: unit 0 (wd0): QUANTUM FIREBALL SE4.3A, multi-block-16
wd0: 4110MB (8418816 sectors), 14848 cyls, 9 heads, 63 S/T, 512 B/S
wd0: ATA INQUIRE valid = 0007, dmamword = 0407, apio = 0003, udma = 0007
wdc0: unit 1 (wd1): QUANTUM FIREBALL ST2.1A, multi-block-16
wd1: 2014MB (4124736 sectors), 4092 cyls, 16 heads, 63 S/T, 512 B/S
wd1: ATA INQUIRE valid = 0007, dmamword = 0407, apio = 0003, udma = 0007
wdc1 at 0x170-0x177 irq 15 flags 0xff00ff on isa
wdc1: unit 0 (wd2): QUANTUM FIREBALL SE4.3A, multi-block-16
wd2: 4110MB (8418816 sectors), 14848 cyls, 9 heads, 63 S/T, 512 B/S
wd2: ATA INQUIRE valid = 0007, dmamword = 0407, apio = 0003, udma = 0007
wdc1: unit 1 (wd3): QUANTUM SIROCCO2550A, multi-block-8
wd3: 2445MB (5008752 sectors), 4969 cyls, 16 heads, 63 S/T, 512 B/S
wd3: ATA INQUIRE valid = 0003, dmamword = 0407, apio = 0003, udma = 

Any suggestions? - I'd guess it's not a very prolific problem, as no one else
seems to have the same symptoms? :(

-Karl


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



Re: MTRR stuff

1999-07-09 Thread Stephen Hocking-Senior Programmer PGS Tensor Perth

 
 What exactly are the ranges? You haven't given me enough info yet. I wrote the
 K6-* MTRR driver, so I'd like to help.
 
OK, the Linux 3dfx driver attempts to set up a write combining range starting 
at the card's base address and 0x40 bytes long. After doing this it then 
sets up a range marked as uncacheable starting at the card's base address of 
length  0x1000.


Stephen

-- 
  The views expressed above are not those of PGS Tensor.

"We've heard that a million monkeys at a million keyboards could produce
 the Complete Works of Shakespeare; now, thanks to the Internet, we know
 this is not true."Robert Wilensky, University of California




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



Re: Latest currents 'hang' on biord? [ Appears only on my system? :( ]

1999-07-09 Thread Matthew Dillon

:Hi,
:
:Any current's more recent than about a month ago on my main system seem to
:'hang' on biord whenever they access the IDE drives...
:...

Make sure you have the absolute latest CURRENT.  There was a situation
that broken current a week or so ago for 2 days that could result
in processes getting stuck in biord on SMP boxes.

-Matt



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



Re: Dirty pages low memory hangs with mmap

1999-07-09 Thread Matthew Dillon

:I've been seeing an interesting problem when doing a make installworld on a 
:486 with 16MB of memory. Immediately after installing libc.so.3, it will hang. 
:DDB gives a backtrace to a mmap related call (sorry, the box is at home at the 
:memoment and this email was prompted by something on freebsd-current). It's 
:quite reproducible, but worked around by issuing a bunch of syncs every 
:second. Outside of that, the box runs fine (it's my ppp NAT gateway, runs 
:squid  nntpcached as well).
:
:
:   Stephen

If you can run a kernel with DDB configured, you can break into DDB
after the machine hangs with ctl-alt-esc and then do a 'ps' to see what
all the processes are blocked in.

One of two known low memory hang conditions was fixed in a commit a day
or two ago.

The remaining known low memory hang occurs when files are mmap()'d shared
and pages are dirtied directly.  I've been trying to track that one down
along with another hang in 'objtrm' without much luck so far.

But to figure out exactly why your machines is hanging I need the DDB
ps output.

-Matt
Matthew Dillon 
[EMAIL PROTECTED]


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



Re: Stuck in objtrm

1999-07-09 Thread Alan Cox

Please try the attached patch.

Alan


Index: vm/vm_object.c
===
RCS file: /home/ncvs/src/sys/vm/vm_object.c,v
retrieving revision 1.158
diff -c -r1.158 vm_object.c
*** vm_object.c 1999/07/01 19:53:42 1.158
--- vm_object.c 1999/07/10 06:02:51
***
*** 400,413 
int s;
  
/*
!* Make sure no one uses us.
 */
vm_object_set_flag(object, OBJ_DEAD);
! 
!   /*
!* wait for the pageout daemon to be done with the object
!*/
!   vm_object_pip_wait(object, "objtrm");
  
KASSERT(!object-paging_in_progress,
("vm_object_terminate: pageout in progress"));
--- 400,415 
int s;
  
/*
!* Atomically wait for the pageout daemon to release the object
!* and mark the object dead.
 */
+   s = splvm();
+   while (object-paging_in_progress) {
+   vm_object_set_flag(object, OBJ_PIPWNT);
+   tsleep(object, PVM, "objtrm", 0);
+   }
vm_object_set_flag(object, OBJ_DEAD);
!   splx(s);
  
KASSERT(!object-paging_in_progress,
("vm_object_terminate: pageout in progress"));