← Back to team overview

maria-developers team mailing list archive

Re: Problems installing mariadb published debian packages when using tmpfs for /tmp

 

I managed to get mysqld to run in this context using strace.

(Aside - took a bit of trickery using a secondary script, because although mysql_install_db lets you choose the program to run for mysqldb it is quoted and so you cant just use 'strace mysqld' as the exec)

pwrite(7, "\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\0\0\0\0\0"..., 1048576, 49283072) = 1048576
fsync(7)                                = 0
close(7)                                = 0
open("./ibdata1", O_RDWR)               = 7
fcntl(7, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0
getcwd("/var/lib/mysql", 4096)          = 15
open("./ib_logfile101", O_RDWR|O_SYNC|0x100000) = 12
fcntl(12, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0
getcwd("/var/lib/mysql", 4096)          = 15
open("./ib_logfile1", O_RDWR|O_SYNC|0x100000) = 13
fcntl(13, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0
getcwd("/var/lib/mysql", 4096)          = 15
pwrite(12, "\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"..., 512, 0) = 512
pwrite(12, "\200\0\0\22\0\f\0\f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512, 2048) = 512
time(NULL)                              = 1392552763
io_submit(140435475795968, 1, {...})    = -1 EINVAL (Invalid argument)
time([1392552763])                      = 1392552763
write(2, "2014-02-16 22:42:43 7fb9aea4d780", 322014-02-16 22:42:43 7fb9aea4d780) = 32


According to man io_submit:

       EINVAL The AIO context specified by ctx_id is invalid.  nr is less than 0.  The iocb at *iocbpp[0] is not properly initialized, or the operation specified is  invalid  for
              the file descriptor in the iocb.

There are other calls to io_submit further back in the strace that succeed.

As far as I can tell this call is made on line approx 4461 of storage/innobase/os/os0file.cc

Having not used aio before my debugging kind of stops there...


References