Bug #10714 Inserting double value into utf8 column crashes server
Submitted: 18 May 2005 15:28 Modified: 3 Jun 2005 23:41
Reporter: Dean Ellis Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S1 (Critical)
Version:4.1.12 OS:Microsoft Windows (Windows)
Assigned to: Alexander Barkov CPU Architecture:Any

[18 May 2005 15:28] Dean Ellis
Description:
Inserting a double value into a utf8 column crashes mysqld.

Crashes under Windows; cannot repeat in Linux.

How to repeat:
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( a VARCHAR(255) ) DEFAULT CHARSET utf8;
INSERT INTO t1 VALUES ( 1.0 );

Suggested fix:
n/a
[19 May 2005 7:04] Alexander Barkov
Does not crash on my FreeBSD box.  Also, I found a strange fact:
on my FreeBSD box (unlike Windows), execusions follows through
Item_real::save_in_field(), not through Item_int::save_in_field().

#0  Field_string::store (this=0x839e408, nr=-nan(0x8000000000000))
    at field.h:908
#1  0x0805687d in Item_real::save_in_field (this=0xa288110, field=0x97e0d28)
    at item.cc:1951
#2  0x081106a4 in fill_record (ptr=0x97e0d0c, values=@0x839e408,
    ignore_errors=false) at sql_base.cc:2815
#3  0x0813020e in mysql_insert (thd=0xa26e018, table_list=0xa288098,
    fields=@0xa26e328, values_list=@0xa26e34c, update_fields=@0xa26e340,
    update_values=@0xa26e334, duplic=DUP_ERROR, ignore=false)
    at sql_insert.cc:280
#4  0x080f2c96 in mysql_execute_command (thd=0xa26e018) at sql_parse.cc:2784
#5  0x080f6541 in mysql_parse (thd=0xa26e018,
    inBuf=0xa288028 "INSERT INTO t1 VALUES ( 1.0 )", length=170319956)
    at sql_parse.cc:4189
#6  0x080ef59c in dispatch_command (command=COM_QUERY, thd=0xa26e018,
    packet=0xa272019 "INSERT INTO t1 VALUES ( 1.0 )", packet_length=30)
    at sql_parse.cc:1505
#7  0x080eee82 in do_command (thd=0xa26e018) at sql_parse.cc:1318
#8  0x080ee2f8 in handle_one_connection (arg=0x839e408) at sql_parse.cc:1050
#9  0x285d739f in pthread_mutexattr_init () from /usr/lib/libpthread.so.1
#10 0x0a26e018 in ?? ()
[3 Jun 2005 4:41] Bugs System
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/internals/25549
[3 Jun 2005 5:31] Alexander Barkov
Fixed in 4.1.13
[3 Jun 2005 23:41] Paul Dubois
Noted in 4.1.13 changelog.