Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Jul 2001 18:00:01 +0200
From:      "Chojin" <freebsd@tarakan-network.com>
To:        "Peter Pentchev" <roam@orbitel.bg>
Cc:        <freebsd-hackers@FreeBSD.org>
Subject:   Re: Cron program core dumped (signal 11)
Message-ID:  <002101c10e10$5edea640$0245a8c0@chojin>
References:  <007001c10e0c$f02d94c0$0245a8c0@chojin> <20010716185318.E56285@ringworld.oblivion.bg>

next in thread | previous in thread | raw e-mail | index | archive | help
>   cd /usr/src/usr.sbin/cron
>   make cleandir depend
>   make CFLAGS="-ggdb -g3" STRIP="" all install
>
> ..then run '/usr/sbin/cron' from the command line, and see if it
> leaves a coredump in the current directory.  If it does, then
> do the following:
>
>   gdb /usr/sbin/cron /path/to/cron.core
>   (at the gdb prompt)
>   bt
>   info local
>   up
>   info local
>   up
>   info local
>   [repeat until highest level]
>
> Hm.  Now that I kinda tested this, cron doesn't seem to leave
> a corefile.  Well, still.. this message was redirected to -stable
> in the hope that somebody there would know better how to help :\
>
> G'luck,
> Peter
>
> --
> This sentence claims to be an Epimenides paradox, but it is lying.
>

Okay, I followed your instructions:

GNU gdb 4.18
Copyright 1998 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-unknown-freebsd"...
Core was generated by `cron'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/libutil.so.3...done.
Reading symbols from /usr/lib/libc.so.4...done.
Reading symbols from /usr/libexec/ld-elf.so.1...done.
#0  0x804e59b in env_free (envp=0x0) at env.c:44
44              for (p = envp;  *p;  p++)
(gdb) bt
#0  0x804e59b in env_free (envp=0x0) at env.c:44
#1  0x804c166 in free_entry (e=0x805a8c0) at entry.c:77
#2  0x804de44 in load_entry (file=0x2810ab98, error_func=0x804b8dc
<log_error>, pw=0x280fd780, envp=0x80576d0) at entry.c:423
#3  0x804badf in load_user (crontab_fd=6, pw=0x280fd780, name=0xbfbff9d4
"rico") at user.c:105
#4  0x804ab37 in process_crontab (uname=0xbfbff9d4 "rico", fname=0xbfbff9d4
"rico", tabname=0xbfbff8d4 "tabs/rico",
    statbuf=0xbfbffb4c, new_db=0xbfbffadc, old_db=0xbfbffbd4) at
database.c:252
#5  0x804a76c in load_database (old_db=0xbfbffbd4) at database.c:120
#6  0x8049b92 in main (argc=1, argv=0xbfbffc34) at cron.c:116
#7  0x8049941 in _start ()
(gdb) info local
p = (char **) 0x0
(gdb) up
#1  0x804c166 in free_entry (e=0x805a8c0) at entry.c:77
77              env_free(e->envp);
(gdb) info local
No locals.
(gdb) up
#2  0x804de44 in load_entry (file=0x2810ab98, error_func=0x804b8dc
<log_error>, pw=0x280fd780, envp=0x80576d0) at entry.c:423
423             free_entry(e);
(gdb) info local
ecode = e_username
e = (entry *) 0x805a8c0
ch = 47
cmd = "/hom0,20,40\00003/articuno/Articuno.botchk >/dev/null 2>&1\000file",
'\000' <repeats 20 times>, "TÜ\a(\000r\006(", '\000' <repeats 104 times>,
"4Ý\a(\000r\006(", '\000' <repeats 56 times>, "´Ý\a(\000r\006(", '\000'
<repeats 200 times>,
"Tß\a(\000r\006(\000\000\000\000\000\000\000\000tß\a(\000r\006(", '\000'
<repeats 60 times>,
"éY\005(\237\214\004\b¬ÿ\a(\000\000\000\000\216Y\005(h6\006(@\200\006(",
'\000' <repeats 12 times>, "@\200\006\001"...
envstr =
"\001\000\000\000\000daryn003\00003\000n\000\000/usr/bin:/usr/sbin", '\000'
<repeats 202 times>, "ÄÕ\a(\000r\006(", '\000' <repeats 112 times>,
"´Ö\a(\000r\006(", '\000' <repeats 16 times>, "äÖ\a(\000r\006(", '\000'
<repeats 96 times>,
"´×\a(\000r\006(Ä×\a(\000r\006(\000\000\000\000\000\000\000\000ä×\a(\000r\00
6(", '\000' <repeats 208 times>, "\224Ù\a(\000r\006(", '\000' <repeats 136
times>, "´Ú\a(\000r\006(\000\000\000\000\000\000\000\000ÔÚ\a(\000r\006(",
'\000' <repeats 12 times>, "<78>"...
prev_env = (char **) 0x8053860
(gdb) up
#3  0x804badf in load_user (crontab_fd=6, pw=0x280fd780, name=0xbfbff9d4
"rico") at user.c:105
105                             e = load_entry(file, log_error, pw, envp);
(gdb) info local
envstr = "0,20,40 * * * *
/home/rico/poulet/scripts/botchk\000Articuno.botchk >/dev/null
2>&1\000\200\006(", '\000' <repeats 12 times>,
"@\200\006\001,õ¿¿;Y\005(\227\026\b(ü\234°\006\000r\006(îX\005(h6\006(Ä\215\
a(\000\000\000\000éY\005(\227\026\b(\217*\005(\000\000\000\000\216Y\005(h6\0
06(\000\000\000\000\2009\006(éY\005(n\t\b(n\t\b(\004\000\000\000\004\000\000
\000 \207\016(Ùø¿¿Ôù¿¿\004\000"...
file = (FILE *) 0x2810ab98
u = (user *) 0x80538a0
e = (entry *) 0x805a840
status = 0
envp = (char **) 0x80576d0
tenvp = (char **) 0x8057060
(gdb) up
#4  0x804ab37 in process_crontab (uname=0xbfbff9d4 "rico", fname=0xbfbff9d4
"rico", tabname=0xbfbff8d4 "tabs/rico",
    statbuf=0xbfbffb4c, new_db=0xbfbffadc, old_db=0xbfbffbd4) at
database.c:252
252             u = load_user(crontab_fd, pw, fname);
(gdb) info local
pw = (struct passwd *) 0x280fd780
crontab_fd = 6
u = (user *) 0x0
(gdb) up
#5  0x804a76c in load_database (old_db=0xbfbffbd4) at database.c:120
120                     process_crontab(fname, fname, tabname,
(gdb) info local
fname = "rico", '\000' <repeats 251 times>
tabname =
"tabs/rico\000003\000\000(àþ\a(\000\000\000\001\216Y\005(h6\006(@\200\006(\0
00\000\000\000\210%\006(Lù¿¿@\200\006\001Hù¿¿;Y\005(éY\005(\b\214\004\bT1\b(
\001\000\000\000\216Y\005(h6\006(@\200\006(\000\000\000\000h6\006(@\200\006\
001@\200\006\001|ù¿¿;Y\005(JÞ\016(Ç\000\000\000\000\000\000\000\003", '\000'
<repeats 19 times>,
"$Þ\016(è\214\017(\000r\006(\000p\006(\000r\006(\000r\006\001ìù¿¿°ù¿¿\220×\0
16(\003", '\000' <repeats 15 times>,
"è\214\017(\000\000\000\000\000\000\000\000E\216\004\b\"ô"...
dir = (DIR *) 0x8053200
statbuf = {st_dev = 160772, st_ino = 63030, st_mode = 33152, st_nlink = 1,
st_uid = 0, st_gid = 0, st_rdev = 263485,
  st_atimespec = {tv_sec = 995296924, tv_nsec = 0}, st_mtimespec = {tv_sec =
992364997, tv_nsec = 0}, st_ctimespec = {
    tv_sec = 992364997, tv_nsec = 0}, st_size = 333, st_blocks = 2,
st_blksize = 8192, st_flags = 0, st_gen = 1442709759,
  st_lspare = 0, st_qspare = {0, 0}}
syscron_stat = {st_dev = 160768, st_ino = 70865, st_mode = 33188, st_nlink =
1, st_uid = 0, st_gid = 0, st_rdev = 295944,
  st_atimespec = {tv_sec = 995296924, tv_nsec = 0}, st_mtimespec = {tv_sec =
986929430, tv_nsec = 0}, st_ctimespec = {
    tv_sec = 988309741, tv_nsec = 0}, st_size = 637, st_blocks = 2,
st_blksize = 8192, st_flags = 0, st_gen = 732393885,
  st_lspare = 0, st_qspare = {0, 0}}
dp = (struct dirent *) 0x8058078
new_db = {head = 0x8053060, tail = 0x8053800, mtime = 995279104}
u = (user *) 0x28067200
nu = (user *) 0x1
(gdb) up
#6  0x8049b92 in main (argc=1, argv=0xbfbffc34) at cron.c:116
116             load_database(&database);
(gdb) info local
database = {head = 0x0, tail = 0x0, mtime = 0}
(gdb) up
#7  0x8049941 in _start ()
(gdb) info local
No symbol table info available.



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?002101c10e10$5edea640$0245a8c0>