From owner-freebsd-database@FreeBSD.ORG Fri Apr 14 16:36:29 2006 Return-Path: X-Original-To: freebsd-database@freebsd.org Delivered-To: freebsd-database@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 071A316A406 for ; Fri, 14 Apr 2006 16:36:29 +0000 (UTC) (envelope-from terje@lunndal.priv.no) Received: from smtp.eunet.no (smtp.eunet.no [193.75.75.25]) by mx1.FreeBSD.org (Postfix) with ESMTP id 994BE43D45 for ; Fri, 14 Apr 2006 16:36:26 +0000 (GMT) (envelope-from terje@lunndal.priv.no) Received: from [127.0.0.1] (gw.eunet.no [195.0.195.197]) by smtp.eunet.no (Postfix) with ESMTP id 10770A7D3B for ; Fri, 14 Apr 2006 18:36:26 +0200 (CEST) Message-ID: <443FCF7F.8090604@lunndal.priv.no> Date: Fri, 14 Apr 2006 18:36:15 +0200 From: Terje With Lunndal User-Agent: Thunderbird 1.5 (Windows/20051201) MIME-Version: 1.0 To: freebsd-database@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Sporadic MySQL InnoDB page corruption after reboot in FreeBSD 6.1-RC X-BeenThere: freebsd-database@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Database use and development under FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Apr 2006 16:36:29 -0000 Greetings, I hesitated to post to this FreeBSD specific list, but after recreating the same error on the same server with a fresh installation of both MySQL 4 and 5, I decided to give this list a try. I have a relatively new FreeBSD 6.1-RC installation on which I run a MySQL 4.1.18_2 server. With a clean database, as installed from the port, the MySQL server refuses to start up after a regular reboot due to a "database page corruption on disk or a failed file read". The MySQL log file speculates that a reboot might help. If I then reboot the system, the database seems to start up just fine most of the time. Simply restarting the MySQL daemon does not seem to recreate the error, nor does it seem to help after the error already has ocurred. Rebooting the system seems to create the problem, but in some cases it seems to fix it. There are no errors in /var/log/messages. Does anybody have any pointers as to where I sould be looking for a solution? Maybe someone out there has any good idea as to what is causing this? I am providing some information about the system, the MySQL error log and the dmesg output. Please let me know if I can provide any other informations. System setup ------------ I am running FreeBSD 6.1-RC on an Intel ISP 2150. The disks live in an IBM EXP 300 cabinet. The filesystem the database resides in is UFS with soft updates enabled. The logical volume the filesystem resides on is a RAID5 volume from an IBM Serveraid 3H controller. MySQL error log --------------- 060414 18:05:13 InnoDB: Started; log sequence number 0 0 /usr/local/libexec/mysqld: ready for connections. Version: '4.1.18' socket: '/tmp/mysql.sock' port: 3306 FreeBSD port: mysql-server-4.1.18_2 060414 18:06:47 [Note] /usr/local/libexec/mysqld: Normal shutdown 060414 18:06:47 InnoDB: Starting shutdown... 060414 18:06:50 InnoDB: Shutdown completed; log sequence number 0 43634 060414 18:06:50 [Note] /usr/local/libexec/mysqld: Shutdown complete 060414 18:06:50 mysqld ended 060414 18:10:29 mysqld started InnoDB: Database page corruption on disk or a failed InnoDB: file read of page 5. InnoDB: You may have to recover from a backup. 060414 18:10:31 InnoDB: Page dump in ascii and hex (16384 bytes): len 16384; hex 9959353400000005000000 [lots of hex data] ; ;InnoDB: End of page dump 060414 18:10:32 InnoDB: Page checksum 3247215559, prior-to-4.0.14-form checksum 998684385 InnoDB: stored checksum 2572760372, prior-to-4.0.14-form stored checksum 998684385 InnoDB: Page lsn 0 36828, low 4 bytes of lsn at page end 36828 InnoDB: Page number (if stored to page already) 5, InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 0 InnoDB: Database page corruption on disk or a failed InnoDB: file read of page 5. InnoDB: You may have to recover from a backup. InnoDB: It is also possible that your operating InnoDB: system has corrupted its own file cache InnoDB: and rebooting your computer removes the InnoDB: error. InnoDB: If the corrupt page is an index page InnoDB: you can also try to fix the corruption InnoDB: by dumping, dropping, and reimporting InnoDB: the corrupt table. You can use CHECK InnoDB: TABLE to scan your table for corruption. InnoDB: See also http://dev.mysql.com/doc/mysql/en/Forcing_recovery.html InnoDB: about forcing recovery. InnoDB: Ending processing because of a corrupt database page. 060414 18:10:32 mysqld ended dmesg output ------------ Copyright (c) 1992-2006 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 6.1-RC #2: Fri Apr 14 03:10:31 CEST 2006 root@my.server.net:/usr/obj/usr/src/sys/CUSTOM Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel Pentium III (845.64-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x683 Stepping = 3 Features=0x383fbff real memory = 1878982656 (1791 MB) avail memory = 1837498368 (1752 MB) ACPI APIC Table: FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): APIC ID: 1 cpu1 (AP): APIC ID: 0 ioapic0 irqs 0-23 on motherboard npx0: [FAST] npx0: on motherboard npx0: INT 16 interface acpi0: on motherboard acpi0: Power Button (fixed) Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0xc08-0xc0b on acpi0 cpu0: on acpi0 cpu1: on acpi0 pcib0: port 0xcf8-0xcff on acpi0 pci0: on pcib0 pcib1: at device 1.0 on pci0 pci1: on pcib1 pcib2: at device 15.0 on pci1 pci2: on pcib2 pcib3: at device 4.0 on pci2 pci3: on pcib3 ips0: port 0x3000-0x30ff mem 0xf4200000-0xf42fffff irq 20 at device 4.0 on pci3 pci0: at device 12.0 (no driver attached) pci0: at device 12.1 (no driver attached) fxp0: port 0x2800-0x283f mem 0xf4102000-0xf4102fff,0xf4000000-0xf40fffff irq 21 at device 14.0 on pci0 miibus0: on fxp0 inphy0: on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp0: Ethernet address: 00:90:27:f6:56:7a isab0: at device 18.0 on pci0 isa0: on isab0 atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x2860-0x286f at device 18.1 on pci0 ata0: on atapci0 ata1: on atapci0 pci0: at device 18.2 (no driver attached) pci0: at device 18.3 (no driver attached) pci0: at device 20.0 (no driver attached) atkbdc0: port 0x60,0x64 irq 1 on acpi0 atkbd0: irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] fdc0: port 0x3f2-0x3f5 irq 6 drq 2 on acpi0 fdc0: [FAST] fd0: <1440-KB 3.5" drive> on fdc0 drive 0 sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled orm0: at iomem 0xc0000-0xc7fff,0xc8000-0xc97ff on isa0 sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio1: configured irq 3 not in bitmap of probed irqs 0x1 sio1: port may not be enabled vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 Timecounters tick every 1.000 msec ipfw2 (+ipv6) initialized, divert loadable, rule-based forwarding disabled, default to deny, logging unlimited acd0: CDROM at ata0-master UDMA33 ips0: reinitializing adapter, this could take several minutes. ips0: adapter type: ServeRAID 3H (clarinet) ips0: logical drives: 2 ips0: Logical Drive 0: RAID5 sectors: 426565632, state OK ips0: Logical Drive 1: RAID5 sectors: 142192640, state OK ipsd0: on ips0 ipsd0: Logical Drive (208284MB) ipsd1: on ips0 ipsd1: Logical Drive (69430MB) SMP: AP CPU #1 Launched! Trying to mount root from ufs:/dev/ipsd1s1a I am grateful for any help. Regards, Terje -- Terje With Lunndal