Bug #62083 ndbd unlink binary when specify BackupDataDir in cofiguration
Submitted: 4 Aug 2011 13:45 Modified: 11 Nov 2016 23:36
Reporter: Andrey Lyubimov Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S2 (Serious)
Version:7.1.15 OS:Linux (kernel 2.6.38-8 x86_64 (ubuntu 11.04))
Assigned to: MySQL Verification Team CPU Architecture:Any
Tags: unlink binary

[4 Aug 2011 13:45] Andrey Lyubimov
Description:
The ndbd unlink it binary when kill the process. Situation repeats only when specific BackupDataDir presents in cluster configuration. When BackupDataDir not configured, process stops normally.

# strace -f /usr/sbin/ndbd
--- [cut] ---
recvfrom(5, "result: ok\n\n", 512, MSG_PEEK, NULL, NULL) = 12
recvfrom(5, "result: ok\n", 11, 0, NULL, NULL) = 11
clock_gettime(CLOCK_MONOTONIC, {18795, 652367793}) = 0
clock_gettime(CLOCK_MONOTONIC, {18795, 652425385}) = 0
poll([{fd=5, events=POLLIN}], 1, 60000) = 1 ([{fd=5, revents=POLLIN}])
clock_gettime(CLOCK_MONOTONIC, {18795, 652545441}) = 0
recvfrom(5, "\n", 512, MSG_PEEK, NULL, NULL) = 1
recvfrom(5, "\n", 1, 0, NULL, NULL)     = 1
close(5)                                = 0
close(6)                                = 0
close(5)                                = -1 EBADF (Bad file descriptor)
unlink("/usr/sbin/ndbd")                = 0
exit_group(0)                           = ?

--- [/cut] ---

When no BackupDataDir specifyed in config:

# strace -f /usr/sbin/ndbd
-- [cut] --
clock_gettime(CLOCK_MONOTONIC, {19440, 532508243}) = 0
recvfrom(5, "\n", 512, MSG_PEEK, NULL, NULL) = 1
recvfrom(5, "\n", 1, 0, NULL, NULL)     = 1
close(5)                                = 0
close(6)                                = 0
close(5)                                = -1 EBADF (Bad file descriptor)
unlink("")                              = -1 ENOENT (No such file or directory)
exit_group(0)                           = ?
Process 6743 detached

-- [/cut] --

How to repeat:
Start ndbd daemon when BackupDataDir specified in configuration for this ndb node.
Send SIG_TERM to all ndbd process.

Suggested fix:
Possible PID file location failed in ndbd process and binary path used as PID file.
[11 Oct 2016 23:36] MySQL Verification Team
Hi Andrey

can't reproduce on any of the modern systems, but can't reproduce on 7.1.15 :(
If you still have some details about this bug (after this many years) you can send me the config file you used to get to this situation

kind regards
Bogdan Kecman
[12 Nov 2016 1:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".