Kernel Panic supervisor read, page not present

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
hanggard
ефрейтор
Сообщения: 57
Зарегистрирован: 2009-09-29 20:54:54

Kernel Panic supervisor read, page not present

Непрочитанное сообщение hanggard » 2012-09-17 13:53:04

Привет, это снова я. Вот так вот зачастил к вам. Есть ядро:

Код: Выделить всё

root@unicron:/usr/home/hanggard# cat /usr/src/sys/i386/conf/TheUnicronIX | grep -v ^# | grep -v ^$
cpu             I486_CPU
cpu             I586_CPU
cpu             I686_CPU
ident           TheUnicronIX
makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols
options         ACCEPT_FILTER_HTTP      # accf_http
options         VFS_AIO                 # aio
options         KVA_PAGES=768           # zfs
options         SCHED_ULE               # ULE 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         NFSCL                   # New Network Filesystem Client
options         NFSD                    # New Network Filesystem Server
options         NFSLOCKD                # Network Lock Manager
options         NFS_ROOT                # NFS usable as /, requires NFSCL
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_FREEBSD4         # Compatible with FreeBSD4
options         COMPAT_FREEBSD5         # Compatible with FreeBSD5
options         COMPAT_FREEBSD6         # Compatible with FreeBSD6
options         COMPAT_FREEBSD7         # Compatible with FreeBSD7
options         COMPAT_FREEBSD8         # Compatible with FreeBSD8
options         SCSI_DELAY=5000         # Delay (in ms) before probing SCSI
options         KTRACE                  # ktrace(1) support
options         STACK                   # stack(9) 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         PRINTF_BUFR_SIZE=128    # Prevent printf output being interspersed.
options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
options         HWPMC_HOOKS             # Necessary kernel hooks for hwpmc(4)
options         MROUTING                # Multicast routing
options         AUDIT                   # Security event auditing
options         MAC                     # TrustedBSD MAC Framework
options         FLOWTABLE               # per-cpu routing cache
options         INCLUDE_CONFIG_FILE     # Include this file in kernel
options         MAXUSERS=512
options         MAXFILES=65535
options         KDB                     # Kernel debugger related code
options         KDB_TRACE               # Print a stack trace for a panic
options         SMP                     # Symmetric MultiProcessor Kernel
device          apic                    # I/O APIC
device          cpufreq
device          acpi
device          eisa
device          pci
device          ahci            # AHCI-compatible SATA controllers
device          ata             # Legacy ATA/SATA controllers
options         ATA_CAM         # Handle legacy controllers with CAM
options         ATA_STATIC_ID   # Static device numbering
device          mvs             # Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA
device          siis            # SiliconImage SiI3124/SiI3132/SiI3531 SATA
                                        # output.  Adds ~128k to driver.
                                        # output.  Adds ~215k to driver.
device          scbus           # SCSI bus (required for ATA/SCSI)
device          da              # Direct Access (disks)
device          pass            # Passthrough device (direct ATA/SCSI access)
device          atkbdc          # AT keyboard controller
device          atkbd           # AT keyboard
device          psm             # PS/2 mouse
device          kbdmux          # keyboard multiplexer
device          vga             # VGA video card driver
device          sc
options         SC_PIXEL_MODE   # add support for the raster text mode
device          pmtimer
device          uart            # Generic UART driver
device          miibus          # MII bus support
device          ale             # Atheros AR8121/AR8113/AR8114 Ethernet
device          fxp             # Intel EtherExpress PRO/100B (82557, 82558)
device          re              # RealTek 8139C+/8169/8169S/8110S
device          wlan            # 802.11 support
options         IEEE80211_DEBUG # enable debug msgs
options         IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
options         IEEE80211_SUPPORT_MESH  # enable 802.11s draft support
device          wlan_wep        # 802.11 WEP support
device          wlan_ccmp       # 802.11 CCMP support
device          wlan_tkip       # 802.11 TKIP support
device          wlan_amrr       # AMRR transmit rate control algorithm
device          loop            # Network loopback
device          random          # Entropy device
device          ether           # Ethernet support
device          vlan            # 802.1Q VLAN support
device          tun             # Packet tunnel.
device          pty             # BSD-style compatibility pseudo ttys
device          md              # Memory "disks"
device          gif             # IPv6 and IPv4 tunneling
device          faith           # IPv6-to-IPv4 relaying (translation)
device          firmware        # firmware assist module
device          bpf             # Berkeley packet filter
device          uhci            # UHCI PCI->USB interface
device          ohci            # OHCI PCI->USB interface
device          ehci            # EHCI PCI->USB interface (USB 2.0)
device          usb             # USB Bus (required)
device          udbp            # USB Double Bulk Pipe devices (needs netgraph)
device          uhid            # "Human Interface Devices"
device          ukbd            # Keyboard
device          umass           # Disks/Mass storage - Requires scbus and da
device          ums             # Mouse
device pf
device pflog
device pfsync
options         ALTQ
options         ALTQ_CBQ        # Class Bases Queuing (CBQ)
options         ALTQ_RED        # Random Early Detection (RED)
options         ALTQ_RIO        # RED In/Out
options         ALTQ_HFSC       # Hierarchical Packet Scheduler (HFSC)
options         ALTQ_PRIQ       # Priority Queuing (PRIQ)
options         ALTQ_NOPCC      # Required for SMP build
device          smbus
device          smb
device          intpm
device          ichsmb
device          alpm
device          viapm
device          nfpm
device          iicbus          # Bus support, required for ic/iic/iicsmb below.
device          iicbb
device          ic
device          iic
options         NETGRAPH
options         NETGRAPH_SPLIT
options         NETGRAPH_KSOCKET
options         NETGRAPH_SOCKET
options         NETGRAPH_BPF
options         NETGRAPH_IFACE
options         NETGRAPH_MPPC_ENCRYPTION
options         NETGRAPH_PPP
options         NETGRAPH_PPTPGRE
options         NETGRAPH_TCPMSS
options         NETGRAPH_VJC
options         NETGRAPH_TEE
options         NETGRAPH_CAR
Есть /boot/loader.conf:

Код: Выделить всё

root@unicron:/usr/home/hanggard# cat /boot/loader.conf | grep -v ^# | grep -v ^$
zfs_load="YES"
agp_load="YES"
kqemu_load="YES"
coretemp_load="YES"
vm.kmem_size="1024M"
vm.kmem_size_max="1536M"
vfs.zfs.arc_max="256M"
vfs.zfs.arc_min="100M"
vfs.zfs.vdev.cache.size="16M"
vfs.zfs.prefetch_disable="1"
libiconv_load="YES"
msdosfs_iconv_load="YES"
cd9660_iconv_load="YES"
ntfs_iconv_load="YES"
udf_iconv_load="YES"
autoboot_delay="1"
cd9660_load="YES"
msdosfs_load="YES"
linux_load="YES"
if_re_load="YES"
if_rl_load="YES"
Причем некоторые параметры его меня смущают.
Есть паника раз в 2-3 дня в рандомное время с текстом “page not present”. Вот выхлоп kgdb:

Код: Выделить всё

root@unicron:/usr/src/sys/i386/conf# kgdb /boot/kernel/kernel /var/crash/vmcore.6
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"...

Unread portion of the kernel message buffer:


Fatal trap 12: page fault while in kernel mode
cpuid = 1; apic id = 01
fault virtual address   = 0x17
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0x405ef8d2
stack pointer           = 0x28:0x9ea1ba00
frame pointer           = 0x28:0x9ea1ba10
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 55895 (rm)
trap number             = 12
panic: page fault
cpuid = 1
KDB: stack backtrace:
#0 0x406cf107 at kdb_backtrace+0x47
#1 0x4069c667 at panic+0x117
#2 0x4096db43 at trap_fatal+0x323
#3 0x4096dbfd at trap_pfault+0xad
#4 0x4096e985 at trap+0x465
#5 0x409578dc at calltrap+0x6
#6 0x405f6f0e at ncl_inactive+0x13e
#7 0x4098e6b2 at VOP_INACTIVE_APV+0x42
#8 0x4072f56f at vinactive+0x7f
#9 0x40733ce3 at vputx+0x2a3
#10 0x40733d50 at vput+0x10
#11 0x40737954 at kern_statat_vnhook+0x144
#12 0x40737a4c at kern_statat+0x3c
#13 0x40737a86 at kern_lstat+0x36
#14 0x40737b2f at sys_lstat+0x2f
#15 0x4096e165 at syscall+0x355
#16 0x40957941 at Xint0x80_syscall+0x21
Uptime: 5d12h32m19s
Physical memory: 3024 MB
Dumping 786 MB: 771 755 739 723 707 691 675 659 643 627 611 595 579 563 547 531 515 499 483 467 451 435 419 403 387 371 355 339 323 307 291 275 259 243 227 211 195 179 163 147 131 115 99 83 67 51 35 19 3

Reading symbols from /boot/kernel/ntfs_iconv.ko...Reading symbols from /boot/kernel/ntfs_iconv.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ntfs_iconv.ko
Reading symbols from /boot/kernel/ntfs.ko...Reading symbols from /boot/kernel/ntfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ntfs.ko
Reading symbols from /boot/kernel/libiconv.ko...Reading symbols from /boot/kernel/libiconv.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/libiconv.ko
Reading symbols from /boot/kernel/zfs.ko...Reading symbols from /boot/kernel/zfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/zfs.ko
Reading symbols from /boot/kernel/opensolaris.ko...Reading symbols from /boot/kernel/opensolaris.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/opensolaris.ko
Reading symbols from /boot/kernel/linux.ko...Reading symbols from /boot/kernel/linux.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linux.ko
Reading symbols from /boot/kernel/if_re.ko...Reading symbols from /boot/kernel/if_re.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/if_re.ko
Reading symbols from /boot/kernel/if_rl.ko...Reading symbols from /boot/kernel/if_rl.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/if_rl.ko
Reading symbols from /boot/kernel/agp.ko...Reading symbols from /boot/kernel/agp.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/agp.ko
Reading symbols from /boot/kernel/coretemp.ko...Reading symbols from /boot/kernel/coretemp.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/coretemp.ko
Reading symbols from /boot/kernel/msdosfs_iconv.ko...Reading symbols from /boot/kernel/msdosfs_iconv.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/msdosfs_iconv.ko
Reading symbols from /boot/kernel/cd9660_iconv.ko...Reading symbols from /boot/kernel/cd9660_iconv.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/cd9660_iconv.ko
Reading symbols from /boot/kernel/udf_iconv.ko...Reading symbols from /boot/kernel/udf_iconv.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/udf_iconv.ko
Reading symbols from /boot/kernel/udf.ko...Reading symbols from /boot/kernel/udf.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/udf.ko
Reading symbols from /boot/kernel/linprocfs.ko...Reading symbols from /boot/kernel/linprocfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linprocfs.ko
Reading symbols from /boot/modules/kqemu.ko...done.
Loaded symbols for /boot/modules/kqemu.ko
#0  doadump (textdump=1) at pcpu.h:244
244     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) backtrace
#0  doadump (textdump=1) at pcpu.h:244
#1  0x4069c40a in kern_reboot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:442
#2  0x4069c6a1 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:607
#3  0x4096db43 in trap_fatal (frame=0x9ea1b9c0, eva=23) at /usr/src/sys/i386/i386/trap.c:975
#4  0x4096dbfd in trap_pfault (frame=0x9ea1b9c0, usermode=0, eva=23) at /usr/src/sys/i386/i386/trap.c:839
#5  0x4096e985 in trap (frame=0x9ea1b9c0) at /usr/src/sys/i386/i386/trap.c:558
#6  0x409578dc in calltrap () at /usr/src/sys/i386/i386/exception.s:168
#7  0x405ef8d2 in ncl_removeit (sp=0x4f0b1c00, vp=0x4d80c220) at /usr/src/sys/fs/nfsclient/nfs_clvnops.c:1693
#8  0x405f6f0e in ncl_inactive (ap=0x9ea1ba64) at /usr/src/sys/fs/nfsclient/nfs_clnode.c:238
#9  0x4098e6b2 in VOP_INACTIVE_APV (vop=0x40a24520, a=0x9ea1ba64) at vnode_if.c:1863
#10 0x4072f56f in vinactive (vp=0x4d80c220, td=0x4c2f6000) at vnode_if.h:807
#11 0x40733ce3 in vputx (vp=0x4d80c220, func=2) at /usr/src/sys/kern/vfs_subr.c:2297
#12 0x40733d50 in vput (vp=0x4d80c220) at /usr/src/sys/kern/vfs_subr.c:2324
#13 0x40737954 in kern_statat_vnhook (td=0x4c2f6000, flag=512, fd=-100, path=0x284679b8 <Address 0x284679b8 out of bounds>,
    pathseg=UIO_USERSPACE, sbp=0x9ea1bc08, hook=0) at /usr/src/sys/kern/vfs_syscalls.c:2434
#14 0x40737a4c in kern_statat (td=0x4c2f6000, flag=512, fd=-100, path=0x284679b8 <Address 0x284679b8 out of bounds>,
    pathseg=UIO_USERSPACE, sbp=0x9ea1bc08) at /usr/src/sys/kern/vfs_syscalls.c:2403
#15 0x40737a86 in kern_lstat (td=0x4c2f6000, path=0x284679b8 <Address 0x284679b8 out of bounds>, pathseg=UIO_USERSPACE,
    sbp=0x9ea1bc08) at /usr/src/sys/kern/vfs_syscalls.c:2476
#16 0x40737b2f in sys_lstat (td=0x4c2f6000, uap=0x9ea1bcec) at /usr/src/sys/kern/vfs_syscalls.c:2466
#17 0x4096e165 in syscall (frame=0x9ea1bd28) at subr_syscall.c:131
#18 0x40957941 in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:266
#19 0x00000033 in ?? ()
Previous frame inner to this frame (corrupt stack?)

Код: Выделить всё

root@unicron:/usr/home/hanggard# uname -a
FreeBSD unicron.hanggard.local 9.0-RELEASE-p4 FreeBSD 9.0-RELEASE-p4 #0: Tue Sep 11 11:35:57 NOVT 2012     root@unicron.hanggard.local:/usr/obj/usr/src/sys/TheUnicronIX  i386
Памяти в машине 3 гига, используется почему-то чаще всего только полтора (на графике видно, что сервак падал этой ночью, пока я спал):
Изображение

Ну и как водится, памагииииииите. Реально я думал, что это баг zfs (появилось после включения в ядре данной опции и переноса /usr туда. Когда был только /var (raidz на трех дисках), все было нормально), но после обновления ядра и мира это не прошло. То есть ядро я обновлял не только из-за этого, но все же это не помогло. Сам —очень сильно грешу на vm.kmem_size и некоторые другие параметры, которые пришлось менять при “ZFS-тюнинге”. В общем, чаще всего сервер умирает при нагрузках на ФС, что говорит о том, что кому-то (ядру или ZFS в ущерб друг друга) не хватает памяти.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

ChihPih
ст. прапорщик
Сообщения: 568
Зарегистрирован: 2009-09-04 12:23:30
Откуда: Где-то в России...
Контактная информация:

Re: Kernel Panic supervisor read, page not present

Непрочитанное сообщение ChihPih » 2012-09-17 17:10:26

А память точно не битая?
www.info-x.org - информационный ресурс о ОС FreeBSD.

hanggard
ефрейтор
Сообщения: 57
Зарегистрирован: 2009-09-29 20:54:54

Re: Kernel Panic supervisor read, page not present

Непрочитанное сообщение hanggard » 2012-09-17 17:18:17

Мемтестом прогонял всю ночь — ничего.

hanggard
ефрейтор
Сообщения: 57
Зарегистрирован: 2009-09-29 20:54:54

Re: Kernel Panic supervisor read, page not present

Непрочитанное сообщение hanggard » 2012-09-19 16:05:25

Я так понял, идеи кончились?

hanggard
ефрейтор
Сообщения: 57
Зарегистрирован: 2009-09-29 20:54:54

Re: Kernel Panic supervisor read, page not present

Непрочитанное сообщение hanggard » 2012-10-07 14:04:54

Не знаю уж, радоваться или бояться? Сделал апгрейд пулов ZFS (zpool upgrade) с версии 13 до версии 28 (оказывается, я забыл это сделать после сборки ядра). И уже вот так вот:

Код: Выделить всё

root@unicron:/usr/home/hanggard# w
17:58  up 17 days, 16:31, 1 user, load averages: 0,32 0,30 0,22
USER       TTY      FROM                      LOGIN@  IDLE WHAT
hanggard   pts/1    ws.hanggard.local        15:19       - w
Знать бы — это затишье перед бурей или отпустило…