Bug #66809 Forward Engineer doesn't work
Submitted: 13 Sep 2012 16:29 Modified: 28 Dec 2012 21:31
Reporter: Paulo Martins Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Workbench: Modeling Severity:S3 (Non-critical)
Version:5.2.45 OS:Windows (Microsoft Windows XP Professional Service Pack 3 (build 2600))
Assigned to: CPU Architecture:Any
Tags: WBBugReporter

[13 Sep 2012 16:29] Paulo Martins
Description:
Forward Engineer was broken back in version 5.2.41 and is still broken in version 5.2.43.

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

MySQL Workbench CE for Windows version 5.2.43  revision 9869
Configuration Directory: C:\Documents and Settings\Administrator\Application Data\MySQL\Workbench
Data Directory: C:\Program Files\MySQL\MySQL Workbench 5.2 CE
Cairo Version: 1.8.8
OS: Microsoft Windows XP Professional Service Pack 3 (build 2600)
CPU: Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz, 2.0 GiB RAM
Active video adapter (0): VirtualBox Graphics Adapter
Installed video RAM: 48 MB
Current video mode: 1920 x 1080 x 4294967296 colors
Used bit depth: 32
Driver version: 4.1.20.r80170
Installed display drivers: VBoxDisp.dll
Current user language: Portuguese (Portugal)

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:
Forward Engineer without the server
[13 Sep 2012 22:15] MySQL Verification Team
Please do not submit the same bug more than once. An existing bug report already describes this very problem. Even if you feel that your issue is somewhat different, the resolution is likely
to be the same. Because of this, we hope you add your comments to the original bug instead.

Thank you for your interest in MySQL.

http://bugs.mysql.com/bug.php?id=66648
[28 Dec 2012 11:35] Paulo Martins
The feature is now working again in version 5.2.45, but not in the best possible way.
Back in version 5.2.40 the sequence of operations was:
- Options, Select Objects, Review SQL Script, Connection Options, Commit Progress.
This sequence was the most intelligent one and it worked extremely well, because if the server had not been working anyone only trying to generate the script would never reach an error condition.
In version 5.2.45 the sequence is:
-Connection Options, Options, Select Objects, Review SQL Script, Commit Progress.
This sequence, apart from making no sense, causes an error condition immediately after starting the process if the server is not working, even if the user just wants to generate the script. Rather stupid.
Nevertheless, Forward Engineering is now working again, which is good.

Thank you for your work.