Bug #30960 processlist state '*** DEAD ***' on recent 5.0.48 windows builds
| Submitted: | 11 Sep 2007 23:59 | Modified: | 15 Apr 2008 1:35 |
|---|---|---|---|
| Reporter: | Shane Bester (Platinum Quality Contributor) | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Information schema | Severity: | S3 (Non-critical) |
| Version: | 5.0.48 | OS: | Windows |
| Assigned to: | Davi Arnaut | CPU Architecture: | Any |
| Tags: | bfsm_2007_10_18, regression | ||
[12 Sep 2007 1:24]
MySQL Verification Team
Thank you for the bug report.
mysql> show processlist\G
*************************** 1. row ***************************
Id: 11
User: root
Host: localhost:49373
db: test
Command: Query
Time: 9
State: *** DEAD ***
Info: select max(updated) from bigtable
*************************** 2. row ***************************
Id: 12
User: root
Host: localhost:49721
db: test
Command: Query
Time: 0
State: NULL
Info: show processlist
2 rows in set (0.00 sec)
mysql> show variables like "%version%"
-> ;
+-------------------------+---------------------+
| Variable_name | Value |
+-------------------------+---------------------+
| protocol_version | 10 |
| version | 5.0.50-nt |
| version_comment | Source distribution |
| version_compile_machine | unknown |
| version_compile_os | Win64 |
+-------------------------+---------------------+
5 rows in set (0.00 sec)
mysql>
[12 Dec 2007 20:56]
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/commits/39824 ChangeSet@1.2578, 2007-12-12 15:53:46-05:00, iggy@amd64.(none) +1 -0 Bug#30960 processlist state '*** DEAD ***' on recent 5.0.48 windows builds - pthread_kill return values should only be checked on platforms that implement it.
[12 Dec 2007 21:36]
Sergei Golubchik
The code worked before. It was broken recently by the changeset jani@hynda.mysql.fi|ChangeSet|20070816142548|01030 -#define pthread_kill(A,B) pthread_dummy(0) +#define pthread_kill(A,B) pthread_dummy(ESRCH) in my_pthread.h note that pthread_dummy(X) is defined as 'return X' Now you need to ask Jani why he changed that. And revert the change if necessary.
[4 Feb 2008 15:48]
Magnus BlÄudd
The change Jani did looks fine to me. What was wrong with Iggy's last patch.
[19 Mar 2008 18:02]
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/commits/44250 ChangeSet@1.2599, 2008-03-19 15:01:03-03:00, davi@mysql.com +1 -0 Bug#30960 processlist state '*** DEAD ***' on recent 5.0.48 windows builds The problem is that unimplemented WIN32 version of pthread_kill is returning ESRCH no matter the arguments, causing calls to mysqld_list_processes to set the procinfo to dead because pthread_kill returns non zero. The dead procinfo would show up on a second invocation of show processlist.
[19 Mar 2008 18:42]
Davi Arnaut
Queued in 5.0-runtime
[26 Mar 2008 14:13]
Bugs System
Pushed into 5.1.24-rc
[26 Mar 2008 14:13]
Bugs System
Pushed into 5.0.60
[27 Mar 2008 17:49]
Bugs System
Pushed into 6.0.5-alpha
[15 Apr 2008 1:33]
Paul DuBois
Noted in 5.0.60, 5.1.24, 6.0.5 changelogs. On WIndows, SHOW PROCESSLIST could display process entries with a State value of *** DEAD ***.
[24 May 2008 0:10]
Andras Gyomrey
Hello, I'm sorry if this bug was corrected on version 5.0.51a on windows XPSP2. I can still reproduce it selecting a large amount of two tables using a left join on one of the key of them. Is that already fixed on a newer version?
[24 May 2008 3:32]
Paul DuBois
" [15 Apr 3:33] Paul DuBois Noted in 5.0.60, 5.1.24, 6.0.5 changelogs. On WIndows, SHOW PROCESSLIST could display process entries with a State value of *** DEAD ***. " So it's fixed in 5.0.60, 5.1.24, and 6.0.5.
[4 Jun 2008 15:55]
Tonci Grgin
Bug#37194 was marked as duplicate of this one.
[8 Jul 2008 13:00]
Jonatas Cruz
Hello Where can I get the version 5.0.60 ? The latest avalaible version is the 5.0.51b. Tks
[11 Dec 2008 11:30]
Andrej Pintar
I have 5.0.51b - nt version. Using Windows 2008 x64. And mysql version is also x64. So while using replication and looking at the process list BINLOG Dump goes **DEAD** every 2 times I refresh (Has sent..., refresh, DEAD, refresh, Has sent..) and so on. Is this normal. Could this slow down replication??
[5 Oct 2010 3:26]
Roel Van de Paar
This can apparently also show in SHOW ENGINE INNODB STATUS: MySQL thread id 329829, query id 3492843 server.somesite.com 10.0.0.1 root *** DEAD ***
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.086 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.
Description: I noticed this recently with my own 5.0BK, but thought it was a problem with my builds. Not sure if it's a bug or not. Opening this report in case some investigation is needed. Now I test official 5.0.48-enterprise builds, and see similar issues. Many queries show entry in processlist with State like this: Id: 11 User: root Host: db: test Command: Query Time: 301 State: *** DEAD *** Info: check table rainbow_spatial extended The box is functioning normally, and the queries do change state and complete successfully. I've never noticed this *** DEAD *** before. In sql_show.cc, this code exists: #if !defined(DONT_USE_THR_ALARM) && ! defined(SCO) if (pthread_kill(tmp->real_id,0)) tmp->proc_info="*** DEAD ***"; // This shouldn't happen #endif How to repeat: Run any long queries, and keeping checking processlist. I can upload some testcase later if needed. Suggested fix: I think the following patch introduced the problem, because now pthread_dummy returns 3 (ESRCH) (indicating an error) instead of 0 (success). http://lists.mysql.com/commits/32641 so now we get false reports of DEAD threads in processlist.