Bug #87079 High Severity Error on MySQL Notifier - Unhandled ExceptionMethod not found
Submitted: 14 Jul 2017 23:35 Modified: 14 Aug 2019 16:14
Reporter: TJ Challstrom Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL for Windows: MySQL Notifier Severity:S1 (Critical)
Version:1.1.7 OS:Windows (Version 10.0.14393 Build 14393)
Assigned to: CPU Architecture:Any
Tags: Critical, set_SslKeyFile, Unhandled ExceptionMethod not found

[14 Jul 2017 23:35] TJ Challstrom
Description:
Attempting to add a MySQL service or instance in MySQL notifier presents a 'High Severity Error' message. The service/instance is added but never updates and cannot be controlled.
==============MySQLNotifier.log=============
MySqlNotifier Critical: 1 : Unhandled ExceptionMethod not found: 'Void MySql.Data.MySqlClient.MySqlConnectionStringBuilder.set_SslKeyFile(System.String)'.

    DateTime=2017-07-14T23:11:34.0236756Z
    Timestamp=358282428266
    Callstack=   at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
   at System.Environment.get_StackTrace()
   at System.Diagnostics.TraceEventCache.get_Callstack()
   at System.Diagnostics.TraceListener.WriteFooter(TraceEventCache eventCache)
   at System.Diagnostics.TraceListener.TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, String message)
   at System.Diagnostics.TraceSource.TraceEvent(TraceEventType eventType, Int32 id, String message)
   at MySQL.Utility.Classes.MySQL.MySqlSourceTrace.WriteToLog(String message, SourceLevels messageType, Int32 messageId)
   at MySql.Notifier.Classes.Program.MySqlNotifierErrorHandler(String errorTitle, String errorMessage, Boolean showErrorDialog, Exception exception, SourceLevels errorLevel)
   at MySql.Notifier.Classes.Program.MySQLNotifierThreadExceptionEventHandler(Object sender, ThreadExceptionEventArgs args)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Control.WndProcException(Exception e)
   at System.Windows.Forms.Control.ControlNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.RunDialog(Form form)
   at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
   at System.Windows.Forms.Form.ShowDialog()
   at MySql.Notifier.Classes.Notifier.manageServicesDialogItem_Click(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at MySql.Notifier.Classes.Program.Main(String[] args)

How to repeat:
Add a connection to a remote MySQL instance in MySQL workbench, tunneled over SSH, not using SSL. Verify connection is successful in MySQL workbench. Open MySQL notifiers 'Manage Monitored Items' window. On either the 'Services' or 'Instances' tab, click 'Add...', select the tunneled connection and click 'Ok'. The high severity error message is displayed. The monitored items list will not have the connection listed. Close the managed monitored items window, and force refresh MySQL notifier. Reopen the managed monitored items window and check the services or instances tab for the connection, it will be listed, but the status will always remain as 'Unknown'. No notifications will ever be displayed.

Suggested fix:
No known fixes or workarounds available. Googling the error yields no results.
[15 Jul 2017 5:49] MySQL Verification Team
Thank you for the bug report.
[13 Apr 2018 0:16] MySQL Verification Team
https://bugs.mysql.com/bug.php?id=90416 marked as duplicate of this one.
[20 Jun 2019 2:32] Javier TreviƱo
Posted by developer:
 
SSH tunneled connections can now be opened by MySQL Notifier, in previous versions they were not supported and it looks like not properly validated either.
Now SSH connections can be created within MySQL Notifier or pulled from MySQL Workbench to be monitored.
[14 Aug 2019 16:14] Christine Cole
Posted by developer:
 
Fixed as of the upcoming MySQL Notifier 1.1.8 release, and here's the changelog entry:

Previously, services and instances could not be monitored when the remote
connection was created using MySQL Workbench with SSH tunneling. Now,
monitoring is enabled for SSH connections made directly from MySQL
Notifier or MySQL Workbench.

Thank you for the bug report.