I have a gentoo64 stable system (no ~package) i installed from the package downloaded from firebird.sf.net the classic server 32bit and it worked like a charm without a single issue under all kernels up to 2.6.7-r14 when i switched to 2.6.8-r4 firebird did not start (kernel config files were the same). I just tried vanilla kernel 2.6.9-rc2 and it works again, so something between 2.6.7-r14 and 2.6.8-r4 broke it. Reproducible: Always Steps to Reproduce: 1.start firebird server (gds_inet_server) 2.try to connect to a db via /opt/interbase/isql 3. i acclude a strace of the server that i did with a 32bit strace executable (strace from gentoo64 was unable to show any result) execve("/opt/interbase/bin/gds_inet_server", ["/opt/interbase/bin/gds_inet_server"], [/* 41 vars */]) = 0 brk(0) = 0x8052000 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=85605, ...}) = 0 old_mmap(NULL, 85605, PROT_READ, MAP_PRIVATE, 3, 0) = 0x5556c000 close(3) = 0 open("/usr/lib/libgds.so", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\347"..., 512) = 512 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x5558 1000 fstat64(3, {st_mode=S_IFREG|0444, st_size=1622055, ...}) = 0 old_mmap(NULL, 1535784, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x555 82000 old_mmap(0x556ba000, 229376, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| MAP_DENYWRIT E, 3, 0x137000) = 0x556ba000 old_mmap(0x556f2000, 28456, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| MAP_ANONYMOUS , -1, 0) = 0x556f2000 close(3) = 0 open("/lib32/libdl.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\34"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=10972, ...}) = 0 old_mmap(NULL, 8632, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x556f90 00 old_mmap(0x556fb000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| MAP_DENYWRITE, 3, 0x2000) = 0x556fb000 close(3) = 0 open("/lib32/libcrypt.so.1", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\t\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=19340, ...}) = 0 old_mmap(NULL, 181436, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x556f c000 old_mmap(0x55701000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| MAP_DENYWRITE, 3, 0x4000) = 0x55701000 old_mmap(0x55702000, 156860, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| MAP_ANONYMOU S, -1, 0) = 0x55702000 close(3) = 0 open("/lib32/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000U\1\000"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1210656, ...}) = 0 old_mmap(NULL, 1140996, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x557 29000 old_mmap(0x5583a000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| MAP_DENYWRITE , 3, 0x110000) = 0x5583a000 old_mmap(0x5583d000, 10500, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED| MAP_ANONYMOUS , -1, 0) = 0x5583d000 close(3) = 0 munmap(0x5556c000, 85605) = 0 open("/dev/urandom", O_RDONLY) = 3 read(3, "\350\367\232\343", 4) = 4 close(3) = 0 brk(0) = 0x8052000 brk(0x8073000) = 0x8073000 open("/opt/interbase/isc_config", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0640, st_size=1020, ...}) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x5556 c000 read(3, "# This is a sample Firebird conf"..., 4096) = 1020 read(3, "", 4096) = 0 close(3) = 0 munmap(0x5556c000, 4096) = 0 getpid() = 7679 getpid() = 7679 rt_sigaction(SIGFPE, {0x5560ae50, [], SA_RESTART}, {SIG_DFL}, 8) = 0 uname({sys="Linux", node="Sandstorm", ...}) = 0 select(1, [0], NULL, NULL, {180, 0}) = 1 (in [0], left {176, 94000}) recv(0, 0x8066fee, 8192, 0) = -1 ENOTSOCK (Socket operation on non-socket ) gettimeofday({1095284278, 487392}, {4294967176, 0}) = 0 umask(0111) = 022 open("/opt/interbase/interbase.log", O_WRONLY|O_APPEND|O_CREAT, 0666) = 3 fstat64(3, {st_mode=S_IFREG|0666, st_size=2882, ...}) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x5556 c000 fstat64(3, {st_mode=S_IFREG|0666, st_size=2882, ...}) = 0 _llseek(3, 2882, [2882], SEEK_SET) = 0 open("/etc/localtime", O_RDONLY) = 4 fstat64(4, {st_mode=S_IFREG|0644, st_size=951, ...}) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x5556 d000 read(4, "TZif\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\6\0\0\0\6\0"..., 4096) = 951 close(4) = 0 munmap(0x5556d000, 4096) = 0 uname({sys="Linux", node="Sandstorm", ...}) = 0 write(3, "Sandstorm\tWed Sep 15 23:37:58 20"..., 70) = 70 close(3) = 0 munmap(0x5556c000, 4096) = 0 umask(022) = 0111 getpid() = 7679 exit_group(0) = ?
I have to ask you to investigate yourself, Francesco. The previous maintainer throw in the towel and I put my hands on it, to get new versions in and to deal with security issues, but a new maintainer still needs to be found. I have only a x86/2.4 kernel box, so I can't even test/verify.
Hi Carsten, problem is i havent a clue on what to do... i am a bit knowledgeable on x86 architecture (i.e. i can examine a bt or strace) but i am completely a newbie on amd64. Plus it works on 2.6.9-rc2 so it should be a problem in the patches for 2.6.8-r4 as i read that other 32bit apps fails with that kernel (it is said some x86_64.org patch broke it) regards
I wondered why you flagged this bug as a blocker originally Francesco. I highly doubt that you're testing on a production system - are you!? Comparing 2.6.9 vanilla and 2.6.8 gentoo doesn't help much imho. Could you test, if you can reproduce the problem with 2.6.8.1 vanilla, please? If not and the problem persists in 2.6.9 gentoo (when it's there), then it's probably worth digging into this issue.
Thanks that you're willing to maintain Firebird, Karol. Here's your bug. ;)
Hi Carsten, i can confirm that this bug does not happen with vanilla 2.6.8.1 as for the 'production' system let's draw a line over it! :-( i am not the sysadm of such a system and i had to pray to upgrade to 2.6.9-rc2 after i tried on another machine that it worked.
A lot of programs have this kind of problem, but i can't fix it. Anyway, it's working with kernel-2.6.9 so i think that this bug can be close.