List:General Discussion« Previous MessageNext Message »
From:Michael Widenius Date:December 27 1999 11:07pm
Subject:mysqld crashing - pure virtual method called.
View as plain text  
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.
Thread
mysqld crashing - pure virtual method called.jshelman8 Dec
  • Re: mysqld crashing - pure virtual method called.Sasha Pachev8 Dec
  • Internet Broken?Van8 Dec
    • Re: Internet Broken?Jeremy A Horland8 Dec
    • RE: Internet Broken?Bill Gerrard8 Dec
      • RE: Internet Broken?(Brandon Shuey)8 Dec
  • Re: mysqld crashing - pure virtual method called.Jeff Shelman9 Dec
  • Re: mysqld crashing - pure virtual method called.Sasha Pachev9 Dec
  • mysqld crashing - pure virtual method called.Michael Widenius28 Dec