<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<font face="Courier New, Courier, monospace">Sunil,<br>
Your help is very appreciated, here is the gdb run:<br>
<br>
[mkfs.ocfs2]# gdb ./mkfs.ocfs2<br>
GNU gdb Red Hat Linux (6.3.0.0-1.84rh)<br>
Copyright 2004 Free Software Foundation, Inc.<br>
GDB is free software, covered by the GNU General Public License, and
you are<br>
welcome to change it and/or distribute copies of it under certain
conditions.<br>
Type "show copying" to see the conditions.<br>
There is absolutely no warranty for GDB. Type "show warranty" for
details.<br>
This GDB was configured as "i386-redhat-linux-gnu"...Using host
libthread_db library "/lib/libthread_db.so.1".<br>
<br>
(gdb) set args -b 4K -C 32K -N 4 -L mail_data /dev/etherd/e0.12p1<br>
(gdb) b ocfs2_get_device_sectsize<br>
Breakpoint 1 at 0x805498f: file getsectsize.c, line 50.<br>
(gdb) b ocfs2_get_device_size<br>
Breakpoint 2 at 0x8054a93: file getsize.c, line 152.<br>
(gdb) run<br>
Starting program:
/usr/src/INSTALL_OCFS/ocfs2-tools-1.2.1/mkfs.ocfs2/mkfs.ocfs2 -b 4K -C
32K -N 4 -L mail_data /dev/etherd/e0.12p1<br>
Reading symbols from shared object read from target memory...done.<br>
Loaded system supplied DSO at 0x5da000<br>
mkfs.ocfs2 1.2.1<br>
<br>
Breakpoint 1, ocfs2_get_device_sectsize (file=0x96160e0
"/dev/etherd/e0.12p1", sectsize=0xbfa4ea20) at getsectsize.c:50<br>
50 fd = open64(file, O_RDONLY);<br>
(gdb) n<br>
54 if (fd < 0)<br>
(gdb) n<br>
58 if (ioctl(fd, BLKSSZGET, sectsize) >= 0) {<br>
(gdb) n<br>
59 close(fd);<br>
(gdb) n<br>
60 return 0;<br>
(gdb) n<br>
66 }<br>
(gdb) n<br>
fill_defaults (s=0x9616048) at mkfs.c:965<br>
965 if (err) {<br>
(gdb) c<br>
Continuing.<br>
<br>
Breakpoint 2, ocfs2_get_device_size (file=0x96160e0
"/dev/etherd/e0.12p1", blocksize=4096, retblocks=0xbfa4ea18)<br>
at getsize.c:152<br>
152 int fd, rc = 0;<br>
(gdb) n<br>
153 int valid_blkgetsize64 = 1;<br>
(gdb) n<br>
171 fd = open64(file, O_RDONLY);<br>
(gdb) n<br>
175 if (fd < 0)<br>
(gdb) n<br>
190 if ((uname(&ut) == 0) &&<br>
(gdb) n<br>
195 if (valid_blkgetsize64 &&<br>
(gdb) n<br>
202 *retblocks = size64 / blocksize;<br>
(gdb) n<br>
203 goto out;<br>
(gdb) n<br>
291 close(fd);<br>
(gdb) n<br>
292 return rc;<br>
(gdb) n<br>
293 }<br>
(gdb) n<br>
fill_defaults (s=0x9616048) at mkfs.c:993<br>
993 if (err) {<br>
(gdb) n<br>
1000 if (s->hb_dev) {<br>
(gdb) n<br>
1030 s->volume_size_in_blocks = ret;<br>
(gdb) n<br>
1031 if (s->specified_size_in_blocks) {<br>
(gdb) n<br>
1047 s->volume_size_in_bytes =
s->volume_size_in_blocks * blocksize;<br>
(gdb) n<br>
1049 if (!s->blocksize) {<br>
(gdb) n<br>
1076 s->blocksize_bits = get_bits(s, s->blocksize);<br>
(gdb) n<br>
1078 if (!s->cluster_size) {<br>
(gdb) n<br>
1089 s->cluster_size_bits = get_bits(s,
s->cluster_size);<br>
(gdb) n<br>
1092 s->volume_size_in_clusters =
s->volume_size_in_bytes >> s->cluster_size_bits;<br>
(gdb) n<br>
1093 tmp = (uint64_t)s->volume_size_in_clusters;<br>
(gdb) n<br>
1094 s->volume_size_in_bytes = tmp <<
s->cluster_size_bits;<br>
(gdb) n<br>
1095 s->volume_size_in_blocks =
s->volume_size_in_bytes >> s->blocksize_bits;<br>
(gdb) n<br>
1097 s->reserved_tail_size = 0;<br>
(gdb) n<br>
1099
ocfs2_calc_cluster_groups(s->volume_size_in_clusters,
s->blocksize,<br>
(gdb) n<br>
<br>
Program received signal SIGFPE, Arithmetic exception.<br>
0x0805f003 in __udivdi3 ()<br>
(gdb) n<br>
Single stepping until exit from function __udivdi3, <br>
which has no line number information.<br>
<br>
Program terminated with signal SIGFPE, Arithmetic exception.</font><br>
<br>
Sunil Mushran wrote:
<blockquote cite="mid446A542B.7080106@oracle.com" type="cite">So the
exception is generated when mkfs is computing the size of the device.
<br>
It could be due to an unexpected value returned by one of the ioctls.
<br>
<br>
Try this:
<br>
# cd /../ocfs2-tools-1.2.1
<br>
# ./configure --enable-debug
<br>
# make all
<br>
# cd mkfs.ocfs2
<br>
# gdb ./mkfs.ocfs2
<br>
(gdb) set args -b 4K -C 32K -N 4 -L mail_data /dev/etherd/e0.12p1
<br>
(gdb) b ocfs2_get_device_sectsize
<br>
(gdb) b ocfs2_get_device_size
<br>
<br>
Set break point at ocfs2_get_device_sectsize() and
ocfs2_get_device_size()
<br>
and run. See what the sectsize is. Then step thru the code in
get_device_size.
<br>
<br>
If this is too much, at least generate the coredump and make it
available
<br>
for download.
<br>
<br>
Please let me know the results.
<br>
<br>
Thanks
<br>
Sunil
<br>
<br>
Jeffery P. Humes wrote:
<br>
<blockquote type="cite">Here is the output of an ltrace.
<br>
Please note that this is trying to create a partition on a Coraid AOE
device.
<br>
<br>
-JPH
<br>
<br>
# ltrace mkfs.ocfs2 -v -b 4K -C 32K -N 4 -L mail_data
/dev/etherd/e0.12p1
<br>
<br>
__libc_start_main(0x804993d, 11, 0xbfa86b24, 0x805f1bc, 0x805f218
<unfinished ...>
<br>
setbuf(0x8805e0,
NULL) =
<void>
<br>
setbuf(0x880480,
NULL) =
<void>
<br>
signal(15,
0x8049875) = NULL
<br>
signal(2,
0x8049875) =
NULL
<br>
malloc(8)
= 0x85de008
<br>
malloc(8)
= 0x85de018
<br>
malloc(8)
= 0x85de028
<br>
__xpg_basename(0xbfa87be4, 135168, 0, 0,
0x757fb4) = 0xbfa87be4
<br>
getopt_long(11, 0xbfa86b24, "b:C:L:N:J:vqVFHxT:", 0x80635e0,
NULL) = 118
<br>
getopt_long(11, 0xbfa86b24, "b:C:L:N:J:vqVFHxT:", 0x80635e0,
NULL) = 98
<br>
strtoull(0xbfa87bf5, 0xbfa863cc, 0, 0,
0) = 4
<br>
getopt_long(11, 0xbfa86b24, "b:C:L:N:J:vqVFHxT:", 0x80635e0,
NULL) = 67
<br>
strtoull(0xbfa87bfb, 0xbfa863cc, 0, 0,
0) = 32
<br>
getopt_long(11, 0xbfa86b24, "b:C:L:N:J:vqVFHxT:", 0x80635e0,
NULL) = 78
<br>
strtoul(0xbfa87c02, 0xbfa86440, 0, 0,
0x757fb4) = 4
<br>
getopt_long(11, 0xbfa86b24, "b:C:L:N:J:vqVFHxT:", 0x80635e0,
NULL) = 76
<br>
strdup("mail_data")
= 0x85de038
<br>
getopt_long(11, 0xbfa86b24, "b:C:L:N:J:vqVFHxT:", 0x80635e0,
NULL) = -1
<br>
malloc(148)
= 0x85de048
<br>
memset(0x85de048, '\000',
148) = 0x85de048
<br>
fprintf(0x880480, "%s %s\n", "mkfs.ocfs2", "1.2.1"mkfs.ocfs2 1.2.1
<br>
) = 17
<br>
strdup("/dev/etherd/e0.12p1")
= 0x85de0e0
<br>
time(NULL)
= 1147812553
<br>
__xstat(3, "/dev/etherd/e0.12p1",
0xbfa85f40) = 0
<br>
fopen("/proc/swaps",
"r") = 0x85de0f8
<br>
fgets("Filename\t\t\t\tType\t\tSize\tUsed\tPrio"..., 1024,
0x85de0f8) = 0xbfa85f98
<br>
feof(0x85de0f8)
= 0
<br>
fgets("/dev/mapper/VolGroup00-LogVol00 "..., 1024,
0x85de0f8) = 0xbfa85f98
<br>
strchr("/dev/mapper/VolGroup00-LogVol00 "..., '
') = " partition\t3047416\t88\t-1"...
<br>
strchr("/dev/mapper/VolGroup00-LogVol00",
'\t') = NULL
<br>
strcmp("/dev/mapper/VolGroup00-LogVol00",
"/dev/etherd/e0.12p1") = 1
<br>
__xstat(3, "/dev/mapper/VolGroup00-LogVol00",
0xbfa85f40) = 0
<br>
feof(0x85de0f8)
= 0
<br>
fgets("/dev/mapper/VolGroup00-LogVol00", 1024,
0x85de0f8) = NULL
<br>
fclose(0x85de0f8)
= 0
<br>
setmntent("/proc/mounts",
"r") = 0x85de0f8
<br>
__xstat(3, "/dev/etherd/e0.12p1",
0xbfa862f0) = 0
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"rootfs") = -1
<br>
__xstat(3, "rootfs",
0xbfa862f0) = -1
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/dev") = 1
<br>
__xstat(3, "/dev",
0xbfa862f0) = 0
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/dev/root") = -1
<br>
__xstat(3, "/dev/root",
0xbfa862f0) = 0
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/proc") = -1
<br>
__xstat(3, "/proc",
0xbfa862f0) = 0
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/proc/bus/usb") = -1
<br>
__xstat(3, "/proc/bus/usb",
0xbfa862f0) = 0
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/sys") = -1
<br>
__xstat(3, "/sys",
0xbfa862f0) = 0
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/dev/devpts") = 1
<br>
__xstat(3, "/dev/devpts",
0xbfa862f0) = -1
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/dev/sda1") = -1
<br>
__xstat(3, "/dev/sda1",
0xbfa862f0) = 0
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/dev/shm") = -1
<br>
__xstat(3, "/dev/shm",
0xbfa862f0) = 0
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"none") = -1
<br>
__xstat(3, "none",
0xbfa862f0) = -1
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"sunrpc") = -1
<br>
__xstat(3, "sunrpc",
0xbfa862f0) = -1
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"configfs") = -1
<br>
__xstat(3, "configfs",
0xbfa862f0) = -1
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"ocfs2_dlmfs") = -1
<br>
__xstat(3, "ocfs2_dlmfs",
0xbfa862f0) = -1
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"automount(pid2223)") = -1
<br>
__xstat(3, "automount(pid2223)",
0xbfa862f0) = -1
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/dev/etherd/e0.11p1") = 1
<br>
__xstat(3, "/dev/etherd/e0.11p1",
0xbfa862f0) = 0
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/dev/BaculaVG/BaculaDataLV_1") = 1
<br>
__xstat(3, "/dev/BaculaVG/BaculaDataLV_1",
0xbfa862f0) = 0
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/dev/BackupDataVG/BackupDataLV_1") = 1
<br>
__xstat(3, "/dev/BackupDataVG/BackupDataLV_1",
0xbfa862f0) = 0
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"nfsd") = -1
<br>
__xstat(3, "nfsd",
0xbfa862f0) = -1
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"knfiler:/vol/vol0") = -1
<br>
__xstat(3, "knfiler:/vol/vol0",
0xbfa862f0) = -1
<br>
getmntent(0x85de0f8)
= NULL
<br>
__xstat(3, "/",
0xbfa862f0) = 0
<br>
endmntent(0x85de0f8)
= 1
<br>
setmntent("/etc/mtab",
"r") = 0x85de0f8
<br>
__xstat(3, "/dev/etherd/e0.12p1",
0xbfa862f0) = 0
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/dev/mapper/VolGroup00-LogVol01") = -1
<br>
__xstat(3, "/dev/mapper/VolGroup00-LogVol01",
0xbfa862f0) = 0
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/dev/proc") = -1
<br>
__xstat(3, "/dev/proc",
0xbfa862f0) = -1
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/dev/sys") = -1
<br>
__xstat(3, "/dev/sys",
0xbfa862f0) = -1
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/dev/devpts") = 1
<br>
__xstat(3, "/dev/devpts",
0xbfa862f0) = -1
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/dev/sda1") = -1
<br>
__xstat(3, "/dev/sda1",
0xbfa862f0) = 0
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/dev/shm") = -1
<br>
__xstat(3, "/dev/shm",
0xbfa862f0) = 0
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"none") = -1
<br>
__xstat(3, "none",
0xbfa862f0) = -1
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"sunrpc") = -1
<br>
__xstat(3, "sunrpc",
0xbfa862f0) = -1
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"configfs") = -1
<br>
__xstat(3, "configfs",
0xbfa862f0) = -1
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"ocfs2_dlmfs") = -1
<br>
__xstat(3, "ocfs2_dlmfs",
0xbfa862f0) = -1
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"automount(pid2223)") = -1
<br>
__xstat(3, "automount(pid2223)",
0xbfa862f0) = -1
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/dev/etherd/e0.11p1") = 1
<br>
__xstat(3, "/dev/etherd/e0.11p1",
0xbfa862f0) = 0
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/dev/mapper/BaculaVG-BaculaDataL"...) = -1
<br>
__xstat(3, "/dev/mapper/BaculaVG-BaculaDataL"...,
0xbfa862f0) = 0
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"/dev/mapper/BackupDataVG-BackupD"...) = -1
<br>
__xstat(3, "/dev/mapper/BackupDataVG-BackupD"...,
0xbfa862f0) = 0
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"nfsd") = -1
<br>
__xstat(3, "nfsd",
0xbfa862f0) = -1
<br>
getmntent(0x85de0f8)
= 0x8821e0
<br>
strcmp("/dev/etherd/e0.12p1",
"knfiler:/vol/vol0") = -1
<br>
__xstat(3, "knfiler:/vol/vol0",
0xbfa862f0) = -1
<br>
getmntent(0x85de0f8)
= NULL
<br>
__xstat(3, "/",
0xbfa862f0) = 0
<br>
endmntent(0x85de0f8)
= 1
<br>
__xstat(3, "/dev/etherd/e0.12p1",
0xbfa863d4) = 0
<br>
open("/dev/etherd/e0.12p1", 128,
00) = 3
<br>
close(3)
= 0
<br>
malloc(132)
= 0x85de0f8
<br>
malloc(20)
= 0x85de180
<br>
malloc(20)
= 0x85de198
<br>
strcpy(0x85de198,
"/dev/etherd/e0.12p1") = 0x85de198
<br>
open64("/dev/etherd/e0.12p1", 16386,
036706623) = 3
<br>
posix_memalign(0xbfa861b8, 512, 512, 0x8057284,
20) = 0
<br>
pread64(3, 0x85df400, 512, 0,
0) = 512
<br>
free(0x85df400)
= <void>
<br>
uname(0xbfa86206)
= 0
<br>
malloc(20)
= 0x85de1b0
<br>
strcpy(0x85de1b0,
"/dev/etherd/e0.12p1") = 0x85de1b0
<br>
posix_memalign(0xbfa863e0, 512, 512, 0x8057284,
0) = 0
<br>
pread64(3, 0x85df400, 512, 0,
0) = 512
<br>
free(0x85df400)
= <void>
<br>
posix_memalign(0xbfa863e0, 512, 512, 0x8057284,
0x85df409) = 0
<br>
pread64(3, 0x85df400, 512, 1024,
0) = 0
<br>
free(0x85df400)
= <void>
<br>
free(0x85de1b0)
= <void>
<br>
close(3)
= 0
<br>
free(0x85de198)
= <void>
<br>
free(0x85de180)
= <void>
<br>
free(0x85de0f8)
= <void>
<br>
open64("/dev/etherd/e0.12p1", 16386,
027752076021) = 3
<br>
getpagesize()
= 4096
<br>
open64("/dev/etherd/e0.12p1", 0,
01001105565) = 4
<br>
ioctl(4, 4712,
0xbfa86450) = 0
<br>
close(4)
= 0
<br>
open64("/dev/etherd/e0.12p1", 0,
01027372000) = 4
<br>
uname(0xbfa8621e)
= 0
<br>
ioctl(4, -2147216782,
0xbfa86210) = 0
<br>
close(4)
= 0
<br>
--- SIGFPE (Floating point exception) ---
<br>
+++ killed by SIGFPE +++
<br>
<br>
Sunil Mushran wrote:
<br>
<blockquote type="cite">Did you try strace or ltrace?
<br>
<br>
Jeffery P. Humes wrote:
<br>
<blockquote type="cite">I have a Fedora Core server running:
<br>
Fedora Core release 4 (Stentz)
<br>
kernel version: 2.6.15-1.1833_FC4smp
<br>
( I have also tried kernel version: 2.6.16-1.2108_FC4smp)
<br>
<br>
I compiled the ocfs2 and ocfs2-tools using the following steps:
<br>
<br>
# MODULES:
<br>
tar zxvpf ocfs2-1.2.1.tar.gz
<br>
cd ocfs2-1.2.1
<br>
./configure
<br>
make
<br>
make install
<br>
<br>
# TOOLS:
<br>
tar zxf ocfs2-tools-1.2.1.tar.gz
<br>
cd ocfs2-tools-1.2.1
<br>
./configure --enable-dynamic-fsck=yes --enable-dynamic-ctl=yes
--enable-ocfs2console=yes
<br>
make
<br>
make install
<br>
<br>
cp vendor/common/ocfs2.init /etc/init.d/ocfs2
<br>
cp vendor/common/o2cb.init /etc/init.d/o2cb
<br>
cp vendor/common/o2cb.sysconfig /etc/sysconfig/o2cb
<br>
<br>
<br>
I have the cluster.conf configured and the cluster is running.
<br>
<br>
<br>
<br>
Whenever I try to create an ocfs2 FS, I get the following error:
<br>
# mkfs.ocfs2 -v -b 4K -C 32K -N 4 -L mail_data /dev/etherd/e0.12p1
<br>
mkfs.ocfs2 1.2.1
<br>
Floating point exception
<br>
<br>
<br>
any comments or assistance would be appreciated.
<br>
<br>
-Jeffery P Humes
<br>
<br>
<br>
<br>
------------------------------------------------------------------------
<br>
<br>
_______________________________________________
<br>
Ocfs2-users mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Ocfs2-users@oss.oracle.com">Ocfs2-users@oss.oracle.com</a>
<br>
<a class="moz-txt-link-freetext" href="http://oss.oracle.com/mailman/listinfo/ocfs2-users">http://oss.oracle.com/mailman/listinfo/ocfs2-users</a>
<br>
</blockquote>
</blockquote>
<br>
-- <br>
It's a trick, get an axe.
<br>
- Ash -
<br>
</blockquote>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
It's a trick, get an axe.
- Ash -
</pre>
</body>
</html>