<!-- This issue tracker is only for technical issues related to Bitcoin Core.

General bitcoin questions and/or support requests are best directed to the Bitcoin StackExchange at https://bitcoin.stackexchange.com.

For reporting security issues, please read instructions at https://bitcoincore.org/en/contact/.

If the node is "stuck" during sync or giving "block checksum mismatch" errors, please ensure your hardware is stable by running memtest and observe CPU temperature with a load-test tool such as linpack before creating an issue! -->

Describe the issue
`The configuration file could not be opened.` when clicking on `Open Configuration File`

What behavior did you expect?
Expected to open bitcoin.conf

<!--- What was the actual behavior (provide screenshots if the issue is GUI-related)? -->

How reliably can you reproduce the issue, what are the steps to do so?
Lanuch Bitcoin Core
![](https://i.imgur.com/gTR1bGS.png)
![](https://i.imgur.com/KHkJVM3.png)

What version of Bitcoin Core are you using, where did you get it (website, self-compiled, etc)?
https://bitcoin.org/en/download
v0.17.1

What type of machine are you observing the error on (OS/CPU and disk type)?
OSX

<!-- For the GUI-related issue on Linux provide names and versions of a distro, a desktop environment and a graphical shell (if relevant). -->

<!-- Any extra information that might be useful in the debugging process. -->
<!--- This is normally the contents of a `debug.log` or `config.log` file. Raw text or a link to a pastebin type site are preferred. -->

strList.append("GETUTXO");
                break;
            case NODE_BLOOM:
                strList.append("BLOOM");
                break;
            case NODE_WITNESS:
                strList.append("WITNESS");
                break;
            case NODE_XTHIN:
                strList.append("XTHIN");
                break;
            default:
                strList.append(QString("%1[%2]").arg("UNKNOWN").arg(check));
            }
        }
    }
    if (strList.size())
        return strList.join(" & ");
    else
        return QObject::tr("None");
}
QString formatPingTime(double dPingTime)
{
    return (dPingTime == std::numeric_limits<int64_t>::max()/1e6 || dPingTime == 0) ? QObject::tr("N/A") : QString(QObject::tr("%1 ms")).arg(QString::number((int)(dPingTime * 1000), 10));
}
QString formatTimeOffset(int64_t nTimeOffset)
{
  return QString(QObject::tr("%1 s")).arg(QString::number((int)nTimeOffset, 10));
}
QString formatNiceTimeOffset(qint64 secs)