После обновления до 7.0 Stable уже в третий раз появляется следующая проблема:
- зависает mpd4 (с его помощью берется реальный IP и вешается на ng0)
mpd4, конечно же, был пересобран сразу после make installworld
- в топе висит natd, который цепляется на ng0 интерфейс
- убить natd с помощью kill -9 PID не получается
- убить mpd4 с помощью kill -9 PID не получается
- приконнектиться на диагностический порт mpd4 5005 не получается
- в логах mpd4 чисто (информация за прошлые сутки о перезагрузке)
- в /var/log/messages тоже чисто
- не получилось приаттачиться к процессам с помощью gdb,
к слову сказать с другими процессами та же история, приаттачиться к ним тоже не вышло
- на этом же тазике выполняя эти же задачи успешно(т.е. без аналогичных проблем) крутились 5.Х и 6.Х FreeBSD с mpd4
- помимо отъедания полностью одного процессора и недоступности
реального айпишника - тазик реагирует на команды адекватно,
все остальные сервисы работают даже в текущий момент зависания
В текущий момент эта проблема как раз повторилась и я решил не перегружать пока машинку,
возможно, с вашей помощью удастся решить эту проблему. Заранее извиняюсь за ОЧЕНЬ большой
объем нижеследующей информации..
Сейчас есть возможность собрать любые другие данные по вашему запросу.
тазик:
Код: Выделить всё
Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.0-STABLE #0: Sat Mar 8 06:22:14 EET 2008
karakurty@karakurty.odessa.ua:/usr/obj/usr/src/sys/ROUTER
module_register: module g_mirror already exists!
Module g_mirror failed to register: 17
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Pentium II/Pentium II Xeon/Celeron (233.87-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x634 Stepping = 4
Features=0x80fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,MMX>
real memory = 536858624 (511 MB)
avail memory = 515682304 (491 MB)
MPTable: <OEM00000 PROD00000000>
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
cpu0 (BSP): APIC ID: 1
cpu1 (AP): APIC ID: 0
ioapic0: Assuming intbase of 0
ioapic0 <Version 1.1> irqs 0-23 on motherboard
kbd1 at kbdmux0
cpu0 on motherboard
cpu1 on motherboard
pcib0: <Intel 82443LX (440 LX) host to PCI bridge> pcibus 0 on motherboard
...
Код: Выделить всё
karakurty# mpd4 -version
Version 4.4 (root@karakurty.odessa.ua 02:30 2-Mar-2008
Код: Выделить всё
startup:
set console port 5005
set console ip 127.0.0.1
set console user user password
set console open
default:
load normaplus
normaplus:
new -i ng0 vpn vpn
set iface disable on-demand
set iface enable tcpmssfix
set iface idle 0
set auth authname user
set auth password password
set bundle disable multilink
set bundle no noretry
set link yes acfcomp protocomp
set link disable pap chap
set link accept chap
set link keep-alive 30 10
set ipcp yes vjcomp
set ipcp ranges 0.0.0.0/0.0.0.0/0
set link mtu 1490
set link mru 1490
set link enable chap-msv2
set link enable no-orig-auth
set iface up-script /usr/local/etc/mpd4/ng-up.sh
set iface down-script /usr/local/etc/mpd4/ng-down.sh
open
Код: Выделить всё
last pid: 44940; load averages: 2.08, 2.17, 2.20 up 1+08:29:58 20:29:46
84 processes: 3 running, 81 sleeping
CPU states: 36.9% user, 0.0% nice, 62.6% system, 0.0% interrupt, 0.6% idle
Mem: 220M Active, 62M Inact, 96M Wired, 16M Cache, 60M Buf, 100M Free
Swap: 1024M Total, 168K Used, 1024M Free
PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
44939 root 1 108 0 28572K 22556K RUN 0 0:02 157.00% [cc1plus]
1280 root 1 128 0 3384K 1116K CPU1 0 361:34 98.63% /sbin/natd -f /usr/local/etc/mpd4/natd.ext.conf
...
Код: Выделить всё
karakurty# ifconfig
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:c0:df:0c:3d:a2
inet 10.4.0.30 netmask 0xffffff00 broadcast 10.4.0.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:30:4f:39:70:e1
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
inet 127.0.0.1 netmask 0xff000000
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1490
inet 193.17.208.60 --> 193.17.208.1 netmask 0xffffffff
Код: Выделить всё
karakurty# ping 193.17.208.60
PING 193.17.208.60 (193.17.208.60): 56 data bytes
92 bytes from vpn.normaplus.com (10.255.255.2): Time to live exceeded
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
4 5 00 5400 25d5 0 0000 01 01 f864 10.4.0.30 193.17.208.60
избирательный вывод netstat -an :
Код: Выделить всё
tcp4 0 0 10.4.0.30.* 10.255.255.2.1723 CLOSED
div4 65602 0 *.8669 *.*
Код: Выделить всё
karakurty# lsof -p 1280
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
natd 1280 root cwd VDIR 0,79 512 2 (ufs)
natd 1280 root rtd VDIR 0,79 512 2 (ufs)
natd 1280 root 0u VCHR 0,8 0t0 8 (devfs) (like character special /dev/null)
natd 1280 root 1u VCHR 0,8 0t0 8 (devfs) (like character special /dev/null)
natd 1280 root 2u VCHR 0,8 0t0 8 (devfs) (like character special /dev/null)
natd 1280 root 3r VREG 0,79 229 47609 -- etc/libalias.conf
natd 1280 root 4u IPv4 0xc2cf4e10 0t0 DIVERT 0.0.33.221:59586->*:42068
natd 1280 root 5u PIPE 0xc2bcc630 16384 ->0xc2bcc6e8
natd 1280 root 6u PIPE 0xc2bcc6e8 0 ->0xc2bcc630
natd 1280 root 7u PIPE 0xc2cbb000 16384 ->0xc2cbb0b8, cnt=1, in=1
natd 1280 root 8u PIPE 0xc2cbb0b8 0 ->0xc2cbb000
natd 1280 root 9u unix 0xc2eafdec 0t0 ->0xc2cd418c
natd 1280 root 10u IPv4 0xc2cf82d0 0t0 ICMP *:60098->*:24828
Код: Выделить всё
karakurty# gdb programm 1280
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 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-marcel-freebsd"...programm: No such file or directory.
Attaching to process 1280
/usr/src/gnu/usr.bin/gdb/libgdb/../../../../contrib/gdb/gdb/solib-svr4.c:1443: internal-error: legacy_fetch_link_map_offsets called without legacy link_map support enabled.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) n
/usr/src/gnu/usr.bin/gdb/libgdb/../../../../contrib/gdb/gdb/solib-svr4.c:1443: internal-error: legacy_fetch_link_map_offsets called without legacy link_map support enabled.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) n
Судя по всему я что-то упускаю, так сейчас я не могу приаттачится ни к одному процессу,
я пробывал приконнектится к заведомо живой программе с тем же результатом.
Код: Выделить всё
karakurty# uname -a
FreeBSD karakurty.odessa.ua 7.0-STABLE FreeBSD 7.0-STABLE #0: Sat Mar 2 06:22:14 EET 2008 karakurty@karakurty.odessa.ua:/usr/obj/usr/src/sys/ROUTER i386
Код: Выделить всё
karakurty# kldstat
Id Refs Address Size Name
1 12 0xc0400000 44f6e4 kernel
2 1 0xc0850000 16418 geom_mirror.ko
3 1 0xc0867000 2354 accf_http.ko
4 1 0xc2c49000 7000 linprocfs.ko
5 1 0xc2c50000 22000 linux.ko
основная часть конфиг ядра:
Код: Выделить всё
#cpu I486_CPU
#cpu I586_CPU
cpu I686_CPU
ident ROUTER
# To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.
#makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
options SCHED_4BSD # 4BSD scheduler
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
#options INET6 # IPv6 communications protocols
#options SCTP # Stream Control Transmission Protocol
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
options UFS_DIRHASH # Improve performance on big directories
options UFS_GJOURNAL # Enable gjournal-based UFS journaling
#options MD_ROOT # MD is a potential root device
options NFSCLIENT # Network Filesystem Client
options NFSSERVER # Network Filesystem Server
#options NFS_ROOT # NFS usable as /, requires NFSCLIENT
options MSDOSFS # MSDOS Filesystem
options CD9660 # ISO 9660 Filesystem
options PROCFS # Process filesystem (requires PSEUDOFS)
options PSEUDOFS # Pseudo-filesystem framework
options GEOM_PART_GPT # GUID Partition Tables.
options GEOM_LABEL # Provides labelization
options COMPAT_43TTY # BSD 4.3 TTY compat [KEEP THIS!]
options COMPAT_FREEBSD4 # Compatible with FreeBSD4
options COMPAT_FREEBSD5 # Compatible with FreeBSD5
options COMPAT_FREEBSD6 # Compatible with FreeBSD6
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
options KTRACE # ktrace(1) support
options SYSVSHM # SYSV-style shared memory
options SYSVMSG # SYSV-style message queues
options SYSVSEM # SYSV-style semaphores
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
options ADAPTIVE_GIANT # Giant mutex is adaptive.
options STOP_NMI # Stop CPUS using NMI instead of IPI
options AUDIT # Security event auditing
# To make an SMP kernel, the next two lines are needed
options SMP # Symmetric MultiProcessor Kernel
device apic # I/O APIC
# FireWall support
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPDIVERT
options IPFIREWALL_FORWARD
options DUMMYNET
# NetGraph support
options NETGRAPH
options NETGRAPH_PPTPGRE
options NETGRAPH_MPPC_ENCRYPTION
options NETGRAPH_BPF
options NETGRAPH_SOCKET
options NETGRAPH_IFACE
options NETGRAPH_PPP
options NETGRAPH_KSOCKET
options NETGRAPH_VJC
options NETGRAPH_TCPMSS
# Geom mirror (RAID 1) support
options GEOM_MIRROR
Код: Выделить всё
karakurty# less /boot/loader.conf
hint.acpi.0.disabled="1"
accf_http_load="YES"
geom_mirror_load=YES
если его не выключить ядро флудит прерываниями..
Код: Выделить всё
karakurty# ps waux | grep mpd
root 1280 97.1 0.2 3384 1116 ?? Rs Wed12PM 373:11.57 /sbin/natd -f /usr/local/etc/mpd4/natd.ext.conf
root 798 0.0 0.4 6976 2108 ?? Ds Wed12PM 0:12.37 /usr/local/sbin/mpd4 -p /var/run/mpd4.pid -b
Код: Выделить всё
karakurty# lsof -p 798
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mpd4 798 root cwd VDIR 0,84 512 1013282 -- local/etc/mpd4
mpd4 798 root rtd VDIR 0,79 512 2 (ufs)
mpd4 798 root 0u VCHR 0,8 0t0 8 (devfs) (like character special /dev/null)
mpd4 798 root 1u VCHR 0,8 0t0 8 (devfs) (like character special /dev/null)
mpd4 798 root 2u VCHR 0,8 0t0 8 (devfs) (like character special /dev/null)
mpd4 798 root 3u unix 0xc2cd4948 0t0 ->0xc2cd418c
mpd4 798 root 4uW VREG 0,82 4 94232 -- run/mpd4.pid
mpd4 798 root 5u PIPE 0xc2bcc630 16384 ->0xc2bcc6e8
mpd4 798 root 6u PIPE 0xc2bcc6e8 0 ->0xc2bcc630
mpd4 798 root 7u PIPE 0xc2cbb000 16384 ->0xc2cbb0b8, cnt=1, in=1
mpd4 798 root 8u PIPE 0xc2cbb0b8 0 ->0xc2cbb000
mpd4 798 root 9u IPv4 0xc2d9cb40 0t0 TCP 6.187.0.0:52930->*:60573
mpd4 798 root 10u IPv4 0xc2d9cbf4 0t0 TCP 0.0.19.141:56002->*:42004
mpd4 798 root 11u sock 0t0 no further information on family 0x20
mpd4 798 root 12u sock 0t0 no further information on family 0x20
mpd4 798 root 13u sock 0t0 no further information on family 0x20
mpd4 798 root 14u PIPE 0xc2cbb318 16384 ->0xc2cbb3d0
mpd4 798 root 15u PIPE 0xc2cbb3d0 0 ->0xc2cbb318
Валера