Bug #67227 problem forward engineering
Submitted: 14 Oct 2012 18:59 Modified: 15 Oct 2012 12:42
Reporter: Brant Gurganus Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Workbench: Migration Severity:S2 (Serious)
Version:5.2.44 OS:Windows (Microsoft Windows 7 Home Premium Edition Service Pack 1 (build 7601), 64-bit)
Assigned to: CPU Architecture:Any
Tags: WBBugReporter

[14 Oct 2012 18:59] Brant Gurganus
Description:
I attempted to forward engineer and there was some unexpected error on the Select Objects to Forward Engineer screen. When adding some columns previously, it appeared this version of Workbench was adding columns when it shouldn't. I'd remove these. So perhaps there were references to those columns that should not have existed.

----- Developer Notes -----

MySQL Workbench CE for Windows version 5.2.44  revision 9933
Configuration Directory: C:\Users\Brant Gurganus\AppData\Roaming\MySQL\Workbench
Data Directory: C:\Program Files (x86)\MySQL\MySQL Workbench 5.2 CE
Cairo Version: 1.8.8
OS: Microsoft Windows 7 Home Premium Edition Service Pack 1 (build 7601), 64-bit
CPU: 4x Intel(R) Core(TM) i5 CPU       M 460  @ 2.53GHz, 5.8 GiB RAM
Active video adapter (0): Intel(R) HD Graphics
Installed video RAM: -1349 MB
Current video mode: 1600 x 900 x 4294967296 colors
Used bit depth: 32
Driver version: 8.771.1.0
Installed display drivers: igdumd64.dll,igd10umd64.dll,igdumdx32,igd10umd32
Current user language: English (United States)

Exception = System.Runtime.InteropServices.SEHException
Message = External component has thrown an exception.
FullText = System.Runtime.InteropServices.SEHException (0x80004005): External component has thrown an exception.
   at boost.function0<void>.()(function0<void>* )
   at boost.signals2.detail.slot_call_iterator_t<boost::signals2::detail::signal0_impl<void,boost::signals2::optional_last_value<void>,int,std::less<int>,boost::function<void __cdecl(void)>,boost::function<void __cdecl(boost::signals2::connection const &)>,boost::signals2::mutex>::slot_invoker,std::_List_iterator<std::_List_val<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot0<void,boost::function<void __cdecl(void)> >,boost::signals2::mutex> >,std::allocator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot0<void,boost::function<void __cdecl(void)> >,boost::signals2::mutex> > > > >,boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot0<void,boost::function<void __cdecl(void)> >,boost::signals2::mutex> 968d42b1(slot_call_iterator_t<boost::signals2::detail::signal0_impl<void\,boost::signals2::optional_last_value<void>\,int\,std::less<int>\,boost::function<void __cdecl(void)>\,boost::function<void __cdecl(boost::signals2::connection const \&)>\,boost::signals2::mutex>::slot_invoker\,std::_List_iterator<std::_List_val<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group\,boost::optional<int> >\,boost::signals2::slot0<void\,boost::function<void __cdecl(void)> >\,boost::signals2::mutex> >\,std::allocator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group\,boost::optional<int> >\,boost::signals2::slot0<void\,boost::function<void __cdecl(void)> >\,boost::signals2::mutex> > > > >\,boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group\,boost::optional<int> >\,boost::signals2::slot0<void\,boost::function<void __cdecl(void)> >\,boost::signals2::mutex> >* )
   at boost.signals2.optional_last_value<void>.operator()<class boost::signals2::detail::slot_call_iterator_t<class boost::signals2::detail::signal0_impl<void,class boost::signals2::optional_last_value<void>,int,struct std::less<int>,class boost::function<void __cdecl(void)>,class boost::function<void __cdecl(class boost::signals2::connection const &)>,class boost::signals2::mutex>::slot_invoker,class std::_List_iterator<class std::_List_val<class boost::shared_ptr<class boost::signals2::detail::connection_body<struct std::pair<enum boost::signals2::detail::slot_meta_group,class boost::optional<int> >,class boost::signals2::slot0<void,class boost::function<void __cdecl(void)> >,class boost::signals2::mutex> >,class std::allocator<class boost::shared_ptr<class boost::signals2::detail::connection_body<struct std::pair<enum boost::signals2::detail::slot_meta_group,class boost::optional<int> >,class boost::signals2::slot0<void,class boost::function<void __cdecl(void)> >,class boost::signals2::mutex> > > > >,clcc3763b0(optional_last_value<void>* , slot_call_iterator_t<boost::signals2::detail::signal0_impl<void\,boost::signals2::optional_last_value<void>\,int\,std::less<int>\,boost::function<void __cdecl(void)>\,boost::function<void __cdecl(boost::signals2::connection const \&)>\,boost::signals2::mutex>::slot_invoker\,std::_List_iterator<std::_List_val<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group\,boost::optional<int> >\,boost::signals2::slot0<void\,boost::function<void __cdecl(void)> >\,boost::signals2::mutex> >\,std::allocator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group\,boost::optional<int> >\,boost::signals2::slot0<void\,boost::function<void __cdecl(void)> >\,boost::signals2::mutex> > > > >\,boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group\,boost::optional<int> >\,boost::signals2::slot0<void\,boost::function<void __cdecl(void)> >\,boost::signals2::mutex> > first, slot_call_iterator_t<boost::signals2::detail::signal0_impl<void\,boost::signals2::optional_last_value<void>\,int\,std::less<int>\,boost::function<void __cdecl(void)>\,boost::function<void __cdecl(boost::signals2::connection const \&)>\,boost::signals2::mutex>::slot_invoker\,std::_List_iterator<std::_List_val<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group\,boost::optional<int> >\,boost::signals2::slot0<void\,boost::function<void __cdecl(void)> >\,boost::signals2::mutex> >\,std::allocator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group\,boost::optional<int> >\,boost::signals2::slot0<void\,boost::function<void __cdecl(void)> >\,boost::signals2::mutex> > > > >\,boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group\,boost::optional<int> >\,boost::signals2::slot0<void\,boost::function<void __cdecl(void)> >\,boost::signals2::mutex> > last)
   at boost.signals2.detail.signal0_impl<void,boost::signals2::optional_last_value<void>,int,std::less<int>,boost::function<void __cdecl(void)>,boost::function<void __cdecl(boost::signals2::connection const &)>,boost::signals2::mutex>.()(signal0_impl<void\,boost::signals2::optional_last_value<void>\,int\,std::less<int>\,boost::function<void __cdecl(void)>\,boost::function<void __cdecl(boost::signals2::connection const \&)>\,boost::signals2::mutex>* )
   at MySQL.Forms.WizardImpl.nextClick(Object sender, EventArgs arguments)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.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)

How to repeat:
I am currently uncertain how reproducable this is. If I determine steps to reproduce, I will add them.
[14 Oct 2012 19:08] Brant Gurganus
This seems to be reproducible with a workaround.

1. Create an Xampp connection featuring a non-existant default schema.
2. Use this connection to forward engineer.
3. This invalid connection is not handled properly on the Select Objects to Forward Engineer page of the forward engineer wizard.
[14 Oct 2012 19:17] Brant Gurganus
I uploaded a recording of reproducing this issue in case there is a relevant detail there that is missing in the text reproduction steps. It is made using the Problem Steps Recorder in Windows 7 and will be a sequence of screenshots with annotations of keyboard and mouse interactions with the user interface in a MHTML file. It is in the FTP site as bug-data-67227.zip.
[15 Oct 2012 12:42] MySQL Verification Team
Duplicate of bug http://bugs.mysql.com/bug.php?id=66648. Thanks.