Hi Bogdan, I applied the patch, but unfortunately OpenSIPs still crashes with the following output in the log:
ERROR:db_mysql:re_init_statement: failed while mysql_stmt_prepare: (1243) Unknown prepared statement handler (2) given to mysql_stmt_close ERROR:db_mysql:db_mysql_do_prepared_query: failed to re-init statement! ERROR:usrloc:db_timer_udomain: failed to delete from table location ERROR:usrloc:timer: synchronizing cache failed CRITICAL:core:receive_fd: EOF on 12 INFO:core:handle_sigs: child process 11842 exited by a signal 11 INFO:core:handle_sigs: core was generated INFO:core:handle_sigs: terminating due to SIGCHLD INFO:core:sig_usr: signal 15 received To reproduce: 1. Start MySQL. 2. Start opensips. 3. Register a SIP phone (Twinkle in my case). 4. Deregister / Register SIP phone couple of times. 5. Run the following on MySQL server: "FLUSH TABLES WITH READ LOCK;" 6. Deregister / Register SIP phone couple of times. OpenSIPs will show the following in the log: ERROR:db_mysql:get_new_stmt_ctx: failed while mysql_stmt_prepare: (2013) Lost connection to MySQL server during query ERROR:db_mysql:db_mysql_do_prepared_query: failed to create new context ERROR:usrloc:db_update_ucontact: updating database failed ERROR:usrloc:update_ucontact: failed to update database 7. Run the following on MySQL server: "UNLOCK TABLES;" 8. OpenSIPs will crash after a little while. If there is anything more I can do to help solving this problem, please let me know. Best regards, Chris 2009/6/23 Bogdan-Andrei Iancu <[email protected]> > > Hi Chris, > > following other reports, I made a fix on the SVN (trunk) - I did not commited > yet on branch as there is still under testing. I would really appreciate your > help in confirming the correctness of this fix, by simply testing it - apply > the attached patch to your 1.5 sources and give it a try. > > Thanks and regards, > Bogdan > > Chris Maciejewski wrote: >> >> Hi, >> >> I just noticed OpenSIPs dies with the following output in the log, >> when MySQL goes down: >> >> ERROR:db_mysql:re_init_statement: failed while mysql_stmt_prepare: >> (1243) Unknown prepared statement handler (4) given to >> mysql_stmt_close >> ERROR:db_mysql:db_mysql_do_prepared_query: failed to re-init statement! >> ERROR:usrloc:db_timer_udomain: failed to delete from table location >> ERROR:usrloc:timer: synchronizing cache failed >> ERROR:db_mysql:re_init_statement: failed while mysql_stmt_prepare: >> (2013) Lost connection to MySQL server during query >> ERROR:db_mysql:db_mysql_do_prepared_query: failed to re-init statement! >> ERROR:presence:update_db_subs: deleting expired information from database >> INFO:core:handle_sigs: child process 8655 exited by a signal 11 >> INFO:core:handle_sigs: core was generated >> INFO:core:handle_sigs: terminating due to SIGCHLD >> >> Would it be possible to change this behaviour, so for example: >> >> 1. Both OpenSIPs and MySQL is running. >> 2. MySQL goes down. >> 3. OpenSIPs sends "500 Server error" but the process stays up and running. >> 4. MySQL is back online. >> 5. OpenSIPs resumes normal operation. >> >> Best regards, >> Chris >> >> _______________________________________________ >> Users mailing list >> [email protected] >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> >> > _______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
