Breakpoint 2, drizzled::Item_func_hour::val_int (this=0x2e4d748)
at drizzled/function/time/hour.cc:86
86 if (! temporal_datetime.from_string(res->c_ptr(), res->length()))
(gdb) c
Continuing.
Hardware watchpoint 4: *((int*)0x2e4fcea)
Old value = 19
New value = 0
memcpy () at ../sysdeps/x86_64/memcpy.S:120
120 ../sysdeps/x86_64/memcpy.S: No such file or directory.
in ../sysdeps/x86_64/memcpy.S
(gdb) list
115 in ../sysdeps/x86_64/memcpy.S
(gdb) bt
#0 memcpy () at ../sysdeps/x86_64/memcpy.S:120
#1 0x000000000081c89f in drizzled::Table::restoreRecordAsDefault (
this=0x2f1ac00) at drizzled/table.cc:1864
#2 0x000000000081c8c0 in drizzled::Table::emptyRecord (this=0x2f1ac00)
at drizzled/table.cc:1873
#3 0x0000000000773fe6 in drizzled::ReadRecord::init_read_record (
this=0x2e2ba98, session_arg=0x2e4c1d0, table_arg=0x2f1ac00,
select_arg=0x2e2bcb0, use_record_cache=1, print_error_arg=true)
at drizzled/records.cc:89
#4 0x00000000007c5c83 in drizzled::join_init_read_record (tab=0x2e2ba10)
at drizzled/sql_select.cc:3967
#5 0x00000000007c4ac0 in drizzled::sub_select (join=0x2e4da30,
join_tab=0x2e2ba10, end_of_records=false) at drizzled/sql_select.cc:3563
#6 0x00000000007c46bf in drizzled::do_select (join=0x2e4da30,
fields=0x2e4cf40, table=0x0) at drizzled/sql_select.cc:3333
#7 0x00000000006f2d0f in drizzled::Join::exec (this=0x2e4da30)
at drizzled/join.cc:1695
#8 0x00000000007bd91b in drizzled::mysql_select (session=0x2e4c1d0,
rref_pointer_array=0x2e4d000, tables=0x2e4d860, wild_num=0, fields=...,
conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0,
select_options=2147500032, result=0x2e4da10, unit=0x2e4cc48,
select_lex=0x2e4ce48) at drizzled/sql_select.cc:427
#9 0x00000000007bd1f1 in drizzled::handle_select (session=0x2e4c1d0,
lex=0x2e4cc28, result=0x2e4da10, setup_tables_done_option=0)
at drizzled/sql_select.cc:146
#10 0x00000000007b98d8 in drizzled::execute_sqlcom_select (session=0x2e4c1d0,
all_tables=0x2e4d860) at drizzled/sql_parse.cc:544
#11 0x0000000000812e7f in drizzled::statement::Select::execute (this=0x2e50080)
at drizzled/statement/select.cc:32
#12 0x00000000007b9463 in mysql_execute_command (session=0x2e4c1d0)
at drizzled/sql_parse.cc:479
#13 0x00000000007ba1b2 in drizzled::mysql_parse (session=0x2e4c1d0,
inBuf=0x29a5038 "SELECT HOUR(blob_fld) FROM t1", length=29)
at drizzled/sql_parse.cc:750
#14 0x00000000007b8dfd in drizzled::dispatch_command (
command=drizzled::COM_QUERY, session=0x2e4c1d0, packet=0x2f24ba1 "",
packet_length=29) at drizzled/sql_parse.cc:224
#15 0x000000000077c7e1 in drizzled::Session::executeStatement (this=0x2e4c1d0)
at drizzled/session.cc:666
#16 0x000000000077c0ab in drizzled::Session::run (this=0x2e4c1d0)
at drizzled/session.cc:522
#17 0x00007ffff2e94b54 in MultiThreadScheduler::runSession (this=0x1956a00,
session=0x2e4c1d0) at ./plugin/multi_thread/multi_thread.h:67
#18 0x00007ffff2e929e2 in session_thread (arg=0x2e4c1d0)
at plugin/multi_thread/multi_thread.cc:52
#19 0x00007ffff5f369ca in start_thread (arg=<value optimized out>)
at pthread_create.c:300
#20 0x00007ffff5c936fd in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#21 0x0000000000000000 in ?? ()
Adding a comment to remember where I'm at in debugging:
So initially I thought it was conversion to a string that may be overwriting the record buffer, but it looks like the problem may be within table.cc:
(gdb) c
Continuing.
Breakpoint 3, drizzled: :Field_ blob::val_ str (this=0x2f1cfe8, val_ptr=0x2e4d668) field/blob. cc:325 &blob,ptr+ packlength, sizeof( char*)) ;
at drizzled/
325 memcpy(
(gdb) p this->ptr
$13 = (unsigned char *) 0x2e4fcde "\023"
(gdb) x/40xb 0x2e4fcde
0x2e4fcde: 0x13 0x00 0x00 0x00 0x56 0x00 0x13 0x03
0x2e4fce6: 0x00 0x00 0x00 0x00 0x13 0x00 0x00 0x00 <-- 0x13 is the length of blob field
0x2e4fcee: 0x6a 0x00 0x13 0x03 0x00 0x00 0x00 0x00
0x2e4fcf6: 0x00 0x00 0xff 0x00 0x00 0x00 0x00 0x00
0x2e4fcfe: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
(gdb) watch *((int*)0x2e4fcea)
Hardware watchpoint 4: *((int*)0x2e4fcea)
(gdb) c
Continuing.
Breakpoint 2, drizzled: :Item_func_ hour::val_ int (this=0x2e4d748) function/ time/hour. cc:86 datetime. from_string( res->c_ ptr(), res->length()))
at drizzled/
86 if (! temporal_
(gdb) c
Continuing.
Hardware watchpoint 4: *((int*)0x2e4fcea)
Old value = 19 x86_64/ memcpy. S:120 x86_64/ memcpy. S: No such file or directory. x86_64/ memcpy. S x86_64/ memcpy. S x86_64/ memcpy. S:120 :Table: :restoreRecordA sDefault ( table.cc: 1864 :Table: :emptyRecord (this=0x2f1ac00) table.cc: 1873 :ReadRecord: :init_read_ record ( arg=0x2e4c1d0, table_arg= 0x2f1ac00, arg=0x2e2bcb0, use_record_cache=1, print_error_ arg=true) records. cc:89 :join_init_ read_record (tab=0x2e2ba10) sql_select. cc:3967 :sub_select (join=0x2e4da30, tab=0x2e2ba10, end_of_ records= false) at drizzled/ sql_select. cc:3563 0x2e4cf40, table=0x0) at drizzled/ sql_select. cc:3333 :Join:: exec (this=0x2e4da30) join.cc: 1695 :mysql_ select (session=0x2e4c1d0, pointer_ array=0x2e4d000 , tables=0x2e4d860, wild_num=0, fields=..., options= 2147500032, result=0x2e4da10, unit=0x2e4cc48, lex=0x2e4ce48) at drizzled/ sql_select. cc:427 :handle_ select (session=0x2e4c1d0, done_option= 0) sql_select. cc:146 :execute_ sqlcom_ select (session=0x2e4c1d0, tables= 0x2e4d860) at drizzled/ sql_parse. cc:544 :statement: :Select: :execute (this=0x2e50080) statement/ select. cc:32 command (session=0x2e4c1d0) sql_parse. cc:479 :mysql_ parse (session=0x2e4c1d0, sql_parse. cc:750 :dispatch_ command ( drizzled: :COM_QUERY, session=0x2e4c1d0, packet=0x2f24ba1 "", length= 29) at drizzled/ sql_parse. cc:224 :Session: :executeStateme nt (this=0x2e4c1d0) session. cc:666 :Session: :run (this=0x2e4c1d0) session. cc:522 duler:: runSession (this=0x1956a00, 0x2e4c1d0) at ./plugin/ multi_thread/ multi_thread. h:67 multi_thread/ multi_thread. cc:52 create. c:300 unix/sysv/ linux/x86_ 64/clone. S:112
New value = 0
memcpy () at ../sysdeps/
120 ../sysdeps/
in ../sysdeps/
(gdb) list
115 in ../sysdeps/
(gdb) bt
#0 memcpy () at ../sysdeps/
#1 0x000000000081c89f in drizzled:
this=0x2f1ac00) at drizzled/
#2 0x000000000081c8c0 in drizzled:
at drizzled/
#3 0x0000000000773fe6 in drizzled:
this=0x2e2ba98, session_
select_
at drizzled/
#4 0x00000000007c5c83 in drizzled:
at drizzled/
#5 0x00000000007c4ac0 in drizzled:
join_
#6 0x00000000007c46bf in drizzled::do_select (join=0x2e4da30,
fields=
#7 0x00000000006f2d0f in drizzled:
at drizzled/
#8 0x00000000007bd91b in drizzled:
rref_
conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0,
select_
select_
#9 0x00000000007bd1f1 in drizzled:
lex=0x2e4cc28, result=0x2e4da10, setup_tables_
at drizzled/
#10 0x00000000007b98d8 in drizzled:
all_
#11 0x0000000000812e7f in drizzled:
at drizzled/
#12 0x00000000007b9463 in mysql_execute_
at drizzled/
#13 0x00000000007ba1b2 in drizzled:
inBuf=0x29a5038 "SELECT HOUR(blob_fld) FROM t1", length=29)
at drizzled/
#14 0x00000000007b8dfd in drizzled:
command=
packet_
#15 0x000000000077c7e1 in drizzled:
at drizzled/
#16 0x000000000077c0ab in drizzled:
at drizzled/
#17 0x00007ffff2e94b54 in MultiThreadSche
session=
#18 0x00007ffff2e929e2 in session_thread (arg=0x2e4c1d0)
at plugin/
#19 0x00007ffff5f369ca in start_thread (arg=<value optimized out>)
at pthread_
#20 0x00007ffff5c936fd in clone ()
at ../sysdeps/
#21 0x0000000000000000 in ?? ()