Bug #28046 Falcon crash on update of non PK column, if PK is auto_increment

Submitted: 23 Apr 2007 21:12
Reporter: Hakan Küçükyılmaz Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S3 (Non-critical)
Version:6.0.0-alpha OS:Any
Assigned to: CPU Architecture:Any

[23 Apr 2007 21:12] Hakan Küçükyılmaz
Description:
Assertion is:

Program received signal SIGABRT, Aborted.
0xffffe410 in ?? ()
(gdb) where
0 0xffffe410 in ?? ()
1 0x4229138c in ?? ()
0000002 0x00000006 in ?? ()
0000003 0x40158b75 in abort () from /lib/tls/libc.so.6
0000004 0x40150903 in __assert_fail () from /lib/tls/libc.so.6
0000005 0x0824abdb in Field_longlong::val_int (this=0x9491ec0) at field.cc:3792
0000006 0x086b225b in NfsStorageTable::update_row (this=0x9491d60,
    oldData=0x9491e98 "&65533;030", newData=0x9491e80 "&65533;030") at ha_falcon.cpp:544
0000007 0x0835c4c9 in handler::ha_update_row (this=0x9491d60,
    old_data=0x9491e98 "&65533;030", new_data=0x9491e80 "&65533;030") at handler.cc:3359
0000008 0x082fe811 in mysql_update (thd=0x93fff98, table_list=0x9431448,
    fields=@0x94002f4, values=@0x94004c8, conds=0x0, order_num=0, order=0x0,
    limit=18446744073709551615, handle_duplicates=DUP_ERROR, ignore=false)
    at sql_update.cc:528
0000009 0x0828f47d in mysql_execute_command (thd=0x93fff98) at sql_parse.cc:3260
0000010 0x08296072 in mysql_parse (thd=0x93fff98,
    inBuf=0x94313c0 "update t1 set parent_id=parent_id+100", length=37)
    at sql_parse.cc:5947
0000011 0x0828bbfd in dispatch_command (command=COM_QUERY, thd=0x93fff98,
    packet=0x9429361 "update t1 set parent_id=parent_id+100", packet_length=38)
    at sql_parse.cc:1764
0000012 0x0828b46c in do_command (thd=0x93fff98) at sql_parse.cc:1550
0000013 0x0828a5ea in handle_one_connection (arg=0x93fff98) at sql_parse.cc:1190
---Type <return> to continue, or q <return> to quit---
0000014 0x40253aa7 in start_thread () from /lib/tls/libpthread.so.0
0000015 0x401e9c2e in clone () from /lib/tls/libc.so.6
(gdb)

How to repeat:
drop table if exists t1;
# If I remove the auto_increment, the crash on the update disappers
CREATE TABLE t1 (
id BIGINT NOT NULL auto_increment,
parent_id BIGINT,
PRIMARY KEY (id)
) engine=Falcon;
INSERT INTO t1 VALUES (9,2),(24,4);
# This UPDATE gets a crash
update t1 set parent_id=parent_id+100;
---> crash
mysqld: field.cc:3792: virtual longlong Field_longlong::val_int(): Assertion `!t
able || (!table->read_set || bitmap_is_set(table->read_set, field_index))' failed.
[23 Apr 2007 21:12] Hakan Küçükyılmaz
Test case is falcon_bug_28046.test.

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.051 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.