Bug #15891 | Current 5.1 fails for NDB tests | ||
---|---|---|---|
Submitted: | 20 Dec 2005 15:01 | Modified: | 20 Dec 2005 20:09 |
Reporter: | Ingo Strüwing | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Cluster: Cluster (NDB) storage engine | Severity: | S2 (Serious) |
Version: | 5.1.4 | OS: | Linux (Linux) |
Assigned to: | Magnus Blåudd | CPU Architecture: | Any |
[20 Dec 2005 15:01]
Ingo Strüwing
[20 Dec 2005 19:23]
Magnus Blåudd
If debug compiled mysql server will crash on the DBUG_ASSER(FALSE) at line 1361 in ha_ndbcluster.cc static void shrink_varchar(Field* field, const byte* & ptr, char* buf) { if (field->type() == MYSQL_TYPE_VARCHAR && ptr != NULL) { Field_varstring* f= (Field_varstring*)field; if (f->length_bytes == 1) { uint pack_len= field->pack_length(); DBUG_ASSERT(1 <= pack_len && pack_len <= 256); if (ptr[1] == 0) { buf[0]= ptr[0]; } else { DBUG_ASSERT(FALSE); buf[0]= 255; } memmove(buf + 1, ptr + 2, pack_len - 1); ptr= buf; } } } gdb stacktrace: (gdb) where #0 0x00f81402 in __kernel_vsyscall () #1 0x0067655f in pthread_kill () from /lib/libpthread.so.0 #2 0x08347a58 in write_core (sig=6) at stacktrace.c:220 #3 0x081f9e07 in handle_segfault (sig=6) at mysqld.cc:2117 #4 <signal handler called> #5 0x00f81402 in __kernel_vsyscall () #6 0x00373118 in raise () from /lib/libc.so.6 #7 0x00374888 in abort () from /lib/libc.so.6 #8 0x0036c2f5 in __assert_fail () from /lib/libc.so.6 #9 0x0839591b in shrink_varchar (field=0xaa1e540, ptr=@0x6af290, buf=0x6af190 "\uffff\uffff\uffff\uffff\uffff\uffff\uffff\uffff\002") at ha_ndbcluster.cc:1361 #10 0x083959d2 in ha_ndbcluster::set_primary_key (this=0xa9e85b8, op=0xaa20bd8, key=0xa9e9360 '\uffff' <repeats 104 times>, "h4z\025\201") at ha_ndbcluster.cc:1382 #11 0x0839961a in ha_ndbcluster::pk_read (this=0xa9e85b8, key=0xa9e9360 '\uffff' <repeats 104 times>, "h4z\025\201", key_len=52, buf=0xaa1e4a0 "", part_id=0) at ha_ndbcluster.cc:1510 #12 0x0839a3f6 in ha_ndbcluster::rnd_pos (this=0xa9e85b8, buf=0xaa1e4a0 "", pos=0xa9e9360 '\uffff' <repeats 104 times>, "h4z\025\201") at ha_ndbcluster.cc:2980 #13 0x082de45b in rr_from_pointers (info=0xa9eb2b4) at records.cc:446 #14 0x0826a043 in join_init_read_record (tab=0xa9eb278) at sql_select.cc:10306 #15 0x0826717e in sub_select (join=0xa9ea000, join_tab=0xa9eb278, end_of_records=false) at sql_select.cc:9694 #16 0x082674f6 in do_select (join=0xa9ea000, fields=0xa941368, table=0x0, procedure=0x0) at sql_select.cc:9458 #17 0x0827a3c2 in JOIN::exec (this=0xa9ea000) at sql_select.cc:1733 #18 0x0827a73a in mysql_select (thd=0xa941068, rref_pointer_array=0xa941404, tables=0xa9e9d08, wild_num=1, fields=@0xa941368, conds=0x0, og_num=1, order=0xa9e9f70, group=0x0, having=0x0, proc_param=0x0, select_options=2189707776, result=0xa9e9ff0, unit=0xa9410b8, select_lex=0xa9412e4) at sql_select.cc:1897 #19 0x0827aa16 in handle_select (thd=0xa941068, lex=0xa9410a8, result=0xa9e9ff0, setup_tables_done_option=0) at sql_select.cc:250 #20 0x08215e70 in mysql_execute_command (thd=0xa941068) at sql_parse.cc:2491 #21 0x0821e691 in mysql_parse (thd=0xa941068, inBuf=0xa9e9bf8 "select * from t1 order by f1", length=28) at sql_parse.cc:5626 #22 0x0821f0db in dispatch_command (command=COM_QUERY, thd=0xa941068, packet=0xa9e1b99 "", packet_length=29) at sql_parse.cc:1708 #23 0x08220697 in do_command (thd=0xa941068) at sql_parse.cc:1509 #24 0x08220aa0 in handle_one_connection (arg=0xa941068) at sql_parse.cc:1152
[20 Dec 2005 20:09]
Magnus Blåudd
Pushed to 5.1.4
[21 Dec 2005 10:10]
Magnus Blåudd
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/300