Re: Anyone seeing snp(4) problems?

2002-11-10 Thread Dima Dorfman
Juli Mallett [EMAIL PROTECTED] wrote:
 I just tried to sudo watch ttyv1 and ran into the following:
 
 % Fatal trap 12: page fault while in kernel mode
...
 Looks like use of a NULL structure, accessing member at offsetof==0x60?
 
 Anyway, I couldn't get a dump, but I'll keep trying...  Also this kernel
 is a bit stale, but it'll take a while to get the kernel on this box updated,
 so I figured I'd go ahead and post now, and try with a new one when I can.

Is snp loaded from a module, and if it is, are the modules in sync
with the kernel?  I tried the above command on a -current about a
month old and it works for me.  If something broke recently, I'm
interested in tracebacks.

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



Re: Anyone seeing snp(4) problems?

2002-11-10 Thread Juli Mallett
* De: Dima Dorfman [EMAIL PROTECTED] [ Data: 2002-11-10 ]
[ Subjecte: Re: Anyone seeing snp(4) problems? ]
 Juli Mallett [EMAIL PROTECTED] wrote:
  I just tried to sudo watch ttyv1 and ran into the following:
  
  % Fatal trap 12: page fault while in kernel mode
 ...
  Looks like use of a NULL structure, accessing member at offsetof==0x60?
  
  Anyway, I couldn't get a dump, but I'll keep trying...  Also this kernel
  is a bit stale, but it'll take a while to get the kernel on this box updated,
  so I figured I'd go ahead and post now, and try with a new one when I can.
 
 Is snp loaded from a module, and if it is, are the modules in sync
 with the kernel?  I tried the above command on a -current about a
 month old and it works for me.  If something broke recently, I'm
 interested in tracebacks.

It's a module, in sync with the kernel, and the problem is in snpioctl,
it appears.

I'll be able to try a new kernel+modules today and let you know.
-- 
Juli Mallett [EMAIL PROTECTED]   | FreeBSD: The Power To Serve
Will break world for fulltime employment. | finger [EMAIL PROTECTED]
http://people.FreeBSD.org/~jmallett/  | Support my FreeBSD hacking!

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



Re: Anyone seeing snp(4) problems?

2002-11-10 Thread Juli Mallett
* De: Juli Mallett [EMAIL PROTECTED] [ Data: 2002-11-10 ]
[ Subjecte: Re: Anyone seeing snp(4) problems? ]
 I'll be able to try a new kernel+modules today and let you know.

No longer seeing it.  Sorry for the false alarm.

juli.
-- 
Juli Mallett [EMAIL PROTECTED]   | FreeBSD: The Power To Serve
Will break world for fulltime employment. | finger [EMAIL PROTECTED]
http://people.FreeBSD.org/~jmallett/  | Support my FreeBSD hacking!

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



Re: Anyone seeing snp(4) problems?

2002-11-10 Thread Thomas Moestl
On Sun, 2002/11/10 at 17:40:47 +, Dima Dorfman wrote:
 Juli Mallett [EMAIL PROTECTED] wrote:
  I just tried to sudo watch ttyv1 and ran into the following:
  
  % Fatal trap 12: page fault while in kernel mode
 ..
  Looks like use of a NULL structure, accessing member at offsetof==0x60?
  
  Anyway, I couldn't get a dump, but I'll keep trying...  Also this kernel
  is a bit stale, but it'll take a while to get the kernel on this box updated,
  so I figured I'd go ahead and post now, and try with a new one when I can.
 
 Is snp loaded from a module, and if it is, are the modules in sync
 with the kernel?  I tried the above command on a -current about a
 month old and it works for me.  If something broke recently, I'm
 interested in tracebacks.

Speaking of snp, what do you think of the attached patches? They fix
three problems:
- the ioctl()s really operate on udev_ts. dev_t is defined differently
  in kernel and userland and is even of different size on 64-bit
  platforms, leading to an ioctl() number mismatch there.
- SNPGTTY returned a kernel pointer instead of a correctly formed
  udev_t 
- watch(8) assumed that FIONREAD takes a size_t *, when it really
  takes just an int *

The last patch updates the manpage accordingly.

- Thomas

-- 
Thomas Moestl [EMAIL PROTECTED] http://www.tu-bs.de/~y0015675/
  [EMAIL PROTECTED] http://people.FreeBSD.org/~tmm/
PGP fingerprint: 1C97 A604 2BD0 E492 51D0  9C0F 1FE6 4F1D 419C 776C

Index: sys/snoop.h
===
RCS file: /d/ncvs/src/sys/sys/snoop.h,v
retrieving revision 1.21
diff -u -r1.21 snoop.h
--- sys/snoop.h 10 Sep 2002 03:58:44 -  1.21
+++ sys/snoop.h 10 Nov 2002 19:49:39 -
@@ -30,8 +30,8 @@
  * detached from its current tty.
  */
 
-#define SNPSTTY   _IOW('T', 90, dev_t)
-#define SNPGTTY   _IOR('T', 89, dev_t)
+#define SNPSTTY   _IOW('T', 90, udev_t)
+#define SNPGTTY   _IOR('T', 89, udev_t)
 
 /*
  * These values would be returned by FIONREAD ioctl
Index: dev/snp/snp.c
===
RCS file: /d/ncvs/src/sys/dev/snp/snp.c,v
retrieving revision 1.73
diff -u -r1.73 snp.c
--- dev/snp/snp.c   10 Apr 2002 03:51:49 -  1.73
+++ dev/snp/snp.c   10 Nov 2002 19:49:39 -
@@ -544,7 +544,7 @@
 * SNPGTTY happy, else we can't know what is device
 * major/minor for tty.
 */
-   *((dev_t *)data) = snp-snp_target;
+   *((udev_t *)data) = dev2udev(snp-snp_target);
break;
 
case FIONBIO:

Index: watch.c
===
RCS file: /d/ncvs/src/usr.sbin/watch/watch.c,v
retrieving revision 1.26
diff -u -r1.26 watch.c
--- watch.c 10 Aug 2002 08:42:10 -  1.26
+++ watch.c 10 Nov 2002 19:49:09 -
@@ -285,8 +285,8 @@
 int
 main(int ac, char *av[])
 {
-   int res, idata, rv;
-   size_t  nread, b_size = MIN_SIZE;
+   int res, rv, nread;
+   size_t  b_size = MIN_SIZE;
charch, *buf, chb[READB_LEN];
fd_set  fd_s;
 
@@ -362,7 +362,7 @@
if (nread  READB_LEN)
nread = READB_LEN;
rv = read(std_in, chb, nread);
-   if (rv == -1 || (unsigned)rv != nread)
+   if (rv == -1 || rv != nread)
fatal(EX_IOERR, read (stdin) failed);
 
switch (chb[0]) {
@@ -379,7 +379,7 @@
default:
if (opt_write) {
rv = write(snp_io, chb, nread);
-   if (rv == -1 || (unsigned)rv != nread) {
+   if (rv == -1 || rv != nread) {
detach_snp();
if (opt_no_switch)
fatal(EX_IOERR,
@@ -394,10 +394,10 @@
if (!FD_ISSET(snp_io, fd_s))
continue;
 
-   if ((res = ioctl(snp_io, FIONREAD, idata)) != 0)
+   if ((res = ioctl(snp_io, FIONREAD, nread)) != 0)
fatal(EX_OSERR, ioctl(FIONREAD));
 
-   switch (idata) {
+   switch (nread) {
case SNP_OFLOW:
if (opt_reconn_oflow)
attach_snp();
@@ -418,7 +418,6 @@
cleanup(-1);
break;
default:
-   nread = (unsigned)idata;
if (nread  (b_size / 2)  (b_size / 2)  MIN_SIZE) {
free(buf);
if (!(buf = (char *) malloc(b_size / 2)))
@@ 

Anyone seeing snp(4) problems?

2002-11-09 Thread Juli Mallett
I just tried to sudo watch ttyv1 and ran into the following:

% Fatal trap 12: page fault while in kernel mode
% fault virtual address = 0x60
% fault code= supervisor read, page not present
% instruction pointer   = 0x8:0xc1d7f4b8
% stack pointer = 0x10:0xca649b18
% frame pointer = 0x10:0xca649b20
% code segment  = base 0x0, limit 0xf, type 0x1b
%   = DPL 0, pres 1, def32 1, gran 1
% processor eflags  = interrupt enabled, resume, IOPL = 0
% current process   = 66231 (watch)
% Waiting (max 60 seconds) for system process `vnlru' to stop...stopped
% Waiting (max 60 seconds) for system process `bufdaemon' to stop...stopped
% Waiting (max 60 seconds) for system process `syncer' to stop...stopped
% 
% syncing disks... 40 40 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 
% giving up on 36 buffers
% Uptime: 3d17h51m39s
% Rebooting...

Looks like use of a NULL structure, accessing member at offsetof==0x60?

Anyway, I couldn't get a dump, but I'll keep trying...  Also this kernel
is a bit stale, but it'll take a while to get the kernel on this box updated,
so I figured I'd go ahead and post now, and try with a new one when I can.

HTH HAND LMK
juli.
-- 
Juli Mallett [EMAIL PROTECTED]   | FreeBSD: The Power To Serve
Will break world for fulltime employment. | finger [EMAIL PROTECTED]
http://people.FreeBSD.org/~jmallett/  | Support my FreeBSD hacking!

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