What steps will reproduce the problem?
1. No clue
What is the expected output? What do you see instead?
Server running. Server crashing.
What version of the product are you using? On what operating system?
Prosody 0.10 nightly build 358 (2017-03-07, 30309fd01d76) on Ubuntu 14.04 x64
Please provide any additional information below.
Output from prosody.err:
Mar 11 08:04:52 sql error Error in SQL transaction: /usr/lib/prosody/util/sql.lua:167: Error preparing statement handle: MySQL server has gone away
stack traceback:
/usr/lib/prosody/util/sql.lua:167: in function 'select'
/usr/lib/prosody/modules/mod_storage_sql.lua:60: in function </usr/lib/prosody/modules/mod_storage_sql.lua:57>
(tail call): ?
[C]: in function 'xpcall'
/usr/lib/prosody/util/sql.lua:220: in function '_transaction'
/usr/lib/prosody/util/sql.lua:234: in function 'transaction'
/usr/lib/prosody/modules/mod_storage_sql.lua:103: in function 'get'
...usr/lib/prosody/modules/mod_auth_internal_hashed.lua:117: in function '?'
/usr/lib/prosody/util/sasl/scram.lua:174: in function </usr/lib/prosody/util/sasl/scram.lua:105>
...
[C]: in function 'parse'
/usr/lib/prosody/util/xmppstream.lua:271: in function 'feed'
/usr/lib/prosody/modules/mod_c2s.lua:248: in function 'data'
/usr/lib/prosody/modules/mod_c2s.lua:271: in function </usr/lib/prosody/modules/mod_c2s.lua:268>
(tail call): ?
/usr/lib/prosody/net/server_select.lua:879: in function </usr/lib/prosody/net/server_select.lua:861>
[C]: in function 'xpcall'
/usr/bin/prosody:396: in function 'loop'
/usr/bin/prosody:427: in main chunk
[C]: ?
Output from mysql.log:
170311 8:04:52 21886 Connect prosody@localhost on prosody
21886 Query SET NAMES 'utf8'
21886 Query set autocommit=0
21886 Query set autocommit=0
21886 Prepare SELECT `CHARACTER_SET_NAME` FROM `information_schema`.`CHARACTER_SETS` WHERE `CHARACTER_SET_NAME` LIKE 'utf8%' ORDER BY MAXLEN DESC LIMIT 1
21886 Execute SELECT `CHARACTER_SET_NAME` FROM `information_schema`.`CHARACTER_SETS` WHERE `CHARACTER_SET_NAME` LIKE 'utf8%' ORDER BY MAXLEN DESC LIMIT 1
21886 Query commit
21886 Prepare SET NAMES 'utf8mb4' COLLATE 'utf8mb4_bin'
21886 Execute SET NAMES 'utf8mb4' COLLATE 'utf8mb4_bin'
21886 Query commit
21886 Prepare SHOW SESSION VARIABLES LIKE 'character_set_client'
21886 Execute SHOW SESSION VARIABLES LIKE 'character_set_client'
21886 Query commit
21886 Prepare CREATE TABLE `prosody` (`host` TEXT NOT NULL, `user` TEXT NOT NULL, `store` TEXT NOT NULL, `key` TEXT NOT NULL, `type` TEXT NOT NULL, `value` MEDIUMTEXT NOT NULL) CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_bin'
21886 Query commit
21886 Prepare CREATE TABLE `prosodyarchive` (`sort_id` INTEGER PRIMARY KEY AUTO_INCREMENT, `host` TEXT NOT NULL, `user` TEXT NOT NULL, `store` TEXT NOT NULL, `key` TEXT NOT NULL, `when` INTEGER NOT NULL, `with` TEXT NOT NULL, `type` TEXT NOT NULL, `value` MEDIUMTEXT NOT NULL) CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_bin'
21886 Query commit
21886 Prepare SHOW COLUMNS FROM prosody WHERE Field='value' and Type='text'
21886 Execute SHOW COLUMNS FROM prosody WHERE Field='value' and Type='text'
21886 Query commit
21886 Prepare SELECT `COLUMN_NAME`,`COLUMN_TYPE`,`TABLE_NAME` FROM `information_schema`.`columns` WHERE `TABLE_NAME` LIKE 'prosody%' AND ( `CHARACTER_SET_NAME`!='utf8mb4' OR `COLLATION_NAME`!='utf8mb4_bin' )
21886 Execute SELECT `COLUMN_NAME`,`COLUMN_TYPE`,`TABLE_NAME` FROM `information_schema`.`columns` WHERE `TABLE_NAME` LIKE 'prosody%' AND ( `CHARACTER_SET_NAME`!='utf8mb4' OR `COLLATION_NAME`!='utf8mb4_bin' )
21886 Query commit
21886 Execute SELECT `COLUMN_NAME`,`COLUMN_TYPE`,`TABLE_NAME` FROM `information_schema`.`columns` WHERE `TABLE_NAME` LIKE 'prosody%' AND ( `CHARACTER_SET_NAME`!='utf8mb4' OR `COLLATION_NAME`!='utf8mb4_bin' )
21886 Query commit
21886 Prepare SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`=? AND `user`=? AND `store`=?
21886 Execute SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`='mydomain.com' AND `user`='my.username' AND `store`='accounts'
21886 Query commit
21886 Prepare SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`=? AND `user`=? AND `store`=?
21886 Execute SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`='mydomain.com' AND `user`='my.username' AND `store`='roster'
21886 Query commit
170311 8:04:53 21886 Prepare SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`=? AND `user`=? AND `store`=?
21886 Execute SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`='mydomain.com' AND `user`='my.username' AND `store`='private'
21886 Query commit
21886 Prepare SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`=? AND `user`=? AND `store`=?
21886 Execute SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`='mydomain.com' AND `user`='my.username' AND `store`='private'
21886 Query commit
21886 Prepare SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`=? AND `user`=? AND `store`=?
21886 Execute SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`='mydomain.com' AND `user`='my.username' AND `store`='cloud_notify'
21886 Query commit
21886 Prepare SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`=? AND `user`=? AND `store`=?
21886 Execute SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`='mydomain.com' AND `user`='my.username' AND `store`='vcard'
21886 Query commit
21886 Prepare SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`=? AND `user`=? AND `store`=?
21886 Execute SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`='mydomain.com' AND `user`='my.username' AND `store`='private'
21886 Query commit
21886 Prepare SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`=? AND `user`=? AND `store`=?
21886 Execute SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`='mydomain.com' AND `user`='my.username' AND `store`='private'
21886 Query commit
21886 Prepare SELECT COUNT(*) FROM `prosodyarchive` WHERE `host` = ? AND `user` = ? AND `store` = ?
21886 Execute SELECT COUNT(*) FROM `prosodyarchive` WHERE `host` = 'mydomain.com' AND `user` = 'my.username' AND `store` = 'archive2'
21886 Prepare SELECT `key`, `type`, `value`, `when`, `with` FROM `prosodyarchive` WHERE `host` = ? AND `user` = ? AND `store` = ? AND `sort_id` > COALESCE((SELECT `sort_id` FROM `prosodyarchive` WHERE `key` = ? AND `host` = ? AND `user` = ? AND `store` = ? LIMIT 1), 0) ORDER BY `sort_id` ASC LIMIT ?
21886 Execute SELECT `key`, `type`, `value`, `when`, `with` FROM `prosodyarchive` WHERE `host` = 'mydomain.com' AND `user` = 'my.username' AND `store` = 'archive2' AND `sort_id` > COALESCE((SELECT `sort_id` FROM `prosodyarchive` WHERE `key` = '8425e716-2022-4b21-93fd-db11535e9d93' AND `host` = 'mydomain.com' AND `user` = 'my.username' AND `store` = 'archive2' LIMIT 1), 0) ORDER BY `sort_id` ASC LIMIT 31
21886 Query commit
MattJ
on
Hey, thanks for the report!
I suspect the issue in your logs is not related to the "crash". There was a bug introduced recently that would cause Prosody to shut down when it received a SIGHUP/reload signal, which usually happens every morning when rotating logs.
Please upgrade to the latest nightly and see if this fixes the issue: https://prosody.im/nightly/0.10/build360/
Let us know if it doesn't.
What steps will reproduce the problem? 1. No clue What is the expected output? What do you see instead? Server running. Server crashing. What version of the product are you using? On what operating system? Prosody 0.10 nightly build 358 (2017-03-07, 30309fd01d76) on Ubuntu 14.04 x64 Please provide any additional information below. Output from prosody.err: Mar 11 08:04:52 sql error Error in SQL transaction: /usr/lib/prosody/util/sql.lua:167: Error preparing statement handle: MySQL server has gone away stack traceback: /usr/lib/prosody/util/sql.lua:167: in function 'select' /usr/lib/prosody/modules/mod_storage_sql.lua:60: in function </usr/lib/prosody/modules/mod_storage_sql.lua:57> (tail call): ? [C]: in function 'xpcall' /usr/lib/prosody/util/sql.lua:220: in function '_transaction' /usr/lib/prosody/util/sql.lua:234: in function 'transaction' /usr/lib/prosody/modules/mod_storage_sql.lua:103: in function 'get' ...usr/lib/prosody/modules/mod_auth_internal_hashed.lua:117: in function '?' /usr/lib/prosody/util/sasl/scram.lua:174: in function </usr/lib/prosody/util/sasl/scram.lua:105> ... [C]: in function 'parse' /usr/lib/prosody/util/xmppstream.lua:271: in function 'feed' /usr/lib/prosody/modules/mod_c2s.lua:248: in function 'data' /usr/lib/prosody/modules/mod_c2s.lua:271: in function </usr/lib/prosody/modules/mod_c2s.lua:268> (tail call): ? /usr/lib/prosody/net/server_select.lua:879: in function </usr/lib/prosody/net/server_select.lua:861> [C]: in function 'xpcall' /usr/bin/prosody:396: in function 'loop' /usr/bin/prosody:427: in main chunk [C]: ? Output from mysql.log: 170311 8:04:52 21886 Connect prosody@localhost on prosody 21886 Query SET NAMES 'utf8' 21886 Query set autocommit=0 21886 Query set autocommit=0 21886 Prepare SELECT `CHARACTER_SET_NAME` FROM `information_schema`.`CHARACTER_SETS` WHERE `CHARACTER_SET_NAME` LIKE 'utf8%' ORDER BY MAXLEN DESC LIMIT 1 21886 Execute SELECT `CHARACTER_SET_NAME` FROM `information_schema`.`CHARACTER_SETS` WHERE `CHARACTER_SET_NAME` LIKE 'utf8%' ORDER BY MAXLEN DESC LIMIT 1 21886 Query commit 21886 Prepare SET NAMES 'utf8mb4' COLLATE 'utf8mb4_bin' 21886 Execute SET NAMES 'utf8mb4' COLLATE 'utf8mb4_bin' 21886 Query commit 21886 Prepare SHOW SESSION VARIABLES LIKE 'character_set_client' 21886 Execute SHOW SESSION VARIABLES LIKE 'character_set_client' 21886 Query commit 21886 Prepare CREATE TABLE `prosody` (`host` TEXT NOT NULL, `user` TEXT NOT NULL, `store` TEXT NOT NULL, `key` TEXT NOT NULL, `type` TEXT NOT NULL, `value` MEDIUMTEXT NOT NULL) CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_bin' 21886 Query commit 21886 Prepare CREATE TABLE `prosodyarchive` (`sort_id` INTEGER PRIMARY KEY AUTO_INCREMENT, `host` TEXT NOT NULL, `user` TEXT NOT NULL, `store` TEXT NOT NULL, `key` TEXT NOT NULL, `when` INTEGER NOT NULL, `with` TEXT NOT NULL, `type` TEXT NOT NULL, `value` MEDIUMTEXT NOT NULL) CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_bin' 21886 Query commit 21886 Prepare SHOW COLUMNS FROM prosody WHERE Field='value' and Type='text' 21886 Execute SHOW COLUMNS FROM prosody WHERE Field='value' and Type='text' 21886 Query commit 21886 Prepare SELECT `COLUMN_NAME`,`COLUMN_TYPE`,`TABLE_NAME` FROM `information_schema`.`columns` WHERE `TABLE_NAME` LIKE 'prosody%' AND ( `CHARACTER_SET_NAME`!='utf8mb4' OR `COLLATION_NAME`!='utf8mb4_bin' ) 21886 Execute SELECT `COLUMN_NAME`,`COLUMN_TYPE`,`TABLE_NAME` FROM `information_schema`.`columns` WHERE `TABLE_NAME` LIKE 'prosody%' AND ( `CHARACTER_SET_NAME`!='utf8mb4' OR `COLLATION_NAME`!='utf8mb4_bin' ) 21886 Query commit 21886 Execute SELECT `COLUMN_NAME`,`COLUMN_TYPE`,`TABLE_NAME` FROM `information_schema`.`columns` WHERE `TABLE_NAME` LIKE 'prosody%' AND ( `CHARACTER_SET_NAME`!='utf8mb4' OR `COLLATION_NAME`!='utf8mb4_bin' ) 21886 Query commit 21886 Prepare SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`=? AND `user`=? AND `store`=? 21886 Execute SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`='mydomain.com' AND `user`='my.username' AND `store`='accounts' 21886 Query commit 21886 Prepare SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`=? AND `user`=? AND `store`=? 21886 Execute SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`='mydomain.com' AND `user`='my.username' AND `store`='roster' 21886 Query commit 170311 8:04:53 21886 Prepare SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`=? AND `user`=? AND `store`=? 21886 Execute SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`='mydomain.com' AND `user`='my.username' AND `store`='private' 21886 Query commit 21886 Prepare SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`=? AND `user`=? AND `store`=? 21886 Execute SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`='mydomain.com' AND `user`='my.username' AND `store`='private' 21886 Query commit 21886 Prepare SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`=? AND `user`=? AND `store`=? 21886 Execute SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`='mydomain.com' AND `user`='my.username' AND `store`='cloud_notify' 21886 Query commit 21886 Prepare SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`=? AND `user`=? AND `store`=? 21886 Execute SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`='mydomain.com' AND `user`='my.username' AND `store`='vcard' 21886 Query commit 21886 Prepare SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`=? AND `user`=? AND `store`=? 21886 Execute SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`='mydomain.com' AND `user`='my.username' AND `store`='private' 21886 Query commit 21886 Prepare SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`=? AND `user`=? AND `store`=? 21886 Execute SELECT `key`,`type`,`value` FROM `prosody` WHERE `host`='mydomain.com' AND `user`='my.username' AND `store`='private' 21886 Query commit 21886 Prepare SELECT COUNT(*) FROM `prosodyarchive` WHERE `host` = ? AND `user` = ? AND `store` = ? 21886 Execute SELECT COUNT(*) FROM `prosodyarchive` WHERE `host` = 'mydomain.com' AND `user` = 'my.username' AND `store` = 'archive2' 21886 Prepare SELECT `key`, `type`, `value`, `when`, `with` FROM `prosodyarchive` WHERE `host` = ? AND `user` = ? AND `store` = ? AND `sort_id` > COALESCE((SELECT `sort_id` FROM `prosodyarchive` WHERE `key` = ? AND `host` = ? AND `user` = ? AND `store` = ? LIMIT 1), 0) ORDER BY `sort_id` ASC LIMIT ? 21886 Execute SELECT `key`, `type`, `value`, `when`, `with` FROM `prosodyarchive` WHERE `host` = 'mydomain.com' AND `user` = 'my.username' AND `store` = 'archive2' AND `sort_id` > COALESCE((SELECT `sort_id` FROM `prosodyarchive` WHERE `key` = '8425e716-2022-4b21-93fd-db11535e9d93' AND `host` = 'mydomain.com' AND `user` = 'my.username' AND `store` = 'archive2' LIMIT 1), 0) ORDER BY `sort_id` ASC LIMIT 31 21886 Query commit
Hey, thanks for the report! I suspect the issue in your logs is not related to the "crash". There was a bug introduced recently that would cause Prosody to shut down when it received a SIGHUP/reload signal, which usually happens every morning when rotating logs. Please upgrade to the latest nightly and see if this fixes the issue: https://prosody.im/nightly/0.10/build360/ Let us know if it doesn't.
ChangesClosing because no response in over 6 months.
Changes