Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.0(EOL), 10.1(EOL)
Description
10.0/sql/protocol.cc:522: void Protocol::end_statement(): Assertion `0' failed.
|
150424 18:45:26 [ERROR] mysqld got signal 6 ;
|
|
#6 0x00007f1cfb0c2311 in *__GI___assert_fail (assertion=0xee5f70 "0", file=<optimized out>, line=522, function=0xee7480 "void Protocol::end_statement()") at assert.c:81
|
#7 0x00000000005d36ab in Protocol::end_statement (this=0x7f1ce2bf85f8) at 10.0/sql/protocol.cc:522
|
#8 0x000000000067af47 in dispatch_command (command=COM_QUERY, thd=0x7f1ce2bf8070, packet=0x7f1ce2a18071 "CREATE VIEW v12 AS SELECT 1", packet_length=27) at 10.0/sql/sql_parse.cc:1721
|
#9 0x0000000000678eaf in do_command (thd=0x7f1ce2bf8070) at 10.0/sql/sql_parse.cc:996
|
#10 0x00000000007966bf in do_handle_one_connection (thd_arg=0x7f1ce2bf8070) at 10.0/sql/sql_connect.cc:1375
|
#11 0x0000000000796412 in handle_one_connection (arg=0x7f1ce2bf8070) at 10.0/sql/sql_connect.cc:1289
|
#12 0x00007f1cfcebcb50 in start_thread (arg=<optimized out>) at pthread_create.c:304
|
#13 0x00007f1cfb17295d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
|
Perl testcase |
# It assumes the debug server is running on port 3306.
|
# All default options are enough
|
|
use DBD::mysql;
|
use Carp;
|
|
my $pid = fork();
|
|
if ($pid) {
|
sleep 1;
|
my $dbh = DBI->connect("dbi:mysql:host=127.0.0.1:port=3306:user=root:database=test", undef, undef, { RaiseError => 1 } );
|
foreach (1..100) {
|
$dbh->do("CREATE OR REPLACE VIEW v AS SELECT 1");
|
}
|
$dbh->do("shutdown");
|
print "All done.\n";
|
}
|
elsif ($pid == 0) {
|
my $dbh = DBI->connect("dbi:mysql:host=127.0.0.1:port=3306:user=root:database=test", undef, undef, { RaiseError => 1 } );
|
sleep 2;
|
croak "$$ Aborting now";
|
}
|
|
else {
|
die "Could not fork";
|
}
|
Apparently the problem appeared in 10.0 tree with the following revision:
commit 919443f7a553534de38d40a5cdf50cd3660ace1a
|
Author: Sergei Golubchik <sergii@pisem.net>
|
Date: Mon Jan 19 16:11:48 2015 +0100
|
|
MDEV-5679 MariaDB holds stdin open after startup as mysqld
|
|
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
|
index e0eaf55..7138027 100644
|
--- a/sql/mysqld.cc
|
+++ b/sql/mysqld.cc
|
@@ -5527,6 +5527,7 @@ int mysqld_main(int argc, char **argv)
|
(char*) "" : mysqld_unix_port),
|
mysqld_port,
|
MYSQL_COMPILATION_COMMENT);
|
+ fclose(stdin);
|
#if defined(_WIN32) && !defined(EMBEDDED_LIBRARY)
|
Service.SetRunning();
|
#endif
|
Same happens on CREATE TRIGGER.
Attachments
Activity
Field | Original Value | New Value |
---|---|---|
Description |
{noformat} 10.0/sql/protocol.cc:522: void Protocol::end_statement(): Assertion `0' failed. 150424 18:45:26 [ERROR] mysqld got signal 6 ; #6 0x00007f1cfb0c2311 in *__GI___assert_fail (assertion=0xee5f70 "0", file=<optimized out>, line=522, function=0xee7480 "void Protocol::end_statement()") at assert.c:81 #7 0x00000000005d36ab in Protocol::end_statement (this=0x7f1ce2bf85f8) at 10.0/sql/protocol.cc:522 #8 0x000000000067af47 in dispatch_command (command=COM_QUERY, thd=0x7f1ce2bf8070, packet=0x7f1ce2a18071 "CREATE VIEW v12 AS SELECT 1", packet_length=27) at 10.0/sql/sql_parse.cc:1721 #9 0x0000000000678eaf in do_command (thd=0x7f1ce2bf8070) at 10.0/sql/sql_parse.cc:996 #10 0x00000000007966bf in do_handle_one_connection (thd_arg=0x7f1ce2bf8070) at 10.0/sql/sql_connect.cc:1375 #11 0x0000000000796412 in handle_one_connection (arg=0x7f1ce2bf8070) at 10.0/sql/sql_connect.cc:1289 #12 0x00007f1cfcebcb50 in start_thread (arg=<optimized out>) at pthread_create.c:304 #13 0x00007f1cfb17295d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 {noformat} {code:title=Perl testcase} # It assumes the debug server is running on port 3306. # All default options are enough use DBD::mysql; use Carp; my $pid = fork(); if ($pid) { sleep 1; my $dbh = DBI->connect("dbi:mysql:host=127.0.0.1:port=3306:user=root:database=test", undef, undef, { RaiseError => 1 } ); foreach (1..100) { $dbh->do("CREATE OR REPLACE VIEW v AS SELECT 1"); } $dbh->do("shutdown"); print "All done.\n"; } elsif ($pid == 0) { my $dbh = DBI->connect("dbi:mysql:host=127.0.0.1:port=3306:user=root:database=test", undef, undef, { RaiseError => 1 } ); sleep 2; croak "$$ Aborting now"; } else { die "Could not fork"; } {code} Apparently the problem appeared in 10.0 tree with the following revision: {noformat} commit 919443f7a553534de38d40a5cdf50cd3660ace1a Author: Sergei Golubchik <sergii@pisem.net> Date: Mon Jan 19 16:11:48 2015 +0100 diff --git a/sql/mysqld.cc b/sql/mysqld.cc index e0eaf55..7138027 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -5527,6 +5527,7 @@ int mysqld_main(int argc, char **argv) (char*) "" : mysqld_unix_port), mysqld_port, MYSQL_COMPILATION_COMMENT); + fclose(stdin); #if defined(_WIN32) && !defined(EMBEDDED_LIBRARY) Service.SetRunning(); #endif {noformat} |
{noformat} 10.0/sql/protocol.cc:522: void Protocol::end_statement(): Assertion `0' failed. 150424 18:45:26 [ERROR] mysqld got signal 6 ; #6 0x00007f1cfb0c2311 in *__GI___assert_fail (assertion=0xee5f70 "0", file=<optimized out>, line=522, function=0xee7480 "void Protocol::end_statement()") at assert.c:81 #7 0x00000000005d36ab in Protocol::end_statement (this=0x7f1ce2bf85f8) at 10.0/sql/protocol.cc:522 #8 0x000000000067af47 in dispatch_command (command=COM_QUERY, thd=0x7f1ce2bf8070, packet=0x7f1ce2a18071 "CREATE VIEW v12 AS SELECT 1", packet_length=27) at 10.0/sql/sql_parse.cc:1721 #9 0x0000000000678eaf in do_command (thd=0x7f1ce2bf8070) at 10.0/sql/sql_parse.cc:996 #10 0x00000000007966bf in do_handle_one_connection (thd_arg=0x7f1ce2bf8070) at 10.0/sql/sql_connect.cc:1375 #11 0x0000000000796412 in handle_one_connection (arg=0x7f1ce2bf8070) at 10.0/sql/sql_connect.cc:1289 #12 0x00007f1cfcebcb50 in start_thread (arg=<optimized out>) at pthread_create.c:304 #13 0x00007f1cfb17295d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 {noformat} {code:title=Perl testcase} # It assumes the debug server is running on port 3306. # All default options are enough use DBD::mysql; use Carp; my $pid = fork(); if ($pid) { sleep 1; my $dbh = DBI->connect("dbi:mysql:host=127.0.0.1:port=3306:user=root:database=test", undef, undef, { RaiseError => 1 } ); foreach (1..100) { $dbh->do("CREATE OR REPLACE VIEW v AS SELECT 1"); } $dbh->do("shutdown"); print "All done.\n"; } elsif ($pid == 0) { my $dbh = DBI->connect("dbi:mysql:host=127.0.0.1:port=3306:user=root:database=test", undef, undef, { RaiseError => 1 } ); sleep 2; croak "$$ Aborting now"; } else { die "Could not fork"; } {code} Apparently the problem appeared in 10.0 tree with the following revision: {noformat} commit 919443f7a553534de38d40a5cdf50cd3660ace1a Author: Sergei Golubchik <sergii@pisem.net> Date: Mon Jan 19 16:11:48 2015 +0100 diff --git a/sql/mysqld.cc b/sql/mysqld.cc index e0eaf55..7138027 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -5527,6 +5527,7 @@ int mysqld_main(int argc, char **argv) (char*) "" : mysqld_unix_port), mysqld_port, MYSQL_COMPILATION_COMMENT); + fclose(stdin); #if defined(_WIN32) && !defined(EMBEDDED_LIBRARY) Service.SetRunning(); #endif {noformat} Same happens on {{CREATE TRIGGER}}. |
Assignee | Sergei Golubchik [ serg ] | Elena Stepanova [ elenst ] |
Assignee | Elena Stepanova [ elenst ] | Sergei Golubchik [ serg ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Status | In Progress [ 3 ] | Stalled [ 10000 ] |
Component/s | Views [ 10111 ] | |
Fix Version/s | 10.0.18 [ 18702 ] | |
Fix Version/s | 10.1.5 [ 18813 ] | |
Fix Version/s | 10.0 [ 16000 ] | |
Fix Version/s | 10.1 [ 16100 ] | |
Resolution | Fixed [ 1 ] | |
Status | Stalled [ 10000 ] | Closed [ 6 ] |
Workflow | MariaDB v2 [ 60661 ] | MariaDB v3 [ 65497 ] |
Workflow | MariaDB v3 [ 65497 ] | MariaDB v4 [ 149086 ] |