selecting transaction_log record that does not exist crashes server
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Drizzle |
Fix Released
|
Medium
|
David Shrewsbury | ||
7.0 |
Fix Released
|
Medium
|
David Shrewsbury |
Bug Description
starting the server with --transaction_
jdaly@rx7:
Welcome to the Drizzle client.. Commands end with ; or \g.
Your Drizzle connection id is 2
Server version: 2010.08.1689 Source distribution (transaction_
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
drizzle> use test;
Database changed
drizzle> CREATE TABLE t1(a INT NOT NULL AUTO_INCREMENT, b INT NOT NULL, PRIMARY KEY(a), KEY b_key1 (b));
Query OK, 0 rows affected (0.1 sec)
drizzle> SELECT PRINT_TRANSACTI
heres the stack:
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5ca2014 in memcpy () from /lib/libc.so.6
(gdb) where
#0 0x00007ffff5ca2014 in memcpy () from /lib/libc.so.6
#1 0x00007ffff72425a6 in google:
this=0xeee780, buffer=
at /usr/include/
#2 0x00007ffff0b7740e in PrintTransactio
this=0x1af89a8, str=0x7fffe052f050)
at plugin/
#3 0x000000000067dfa5 in drizzled:
client=
#4 0x000000000079d855 in drizzled:
items=...) at ./drizzled/
#5 0x00000000006d78e0 in drizzled:
at drizzled/
#6 0x000000000079e503 in drizzled:
rref_
conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0,
select_
select_
#7 0x000000000079ddd9 in drizzled:
lex=0x1af30b8, result=0x1af8eb8, setup_tables_
at drizzled/
#8 0x000000000079a5eb in drizzled:
all_
---Type <return> to continue, or q <return> to quit---
#9 0x00000000007f2fd7 in drizzled:
at drizzled/
#10 0x000000000079a188 in mysql_execute_
at drizzled/
#11 0x000000000079ae7e in drizzled:
inBuf=0x1af9f78 "SELECT PRINT_TRANSACTI
at drizzled/
#12 0x0000000000799b21 in drizzled:
command=
packet_
#13 0x000000000075ea37 in drizzled:
at drizzled/
#14 0x000000000075e335 in drizzled:
at drizzled/
#15 0x00007ffff24a76c0 in MultiThreadSche
session=
#16 0x00007ffff24a56d2 in session_thread (arg=0x1af2630)
at plugin/
#17 0x00007ffff5fa49ca in start_thread () from /lib/libpthread
#18 0x00007ffff5d016fd in clone () from /lib/libc.so.6
#19 0x0000000000000000 in ?? ()
Related branches
- Drizzle Merge Team: Pending requested
-
Diff: 65 lines (+24/-0)1 file modifiedplugin/transaction_log/print_transaction_message.cc (+24/-0)
Changed in drizzle: | |
assignee: | nobody → Joe Daly (skinny.moey) |
Changed in drizzle: | |
status: | New → Incomplete |
Changed in drizzle: | |
importance: | Undecided → Medium |
assignee: | Joe Daly (skinny.moey) → David Shrewsbury (dshrews) |
milestone: | none → 2010-09-27 |
Hi Everyone,
I am hesitant to confirm this because of the: ON_MESSAGE does not exist' message.
'ERROR 1305 (42000): FUNCTION PRINT_TRANSACTI
I am thinking maybe I didn't do it right or I don't have something installed.
I gave this about 5 tries. 4 out of 5 of them resulted in the error mentioned above, and 1 resulted in: state_read: lost connection to server (EOF).
drizzle_
The following is what I see. Let me know what you think and if I should change the status.
Cheers!
Travis
// START THE SERVER:
[tdavies@Molly sbin]$ ls log.file ./myfile.
drizzled
[tdavies@Molly sbin]$ ./drizzled --transaction-
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins.
100906 13:22:30 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
100906 13:22:30 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
100906 13:22:30 InnoDB Plugin 1.0.4 started; log sequence number 47142
Listening on 0.0.0.0:4427
Listening on :::4427
Listening on 0.0.0.0:3306
Listening on :::3306
./drizzled: Forcing close of thread 0 user: ''
./drizzled: ready for connections.
Version: '2010.09.1746' Source distribution (drizzle_latest)
// RUNNING COMMANDS:
drizzle> create database test;
Query OK, 1 row affected (0 sec)
drizzle> use test;
ERROR 1049 (42000): Unknown database 'testl'
drizzle> drop database test;
Query OK, 0 rows affected (0 sec)
drizzle> create database test;
Query OK, 1 row affected (0 sec)
drizzle> use test;
Database changed
drizzle> CREATE TABLE t1(a INT NOT NULL AUTO_INCREMENT, b INT NOT NULL, PRIMARY KEY(a), KEY b_key1 (b));
Query OK, 0 rows affected (0.04 sec)
drizzle> SELECT PRINT_TRANSACTI ON_MESSAGE( 'transaction. log',(select max(10) from DATA_DICTIONARY .TRANSACTION_ LOG_TRANSACTION S)); ON_MESSAGE does not exist
ERROR 1305 (42000): FUNCTION PRINT_TRANSACTI
drizzle>
// ON ANOTHER TRY... ON_MESSAGE( 'myfile' ,(select max(10) from DATA_DICTIONARY .TRANSACTION_ LOG_TRANSACTION S)); state_read: lost connection to server (EOF)
// THIS HAPPENED ONCE, AND HAVE YET TO SEE IT AGAIN.
drizzle> use test;
Database changed
drizzle> SELECT PRINT_TRANSACTI
ERROR:
drizzle_
No connection. Trying to reconnect...
Connection id: 2
Current database: test
ERROR 1305 (42000): FUNCTION PRINT_TRANSACTI ON_MESSAGE does not exist
drizzle>