Processed: Re: Bug#383759: Another backtrace
Processing commands for [EMAIL PROTECTED]: > retitle 383759 libmysqlclient15off needs at least pentium cpu Bug#383759: exim4-daemon-heavy: "illegal instruction" when executing on 100 MHz Cyrix CPU Changed Bug title. > tags 383759 + confirmed wontfix upstream Bug#383759: libmysqlclient15off needs at least pentium cpu There were no tags set. Tags added: confirmed, wontfix, upstream > forwarded 383759 http://bugs.mysql.com/bug.php?id=21765 Bug#383759: libmysqlclient15off needs at least pentium cpu Noted your statement that Bug has been forwarded to http://bugs.mysql.com/bug.php?id=21765. > stop Stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#383759: Another backtrace
retitle 383759 libmysqlclient15off needs at least pentium cpu tags 383759 + confirmed wontfix upstream forwarded 383759 http://bugs.mysql.com/bug.php?id=21765 stop Hello Yavor Thanks a lot for your work on the backtraces, I guess the last one cleared the issue: On 2006-08-21 Yavor Doganov wrote: > Program received signal SIGILL, Illegal instruction. > [Switching to Thread -1486767808 (LWP 25270)] > 0xa7c4dbb0 in CpuId (input=0, output=0xafd6ab60) at integer.cpp:1025 On that line in extras/yassl/taocrypt/src/integer.cpp the following source code is found: static void CpuId(word32 input, word32 *output) { #ifdef __GNUC__ __asm__ ( // save ebx in case -fPIC is being used "push %%ebx; cpuid; mov %%ebx, %%edi; pop %%ebx" : "=a" (output[0]), "=D" (output[1]), "=c" (output[2]), "=d"(output[3]) : "a" (input) ); #else The "cpuid" instruction was not fully implemented in early Cyrix CPUs though (I was already wondering why your /proc/cpuinfo says "model name: 486" even your cpu was supposed to be a Pentium clone..). http://www.pcguide.com/ref/cpu/fam/g5C6x86-c.html says: "Processor Identification Problems: In addition to programs that won't work with the 6x86, there are those that would work with the 6x86 if only they knew what it was. There is a special instruction called "CPUID" that is used to identify the make and model of the processor. Some programs use this to detect if the computer is running on a Pentium, and will refuse to run (or run in a reduced mode) if they don't find one. These tests were originally used by software requiring a lot of power, to distinguish between Pentiums and 486s (which the software would be too slow to run on). The 6x86 by default does not respond to the "CPUID" instruction so some programs think it is a 486." So in the end you might hope that MySQL do a work around for the Cyrix or i486 in general but I would not be so optimistic about it which I tagged the bug report as "wontfix" until I get better news :) bye, -christian- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#383759: Another backtrace
Robert Millan wrote: > > It seems that DEB_BUILD_OPTIONS=nostrip didn't suffice. Perhaps > debian/rules doesn't export a CFLAGS with "-g" ? Of course you are right. Here's another attempt: (gdb) r -C /dev/null -bV Starting program: /usr/sbin/exim4 -C /dev/null -bV [Thread debugging using libthread_db enabled] [New Thread -1486767808 (LWP 25270)] Program received signal SIGILL, Illegal instruction. [Switching to Thread -1486767808 (LWP 25270)] 0xa7c4dbb0 in CpuId (input=0, output=0xafd6ab60) at integer.cpp:1025 1025integer.cpp: No such file or directory. in integer.cpp Current language: auto; currently c++ (gdb) bt #0 0xa7c4dbb0 in CpuId (input=0, output=0xafd6ab60) at integer.cpp:1025 #1 0xa7c4e82c in SetPentiumFunctionPointers () at integer.cpp:1092 #2 0xa7c4e8d5 in __static_initialization_and_destruction_0 ( __initialize_p=, __priority=-1344885920) at integer.cpp:1173 #3 0xa7c5c4e2 in __do_global_ctors_aux () from /usr/lib/libmysqlclient.so.15 #4 0xa7be7e11 in _init () from /usr/lib/libmysqlclient.so.15 #5 0xa7f63bd4 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2 #6 0xa7f63d11 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2 #7 0xa7f587ef in ?? () from /lib/ld-linux.so.2 I made another experiment: I built the mysql package on my desktop machine, which is Pentium MMX 233 MHz, and the backtrace is the same. This means, IMVHO, that it's not a bug in GCC but in MySQL's source code. I have to build it on the Cyrix or on a 486 to be absolutely sure. -- I had a very low opinion of TCL, basically because it wasn't Lisp. --RMS -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#383759: Another backtrace
On Sun, Aug 20, 2006 at 01:33:10AM +0300, Yavor Doganov wrote: > I rebuilt mysql-dfsg-5.0 5.0.22-4 with DEB_BUILD_OPTIONS=nostrip on a > Pentium IV and installed the unstripped libmysqlclient15off library. > The backtrace is different: > > (gdb) r -C /dev/null -bV > Starting program: /usr/sbin/exim4 -C /dev/null -bV > [Thread debugging using libthread_db enabled] > [New Thread -1486513856 (LWP 7626)] > > Program received signal SIGILL, Illegal instruction. > [Switching to Thread -1486513856 (LWP 7626)] > 0xa7c8bbb0 in TaoCrypt::CpuId () from /usr/lib/libmysqlclient.so.15 > (gdb) bt > #0 0xa7c8bbb0 in TaoCrypt::CpuId () from /usr/lib/libmysqlclient.so.15 > #1 0xa7c8c82c in TaoCrypt::SetPentiumFunctionPointers () >from /usr/lib/libmysqlclient.so.15 > #2 0xa7c8c8d5 in __static_initialization_and_destruction_0 () >from /usr/lib/libmysqlclient.so.15 > #3 0xa7c9a4e2 in __do_global_ctors_aux () from /usr/lib/libmysqlclient.so.15 > #4 0xa7c25e11 in _init () from /usr/lib/libmysqlclient.so.15 > #5 0xa7fa2bd4 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2 > #6 0xa7fa2d11 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2 > #7 0xa7f977ef in ?? () from /lib/ld-linux.so.2 > > But it really has to be something related to the CPU. The file > extra/yassl/taocrypt/src/integer.cpp contains some logic about it, but > I'm not a programmer so I can't figure it out. It seems that DEB_BUILD_OPTIONS=nostrip didn't suffice. Perhaps debian/rules doesn't export a CFLAGS with "-g" ? -- Robert Millan My spam trap is [EMAIL PROTECTED] Note: this address is only intended for spam harvesters. Writing to it will get you added to my black list. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#383759: Another backtrace
I rebuilt mysql-dfsg-5.0 5.0.22-4 with DEB_BUILD_OPTIONS=nostrip on a Pentium IV and installed the unstripped libmysqlclient15off library. The backtrace is different: (gdb) r -C /dev/null -bV Starting program: /usr/sbin/exim4 -C /dev/null -bV [Thread debugging using libthread_db enabled] [New Thread -1486513856 (LWP 7626)] Program received signal SIGILL, Illegal instruction. [Switching to Thread -1486513856 (LWP 7626)] 0xa7c8bbb0 in TaoCrypt::CpuId () from /usr/lib/libmysqlclient.so.15 (gdb) bt #0 0xa7c8bbb0 in TaoCrypt::CpuId () from /usr/lib/libmysqlclient.so.15 #1 0xa7c8c82c in TaoCrypt::SetPentiumFunctionPointers () from /usr/lib/libmysqlclient.so.15 #2 0xa7c8c8d5 in __static_initialization_and_destruction_0 () from /usr/lib/libmysqlclient.so.15 #3 0xa7c9a4e2 in __do_global_ctors_aux () from /usr/lib/libmysqlclient.so.15 #4 0xa7c25e11 in _init () from /usr/lib/libmysqlclient.so.15 #5 0xa7fa2bd4 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2 #6 0xa7fa2d11 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2 #7 0xa7f977ef in ?? () from /lib/ld-linux.so.2 But it really has to be something related to the CPU. The file extra/yassl/taocrypt/src/integer.cpp contains some logic about it, but I'm not a programmer so I can't figure it out. -- In the GNU Project, discrimination against proprietary software is not just a policy -- it's the principle and the purpose. Proprietary software is fundamentally unjust and wrong, so when we have the opportunity to place it at a disadvantage, that is a good thing. --RMS -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]