Commit Graph

125 Commits

Author SHA1 Message Date
dogcow 9098338f79 Instead of exiting with an obscure error message if -N /kernelname isn't
specified, blithely assume the kernel will consume around 20 megs.
2009-08-18 04:02:39 +00:00
lukem fb63fbd0cc fix sign-compare issues 2009-04-06 12:32:30 +00:00
tls ede5dc65a8 Fix savecore so it uses /dev/ksyms when it can (doesn't override libkvm
default).  Fixes misc/38425.
2009-03-21 19:32:44 +00:00
ad 101a9782a2 Add crash(8), a utility to diagnose kernel crashes. This is basically
ddb running on crash dumps, but with two notable changes:

- Breakpoints, watches, etc are obviously never going to work so they
  are not handled.

- You can pipe output to the shell, e.g. ps | grep foo

Items remaining to be done:

- Port it to architectures other than i386. This isn't difficult, just
  a case of making db_disasm.c/db_trace.c or their equivalent compile
  and work.

- Make more of the "show" commands work, e.g "show uvmexp".
2009-03-07 22:08:07 +00:00
christos 118c87a6fe fix dev_t format. 2008-12-28 20:17:11 +00:00
ad 2df6131a64 Enable the faked ELF kernel by default, now that ksyms output works with
gdb. Makes it possible to do post-mortem debugging on a modular kernel.
2008-12-05 21:41:10 +00:00
ad dc7ae0762f - Add code to produce a fake ELF kernel containing only symbol info. Done
by extracting ksyms state from the dump, so we have symbols for modules
  loaded at the time of the crash. If ksyms extraction fails, this falls
  back to the current behaviour of copying /netbsd.

- Leave it disabled for the moment: (1) we are about to branch (2) most
  tools understand the artificial kernel but gdb has trouble with it for
  some reason.
2008-10-20 10:34:54 +00:00
joerg 281bbad379 Explicitly check that the dump device is not the console, a tty or pty.
While the list is adhoc, the problems reported are always with
/dev/console. Adresses PR 38425 and similiar issues with Xen.
2008-10-09 13:59:50 +00:00
lukem 6543a91fea Remove the \n and tabs from the __COPYRIGHT() strings.
(Tweak some to use a consistent format.)
2008-07-20 01:20:21 +00:00
ad 76f153e120 sync() a couple of times to benefit diagnosis of sloppy kernel code that
crashes during boot to multiuser.
2008-04-20 23:40:31 +00:00
ad 73e694f404 Don't use the block device to read crashdumps, if possible. 2008-01-15 14:26:41 +00:00
pooka 3384f1f26e tyop: _time_seconf -> _time_second 2007-11-12 16:04:55 +00:00
christos 8539ad5cf5 from Anon Ymous: remove (void)&var; 2006-12-18 20:08:48 +00:00
christos 50b568b12d c99 initializers 2006-10-16 02:56:56 +00:00
kardel e386d70092 accept either "time_second" or "time" as kernel timevariable in
order to support common userland in enviroments where
timecounter kernels and non timecounter kernel co-exist
(e.g. xen & i386)
2006-07-09 06:43:16 +00:00
kardel 75418af90c support timecounters (struct time gone, use time_second then) 2006-06-07 20:56:19 +00:00
hubertf f500b89c3d Free some allocated memory in the failure case when trying to
fetch the panic string.

Fixes Coverity CID 1856.
2006-03-17 01:45:51 +00:00
christos 2c6eadc9ce Move WARNS=3 to the Makefile.inc, and add a little const to the remaining
programs that did not compile before.
2005-06-27 01:00:04 +00:00
dsainty 1dfaf4a3ca Rearrange the option formatting to be both prettier and more complete 2004-10-21 10:13:00 +00:00
snj 32eca9407f New sentence, new line; use .Dq instead of ``''. 2004-10-16 05:44:59 +00:00
dsainty 9a582784d5 Bump date for -n description 2004-10-16 04:38:53 +00:00
dsainty d01162a3bc Added -n option, which tests for a present core but doesn't write it
to disk or clear it (does 'nothing').

http://mail-index.netbsd.org/tech-userlevel/2004/10/09/0000.html
2004-10-16 04:29:27 +00:00
dsainty 4b46224291 Added -n option, which tests for a present core but doesn't write it
to disk or clear it (does 'nothing').

http://mail-index.netbsd.org/tech-userlevel/2004/10/09/0000.html
2004-10-16 03:48:15 +00:00
tls e8092c77bc Fix an integer overflow that prevented saving cores from machines with
more than 2GB of RAM.

"dumpsize" in the on-disk core header is in pages, but, unfortunately,
c.size in our kcore format is an unsigned 32-bit int, gross.

We sleaze it, using a 64-bit int internally here and handing it to
libkvm as a *signed* 32-bit int.  Won't always work, but shouldn't be
broken any worse than it is now, and sometimes work better.

We must fix the kcore format and libkvm.
2004-07-14 07:26:12 +00:00
christos 6bd1d6d4db Replace the statfs() family of system calls with statvfs().
Retain binary compatibility.
2004-04-21 01:05:31 +00:00
christos 99319b80db Give a 60 day leeway instead of a week when judging if the dumptime is valid.
7 days is too short when you are debugging time problems.
2004-03-30 19:52:02 +00:00
agc 276d62f603 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22308, verified by myself.
2003-08-07 10:04:22 +00:00
itojun f5878476d9 simplify by strlcpy 2003-05-18 02:11:13 +00:00
wiz 990562bfef .Nm does not need a dummy argument ("") before punctuation or
for correct formatting of the SYNOPSIS any longer.
2003-02-25 10:34:36 +00:00
thorpej 764e56a614 Remove prototype for non-existent function log(). 2002-12-06 02:20:00 +00:00
wiz 09cbac4e7f New sentence, new line. From Robert Elz. 2002-10-03 15:41:44 +00:00
drochner 335fd2d7c2 use humanize_number(3) for progress printout 2002-09-27 18:38:53 +00:00
christos 94d01e0c5d PR/15502: Wolfgang Rupprecht: savecore fails for > 2GB files. 2002-03-19 18:55:03 +00:00
tsutsui 07b8153219 Change type of dumpmag and newdumpmag from int to u_int32_t
since they hold 32bit unsigned magic numbers. (sync with kernels)
2002-03-06 13:13:08 +00:00
wiz 80d1ff493a Sort sections. 2001-11-16 11:21:37 +00:00
wiz 4ce43ae0cd Whitespace nits 2001-11-16 10:25:42 +00:00
lukem d3656d428d fix a couple of -Wshadow warnings 2001-11-01 07:39:38 +00:00
lukem fa5157d9fb explicitly set the default compression level to 1 (from the implicit 6),
because it's significantly faster and doesn't use that much more disk space.
2001-09-12 03:14:08 +00:00
lukem fd08f59ac0 Add "-Z level" to control the compression level that -z uses (which
defaults to -Z 6).  Depending on the relative speed of the CPU
versus disk, "-zZ1" might be faster than no compression at all.
2001-09-12 02:58:29 +00:00
wiz eea41b6f12 Document more explicitly that the kernel must be `secure' according to
secure_path to be used automatically. (Of course, you can override with the
-N option.)
Addresses bin/13665.
2001-08-20 14:23:59 +00:00
wiz 0f1cb57c85 Note usage of getbootfile(3); sort SEE ALSO section according to
mdoc.samples(7).
2001-06-13 23:24:32 +00:00
wiz f91f11f51f Use getbootfile(3) instead of _PATH_UNIX by default.
Sprinkle some const.
2001-06-13 23:16:27 +00:00
wiz 73f545bb5b Drop arguments of .Os. 2001-06-05 11:22:41 +00:00
simonb 1547b056d0 If the position of the formatted panic string can be found in the
message buffer, use that instead of the raw panic string.

Suggested by Jason Thorpe eons ago.
2001-05-06 13:36:51 +00:00
wiz 2d48dd26ee Xref send-pr 1, not 8. Whitespace fixes while I'm here. 2001-04-03 11:17:31 +00:00
martin 1bb8e47f65 Make option flag variables static. This avoids a conflict between
'int compress' in savecore.c and the function 'compress' in libz.
Gnu ld 2.10 (with BFD 2.10) used on sparc64 warns this conflict
(symbol "compress" changed size).
2001-01-11 20:27:12 +00:00
joda 7e74657e37 use gzip instead of compress 2001-01-02 21:39:37 +00:00
lukem 834e92eedc Bump the field width of `K to go' from 6 to 8; some systems have more
than 999999 KB of RAM... (this will suffice until it's common to have
~ 100 GB of RAM :)
2001-01-02 00:29:37 +00:00
wiz 9bf97e8322 Back out sysctl part for now, awaiting the result of further discussion,
on request of Andrew Doran.
2000-12-11 14:33:51 +00:00
wiz 4c06e7a434 Output proper warning if dumplo == -1 (as it can happen on macppc without
swap partition), instead of "kvm_dump_mkheader: Pread: Invalid argument".
2000-12-08 22:03:23 +00:00