Well merged, it is the same problem, sorry for duplicating.

Loking at the suggested patch [1] it enters on an infinite loop, this is why the 100% of CPU.
Also I run the test to see when the program is on deadlock:
* Start using a default schema -> deadlock
* Select an schema executing "use databasename;" -> deadlock
* Select an schema with the UI -> deadlock
* Using UI: File / Select schema / Choose / Ok -> deadlock
* Executing "select user, host from mysql.user ;" -> works ok

The patch only disable the pause at the MQQueryDispatcher::get_sps method, the patch should try to escape from the infinite loop after a timeout or something, the line is:

while(!req->is_complete()) ;

req is defined as an object from the class SPFetchRequest wich is an inherith class from MQQueryDispatcher::Request wich define the method is_complete as:

bool is_complete() const { return complete; }

I don't use C++ for a while but I don't see any problem but complete property is never changed.

The method before "MQQueryDispatcher::get_tables" has the same procedure but commented like this:

 //while(!req->is_complete())
 //  ;

I don't know if commenting while(!req->is_complete()) this is wright or wrong, it seems to work.

[1] https://bugzilla.redhat.com/attachment.cgi?id=218451

--
Carlos C Soto :: SIA Solutions
Tel: +52 (722) 2078949




--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to