>Description:
The mysql initialisation fails on coda filesystems.
Apparently CREATE TABLE creates just the *.frm files,
but silently won't create the *.ISM and *ISD,
resulting in a subsequent message
"ERROR: 1033 Incorrect information in file: './mysql/db.frm'"
>How-To-Repeat:
The problem has been reproduced with both
mysql-3.22.32 and current 3.23.32
(the latter with disable-large-files)
on SuSE linux 7.0, kernel 2.2.16, glibc2.1.3
starting a freshly installed mysqld with
/coda/vol/mysql/libexec/mysqld
--bootstrap
--skip-grant-tables
--basedir=/coda/vol/mysql
--datadir=/coda/vol/mysql/var
and issuing create table bla (bla int);
leads to the strace output below.
there is another strace for datadir=/tmp/mysql,
which succeeds.
I am not deep enough into the mysql sources to understand
where exactly the statement fails.
Any help, also on where coda might be the cause,
is appreciated.
Yours,
Steffen
-----------------------------------------------------
starting a freshly installed mysqld with
strace /coda/vol/mysql/libexec/mysqld --bootstrap
--skip-grant-tables --basedir=/coda/vol/mysql
--datadir=/coda/vol/mysql/var
create table bla (bla int); leads to :
read(0, create table bla (bla int);
"create table bla (bla int);\n", 1024) = 28
access("./mysql/bla.frm", F_OK) = -1 ENOENT (No such file or directory)
open("./mysql/bla.frm", O_RDWR|O_CREAT|O_TRUNC, 0660) = 5
write(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
lseek(5, 64, SEEK_SET) = 64
write(5, "//\0", 3) = 3
write(5, "\0 \0\0", 4) = 4
lseek(5, 0, SEEK_END) = 4096
write(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
pwrite(5, "\376\1\7\7\3\0\0\20\1\0\0000\0\0\20\0\6\0\0\0\0\0\0\0\0"..., 64, 0) = 64
pwrite(5, "\0\0\6\0\2\0,\0", 8, 4096) = 8
lseek(5, 4112, SEEK_SET) = 4112
write(5, "\376\0\0\0\0\377", 6) = 6
lseek(5, 8192, SEEK_SET) = 8192
write(5, "h\1\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 288) = 288
write(5, "7\0\2\1\2\24) "..., 55) = 55
write(5, "\4\4\v\v\2\0\33\200\0\0\0", 11) = 11
write(5, ",", 1) = 1
write(5, "bla,\0", 5) = 5
close(5) = 0
open("./mysql/bla.frm", O_RDONLY) = 5
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
close(5) = 0
write(2, "ERROR: 1033 Incorrect informati"..., 62ERROR:
1033 Incorrect information in file: './mysql/bla.frm') = 62
-----------------------------------------------------
With datadir set to an ext2 fs it looks like this:
strace /coda/vol/mysql/libexec/mysqld
--bootstrap --skip-grant-tables
--basedir=/coda/vol/mysql
--datadir=/tmp/mysql
read(0, create table bla (bla int);
"create table bla (bla int);\n", 1024) = 28
access("./mysql/bla.frm", F_OK) = -1 ENOENT (No such file or directory)
open("./mysql/bla.frm", O_RDWR|O_CREAT|O_TRUNC, 0660) = 5
write(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
lseek(5, 64, SEEK_SET) = 64
write(5, "//\0", 3) = 3
write(5, "\0 \0\0", 4) = 4
lseek(5, 0, SEEK_END) = 4096
write(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
pwrite(5, "\376\1\7\7\3\0\0\20\1\0\0000\0\0\20\0\6\0\0\0\0\0\0\0\0"..., 64, 0) = 64
pwrite(5, "\0\0\6\0\2\0,\0", 8, 4096) = 8
lseek(5, 4112, SEEK_SET) = 4112
write(5, "\376\0\0\0\0\377", 6) = 6
lseek(5, 8192, SEEK_SET) = 8192
write(5, "h\1\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 288) = 288
write(5, "7\0\2\1\2\24) "..., 55) = 55
write(5, "\4\4\v\v\2\0\33\200\0\0\0", 11) = 11
write(5, ",", 1) = 1
write(5, "bla,\0", 5) = 5
close(5) = 0
open("./mysql/bla.frm", O_RDONLY) = 5
read(5, "\376\1\7\7\3\0\0\20\1\0\0000\0\0\20\0\6\0\0\0\0\0\0\0\0"..., 64) = 64
lseek(5, 64, SEEK_SET) = 64
read(5, "//\0\0 \0\0", 7) = 7
lseek(5, 4096, SEEK_SET) = 4096
read(5, "\0\0\6\0\2\0,\0", 8) = 8
pread(5, "\376\0\0\0\0\377", 6, 4112) = 6
lseek(5, 8192, SEEK_SET) = 8192
read(5, "h\1\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 288) = 288
read(5, "7\0\2\1\2\24) "..., 72) = 72
close(5) = 0
lstat("./mysql/bla", 0xbfffc9c4) = -1 ENOENT (No such file or directory)
open("./mysql/bla.ISM", O_RDWR|O_CREAT|O_TRUNC, 0660) = 5
open("./mysql/bla.ISD", O_RDWR|O_CREAT|O_TRUNC, 0660) = 6
getpid() = 602
time(NULL) = 981123665
time(NULL) = 981123665
write(5, "\376\376\5\2\0\0\250\2\310\0\234\0\0\2\0\0\0\0\0\0\0\0"..., 200) = 200
write(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 312) = 312
write(5, "\0\4\0\0\0\0\0\0\0\0\0\0\6\0\0\0\377\377\377\377\377\377"..., 156) = 156
write(5, "\0\0\1\0", 4) = 4
write(5, "\0\0\4\0", 4) = 4
write(5, "\0\0\1\0", 4) = 4
lseek(5, 0, SEEK_END) = 680
write(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 344) = 344
close(6) = 0
close(5) = 0
-----------------------------------------------------
>Fix:
None.
>Submitter-Id: <submitter ID>
>Originator:
>Organization:
Steffen Neumann Computer science is the dangerous
[EMAIL PROTECTED] attempt to overcome human intelligence
>
>MySQL support: [none]
>Severity:
>Priority:
>Category: mysql
>Class:
>Release: mysql-3.22.32 (yes)
>Environment:
System: OSF1 liszt V4.0 1229 alpha
Machine: alpha
Some paths: /vol/perl/bin/perl /vol/gnu/bin/make /vol/gnu/bin/gcc /usr/bin/cc
GCC: Reading specs from /vol/gnu/lib/gcc-lib/alpha-dec-osf4.0b/2.95/specs
gcc version 2.95 19990728 (release)
Compilation info: CC='gcc' CFLAGS='' CXX='c++' CXXFLAGS='' LDFLAGS=''
Configure command: /vol/mysql/src/mysql/mysql-3.22.32/configure --prefix=/vol/mysql
--libexecdir=/vol/mysql/lib --localstatedir=/var/spool/mysql --enable-static=no
--with-libwrap --enable-assembler --enable-strcoll --enable-large-files
--enable-thread-safe-client --with-comment --without-readline --with-pthread
--without-bench --with-mysqld-user=mysql
Perl: This is perl, version 5.004_04 built for alpha-dec_osf
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php