Hi!
I was scanning old mails to check if we have any unsolved problems and
come across the belove mail message. Do you still have this problem
or have you managed to solve this?
You are right, the problem was in the automatic conversion of HEAP to MyISAM.
Anyway, the bug is already fixed in MySQL 3.23.7; I would however
suggest that you wait a couple of more days and upgrade to MySQL
3.23.8 instead :)
Regards,
Monty
PS: Starting next year we will create a new mailing list:
bugs@stripped ; To this list we will only accept bug reports,
posted with mysqlbug and with a repeatable example. All MySQL
developers will subscribe and read this list! This will ensure that
all posted bugs will get solved quickly!
>>>>> "jshelman" == jshelman <jshelman@stripped> writes:
>> Description:
jshelman> Using GROUP BY on many columns (5+) on a medium sized (~180,000 rows) table
> causes
jshelman> mysqld to crash with the error: pure virtual method called.
jshelman> Ouput from gdb:
jshelman> /usr/local/lib/mysql/libexec/mysqld: ready for connections
jshelman> [New LWP 13 ]
jshelman> pure virtual method called
jshelman> [Switching to LWP 3 ]
jshelman> Program received signal SIGABRT, Aborted.
jshelman> 0xef6534d4 in __sigprocmask () from /usr/lib/libthread.so.1
jshelman> (gdb) bt
jshelman> #0 0xef6534d4 in __sigprocmask () from /usr/lib/libthread.so.1
jshelman> #1 0xef64b070 in _resetsig () from /usr/lib/libthread.so.1
jshelman> #2 0xef64a934 in _sigon () from /usr/lib/libthread.so.1
jshelman> #3 0xef64d548 in _thrp_kill () from /usr/lib/libthread.so.1
jshelman> #4 0xef5ba608 in abort () from /usr/lib/libc.so.1
jshelman> #5 0x12f094 in __default_terminate ()
jshelman> #6 0x12f0c4 in __terminate ()
jshelman> #7 0x12ee08 in __pure_virtual ()
jshelman> #8 0xb575c in end_write (join=0xef109508, join_tab=0x9da740,
jshelman> end_of_records=4010842496) at sql_select.cc:4041
jshelman> #9 0xb48b4 in sub_select (join=0xef109508, join_tab=0x9da628,
jshelman> end_of_records=4010842496) at sql_select.cc:3485
jshelman> #10 0xb4680 in do_select (join=0xef109508, fields=0x9da628, table=0x9eb738,
jshelman> procedure=0xb5620) at sql_select.cc:3403
jshelman> #11 0xad4ac in mysql_select (thd=0x1d1a90, tables=0x9da1f0, fields=@0x1d1ce0,
>
jshelman> conds=0x0, order=0x0, group=0x9da278, having=0x0, proc_param=0x0,
jshelman> select_options=37888, result=0x9da470) at sql_select.cc:523
jshelman> #12 0x971fc in mysql_execute_command () at sql_parse.cc:749
jshelman> #13 0x98a40 in mysql_parse (thd=0x1d1a90,
jshelman> inBuf=0x9d9ea8 "SELECT rpt_date, workweek, shift, mode, tester FROM
> shift_timeon_rpt GROUP BY rpt_date,workweek,shift,tester,mode LIMIT 10", length=123)
jshelman> at sql_parse.cc:1494
jshelman> #14 0x967f8 in do_command (thd=0x1d1a90) at sql_parse.cc:482
jshelman> #15 0x960b4 in handle_one_connection (arg=0x1d1a90) at sql_parse.cc:312
>> How-To-Repeat:
jshelman> Load a table similiar to the following with alot of data...
jshelman> CREATE TABLE shift_timeon_rpt (
jshelman> rpt_date DATETIME NOT NULL,
jshelman> workweek TINYINT(2) NOT NULL,
jshelman> shift CHAR(1) NOT NULL,
jshelman> tester VARCHAR(10) NOT NULL,
jshelman> mode VARCHAR(20) NOT NULL,
jshelman> duration INT(10) NOT NULL DEFAULT -1,
jshelman> UNIQUE(rpt_date, tester, mode)
jshelman> );
jshelman> Execute: SELECT rpt_date, workweek, shift, mode, tester FROM
> shift_timeon_rpt GROUP BY rpt_date,workweek,shift,tester,mode LIMIT 10; (HAVING left out
> for simplicity.)
jshelman> mysqld will crash.
>> Fix:
jshelman> I found that by increasing the mysqld server option "max_heap_table_size" to
> 32M from the default of 16M alleviated the problem. It looks like the automatic conversion
> from HEAP to MYISAM when the table gets to large may be failing?
>> Submitter-Id: jshelman@stripped
>> Originator:
>> MySQL support: none
>> Synopsis:
>> Severity: serious
>> Priority: high
>> Category: mysql
>> Class: sw-bug
>> Release: mysql-3.23.6-alpha (Source distribution)
>> Server: ./mysqladmin Ver 7.12 Distrib 3.23.6-alpha, for sun-solaris2.5.1 on
> sparc
jshelman> TCX Datakonsult AB, by Monty
jshelman> Server version 3.23.6-alpha-debug
jshelman> Protocol version 10
jshelman> Connection Localhost via UNIX socket
jshelman> UNIX socket /tmp/mysql.sock
jshelman> Uptime: 4 hours 10 min 31 sec
jshelman> Threads: 4 Questions: 155957 Slow queries: 13 Opens: 69 Flush tables: 1
> Open tables: 59
>> Environment:
jshelman> System: SunOS parfs4 5.5.1 Generic_103640-21 sun4u sparc SUNW,Ultra-2
jshelman> Architecture: sun4
jshelman> Some paths: /usr/local/bin/perl /opt/gnu/bin/make /opt/gnu/bin/gmake
> /vol/spectek/sun4-sunos5.5.1/bin/gcc /usr/ucb/cc
jshelman> GCC: Reading specs from
> /vol/spectek/sun4-sunos5.5.1/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.2/specs
jshelman> gcc version 2.95.2 19991024 (release)
jshelman> Compilation info: CC='gcc' CFLAGS='-O6' CXX='gcc' CXXFLAGS='-O6
> -felide-constructors -fno-exceptions -fno-rtti' LDFLAGS=''
jshelman> LIBC:
jshelman> -rw-r--r-- 1 bin 1160668 Jul 24 1998 /lib/libc.a
jshelman> lrwxrwxrwx 1 root 11 Oct 2 1998 /lib/libc.so -> ./libc.so.1
jshelman> -rwxr-xr-x 1 bin 665484 Jul 24 1998 /lib/libc.so.1
jshelman> -rw-r--r-- 1 bin 1160668 Jul 24 1998 /usr/lib/libc.a
jshelman> lrwxrwxrwx 1 root 11 Oct 2 1998 /usr/lib/libc.so ->
> ./libc.so.1
jshelman> -rwxr-xr-x 1 bin 665484 Jul 24 1998 /usr/lib/libc.so.1
jshelman> Configure command: ./configure --prefix=/usr/local/lib/mysql --with-debug
> --localstatedir=/data
jshelman> Perl: This is perl, version 5.004_04 built for sun4-solaris
jshelman> ---------------------------------------------------------------------
jshelman> Please check "http://www.mysql.com/Manual_chapter/manual_toc.html" before
jshelman> posting. To request this thread, e-mail mysql-thread20535@stripped
jshelman> To unsubscribe, send a message to the address shown in the
jshelman> List-Unsubscribe header of this message. If you cannot see it,
jshelman> e-mail mysql-unsubscribe@stripped instead.