Bug #32328 | Clicking the "Save Model" icon crashes Workbench | ||
---|---|---|---|
Submitted: | 13 Nov 2007 17:00 | Modified: | 10 Mar 2008 12:01 |
Reporter: | Peter Lavin | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Workbench | Severity: | S3 (Non-critical) |
Version: | 5.0.8 beta | OS: | Windows (XP) |
Assigned to: | Sergei Tkachenko | CPU Architecture: | Any |
Tags: | model, save model |
[13 Nov 2007 17:00]
Peter Lavin
[13 Nov 2007 17:11]
Alfredo Kojima
I am unable to repeat this, can you provide more info like what do you do before pressing the Save icon? Does saving from the File menu work?
[13 Nov 2007 17:31]
Peter Lavin
It seems that canceling the action rather than actually saving the model is what triggers the crash.
[13 Nov 2007 18:33]
Johannes Taxacher
verified in 5.0.8 beta apples to save-icon and save in filemenu (not to "save as")
[13 Nov 2007 21:19]
Andrii Nikitin
able to reproduce on local release rev. 2112. (w/o debugger attached) debug version doesn't crash.
[13 Nov 2007 21:29]
Andrii Nikitin
after adding debug info into wb.be.dll got this piece of stack: -------------------------------------- > wb.be.dll!wb::WBContext::RefreshRequest::RefreshRequest(const wb::WBContext::RefreshRequest & __that={...}) + 0x24 bytes C++ wb.be.dll!std::list<wb::WBContext::RefreshRequest,std::allocator<wb::WBContext::RefreshRequest> >::max_size() Line 610 C++ wb.be.dll!std::list<wb::WBContext::RefreshRequest,std::allocator<wb::WBContext::RefreshRequest> >::_Incsize(unsigned int _Count=0) Line 1211 + 0x8 bytes C++ 0018a2f8() mscorwks.dll!79f93dd8() mscorwks.dll!79f93dd8() wb.be.dll!sigc::slot3<void,enum wb::RefreshType,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,__int64>::operator()(const wb::RefreshType & _A_a1=RefreshMenubar, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & _A_a2="", const __int64 & _A_a3=0) Line 674 + 0x1c bytes C++ wb.be.dll!wb::WBContext::flush_idle_tasks() Line 723 + 0x2f bytes C++ -------------------------------------- seems that WBContext::_pending_refreshes contains std::string members which are trying to share access to character array. It is usual problem when several copies of std::string are shared between threads and they have reference counting problems. Will try ti rewrite that piece of code to avoid std::string common buffer sharing problem.
[10 Mar 2008 12:01]
Sergei Tkachenko
Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release.