Don't know what triggers it exactly, but after that I have to remove the db to fix akonadi startup. Looks like shutting always down using
kdeinit4.exe --shutdown is not enough to protect from this.
Description
Details
- Ticket Type
- Task
| Status | Assigned | Task | ||
|---|---|---|---|---|
| Resolved | mollekopf | T574 windows: mysql database is corrupt after some restarts | ||
| Resolved | mollekopf | T713 Windows: akonadiserver crash during start |
Event Timeline
Akonadi Server Self-Test Report
Test 1: SUCCESS
Database driver found.
Details: The QtSQL driver 'QMYSQL' is required by your current Akonadi server configuration and was found on your system.
File content of 'C:\Users\kolab\AppData\Roaming\.kontact\.config/akonadi/akonadiserverrc':
[%General]
Driver=QMYSQL
[QMYSQL]
Name=akonadi
Host=
Options=
ServerPath=C:/Program Files (x86)/Kontact E5/bin/mysqld.exe
StartServer=true
[Debug]
Tracer=null
Test 2: SUCCESS
MySQL server found.
Details: You have currently configured Akonadi to use the MySQL server 'C:/Program Files (x86)/Kontact E5/bin/mysqld.exe'.
Make sure you have the MySQL server installed, set the correct path and ensure you have the necessary read and execution rights on the server executable. The server executable is typically called 'mysqld'; its location varies depending on the distribution.
Test 3: SUCCESS
MySQL server is executable.
Details: MySQL server found: C:\Program Files (x86)\Kontact E5\bin\mysqld.exe Ver 5.6.22 for Win32 on x86 (MySQL Community Server (GPL))
Test 4: ERROR
MySQL server log contains errors.
Details: The MySQL server error log file '<a href='C:\Users\kolab\AppData\Roaming\.kontact\.local\share/akonadi/db_data\mysql.err'>C:\Users\kolab\AppData\Roaming\.kontact\.local\share/akonadi/db_data\mysql.err</a>' contains errors.
File content of 'C:\Users\kolab\AppData\Roaming\.kontact\.local\share/akonadi/db_data\mysql.err':
2015-06-29 15:51:53 2768 [Note] Plugin 'FEDERATED' is disabled.
2015-06-29 15:51:53 86c InnoDB: Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB's internal memory allocator.
2015-06-29 15:51:53 2768 [Note] InnoDB: Using atomics to ref count buffer pool pages
2015-06-29 15:51:53 2768 [Note] InnoDB: The InnoDB memory heap is disabled
2015-06-29 15:51:53 2768 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2015-06-29 15:51:53 2768 [Note] InnoDB: Memory barrier is not used
2015-06-29 15:51:53 2768 [Note] InnoDB: Compressed tables use zlib 1.2.3
2015-06-29 15:51:53 2768 [Note] InnoDB: Not using CPU crc32 instructions
2015-06-29 15:51:53 2768 [Note] InnoDB: Initializing buffer pool, size = 80.0M
2015-06-29 15:51:53 2768 [Note] InnoDB: Completed initialization of buffer pool
2015-06-29 15:51:53 2768 [ERROR] InnoDB: Cannot create log files because data files are corrupt or the database was not shut down cleanly after creating the data files.
2015-06-29 15:51:53 2768 [ERROR] Plugin 'InnoDB' init function returned error.
2015-06-29 15:51:53 2768 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2015-06-29 15:51:53 2768 [ERROR] Unknown/unsupported storage engine: innodb
2015-06-29 15:51:53 2768 [ERROR] Aborting
2015-06-29 15:51:53 2768 [Note] Binlog end
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'partition'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACES'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_COLS'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_SYS_FIELDS'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_SYS_INDEXES'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_SYS_TABLES'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_FT_CONFIG'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_FT_BEING_DELETED'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_FT_DELETED'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STOPWORD'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_METRICS'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_STATS'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LRU'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_RESET'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_CMPMEM'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_CMP_RESET'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_CMP'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_LOCKS'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'INNODB_TRX'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'BLACKHOLE'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'ARCHIVE'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'MRG_MYISAM'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'MyISAM'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'MEMORY'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'CSV'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'sha256_password'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'mysql_old_password'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'mysql_native_password'
2015-06-29 15:51:53 2768 [Note] Shutting down plugin 'binlog'
2015-06-29 15:51:53 2768 [Note] C:\Program Files (x86)\Kontact E5\bin\mysqld.exe: Shutdown complete
Test 5: SUCCESS
MySQL server default configuration found.
Details: The default configuration for the MySQL server was found and is readable at <a href='C:/Program Files (x86)/Kontact E5/share/config/akonadi/mysql-global.conf'>C:/Program Files (x86)/Kontact E5/share/config/akonadi/mysql-global.conf</a>.
File content of 'C:/Program Files (x86)/Kontact E5/share/config/akonadi/mysql-global.conf':
- Global Akonadi MySQL server settings,
- These settings can be adjusted using $HOME/.config/akonadi/mysql-local.conf #
- Based on advice by Kris Köhntopp <kris@mysql.com> #
[mysqld]
- strict query parsing/interpretation
- TODO: make Akonadi work with those settings enabled
- sql_mode=strict_trans_tables,strict_all_tables,strict_error_for_division_by_zero,no_auto_create_user,no_auto_value_on_zero,no_engine_substitution,no_zero_date,no_zero_in_date,only_full_group_by,pipes_as_concat
- sql_mode=strict_trans_tables
- DEBUGGING:
- log all queries, useful for debugging but generates an enormous amount of data
- log=mysql.full
- log queries slower than n seconds, log file name relative to datadir (for debugging only)
- log_slow_queries=mysql.slow
- long_query_time=1
- log queries not using indices, debug only, disable for production use
- log_queries_not_using_indexes=1 #
- mesure database size and adjust innodb_buffer_pool_size
- SELECT sum(data_length) as bla, sum(index_length) as blub FROM information_schema.tables WHERE table_schema not in ("mysql", "information_schema");
- NOTES:
- Keep Innob_log_waits and keep Innodb_buffer_pool_wait_free small (see show global status like "inno%", show global variables)
#expire_logs_days=3
#sync_bin_log=0
Use UTF-8 encoding for tables
character_set_server=utf8
collation_server=utf8_general_ci
use InnoDB for transactions and better crash recovery
default_storage_engine=innodb
- memory pool InnoDB uses to store data dictionary information and other internal data structures (default:1M)
- Deprecated in MySQL >= 5.6.3
innodb_additional_mem_pool_size=1M
- memory buffer InnoDB uses to cache data and indexes of its tables (default:128M)
- Larger values means less I/O
innodb_buffer_pool_size=80M
Create a .ibd file for each table (default:0)
innodb_file_per_table=1
Write out the log buffer to the log file at each commit (default:1)
innodb_flush_log_at_trx_commit=2
- Buffer size used to write to the log files on disk (default:1M for builtin, 8M for plugin)
- larger values means less I/O
innodb_log_buffer_size=1M
Size of each log file in a log group (default:5M) larger means less I/O but more time for recovery.
innodb_log_file_size=64M
error log file name, relative to datadir (default:hostname.err)
log_error=mysql.err
print warnings and connection errors (default:1)
log_warnings=2
Convert table named to lowercase
lower_case_table_names=1
Maximum size of one packet or any generated/intermediate string. (default:1M)
max_allowed_packet=32M
Maximum simultaneous connections allowed (default:100)
max_connections=256
- The two options below make no sense with prepared statements and/or transactions
- (make sense when having the same query multiple times)
Memory allocated for caching query results (default:0 (disabled))
query_cache_size=0
Do not cache results (default:1)
query_cache_type=0
Do not use the privileges mechanisms
skip_grant_tables
Do not listen for TCP/IP connections at all
skip_networking
The number of open tables for all threads. (default:64)
table_open_cache=200
How many threads the server should cache for reuse (default:0)
thread_cache_size=3
wait 365d before dropping the DB connection (default:8h)
wait_timeout=31536000
We use InnoDB, so don't let MyISAM eat up memory
key_buffer_size=16K
[client]
default-character-set=utf8
Test 6: SKIP
MySQL server custom configuration not available.
Details: The custom configuration for the MySQL server was not found but is optional.
Test 7: SUCCESS
MySQL server configuration is usable.
Details: The MySQL server configuration was found at <a href='C:\Users\kolab\AppData\Roaming\.kontact\.local\share/akonadi/mysql.conf'>C:\Users\kolab\AppData\Roaming\.kontact\.local\share/akonadi/mysql.conf</a> and is readable.
File content of 'C:\Users\kolab\AppData\Roaming\.kontact\.local\share/akonadi/mysql.conf':
- Global Akonadi MySQL server settings,
- These settings can be adjusted using $HOME/.config/akonadi/mysql-local.conf #
- Based on advice by Kris Köhntopp <kris@mysql.com> #
[mysqld]
- strict query parsing/interpretation
- TODO: make Akonadi work with those settings enabled
- sql_mode=strict_trans_tables,strict_all_tables,strict_error_for_division_by_zero,no_auto_create_user,no_auto_value_on_zero,no_engine_substitution,no_zero_date,no_zero_in_date,only_full_group_by,pipes_as_concat
- sql_mode=strict_trans_tables
- DEBUGGING:
- log all queries, useful for debugging but generates an enormous amount of data
- log=mysql.full
- log queries slower than n seconds, log file name relative to datadir (for debugging only)
- log_slow_queries=mysql.slow
- long_query_time=1
- log queries not using indices, debug only, disable for production use
- log_queries_not_using_indexes=1 #
- mesure database size and adjust innodb_buffer_pool_size
- SELECT sum(data_length) as bla, sum(index_length) as blub FROM information_schema.tables WHERE table_schema not in ("mysql", "information_schema");
- NOTES:
- Keep Innob_log_waits and keep Innodb_buffer_pool_wait_free small (see show global status like "inno%", show global variables)
#expire_logs_days=3
#sync_bin_log=0
Use UTF-8 encoding for tables
character_set_server=utf8
collation_server=utf8_general_ci
use InnoDB for transactions and better crash recovery
default_storage_engine=innodb
- memory pool InnoDB uses to store data dictionary information and other internal data structures (default:1M)
- Deprecated in MySQL >= 5.6.3
innodb_additional_mem_pool_size=1M
- memory buffer InnoDB uses to cache data and indexes of its tables (default:128M)
- Larger values means less I/O
innodb_buffer_pool_size=80M
Create a .ibd file for each table (default:0)
innodb_file_per_table=1
Write out the log buffer to the log file at each commit (default:1)
innodb_flush_log_at_trx_commit=2
- Buffer size used to write to the log files on disk (default:1M for builtin, 8M for plugin)
- larger values means less I/O
innodb_log_buffer_size=1M
Size of each log file in a log group (default:5M) larger means less I/O but more time for recovery.
innodb_log_file_size=64M
error log file name, relative to datadir (default:hostname.err)
log_error=mysql.err
print warnings and connection errors (default:1)
log_warnings=2
Convert table named to lowercase
lower_case_table_names=1
Maximum size of one packet or any generated/intermediate string. (default:1M)
max_allowed_packet=32M
Maximum simultaneous connections allowed (default:100)
max_connections=256
- The two options below make no sense with prepared statements and/or transactions
- (make sense when having the same query multiple times)
Memory allocated for caching query results (default:0 (disabled))
query_cache_size=0
Do not cache results (default:1)
query_cache_type=0
Do not use the privileges mechanisms
skip_grant_tables
Do not listen for TCP/IP connections at all
skip_networking
The number of open tables for all threads. (default:64)
table_open_cache=200
How many threads the server should cache for reuse (default:0)
thread_cache_size=3
wait 365d before dropping the DB connection (default:8h)
wait_timeout=31536000
We use InnoDB, so don't let MyISAM eat up memory
key_buffer_size=16K
[client]
default-character-set=utf8
Test 8: SUCCESS
akonadictl found and usable
Details: The program 'C:/Program Files (x86)/Kontact E5/bin/akonadictl.EXE' to control the Akonadi server was found and could be executed successfully.
Result:
Akonadi 1.12.42.1 (revision: 955b8da)
Test 9: ERROR
Akonadi control process not registered at D-Bus.
Details: The Akonadi control process is not registered at D-Bus which typically means it was not started or encountered a fatal error during startup.
Test 10: ERROR
Akonadi server process not registered at D-Bus.
Details: The Akonadi server process is not registered at D-Bus which typically means it was not started or encountered a fatal error during startup.
Test 11: SKIP
Protocol version check not possible.
Details: Without a connection to the server it is not possible to check if the protocol version meets the requirements.
Test 12: ERROR
No resource agents found.
Details: No resource agents have been found, Akonadi is not usable without at least one. This usually means that no resource agents are installed or that there is a setup problem. The following paths have been searched: 'C:/Program Files (x86)/Kontact E5/share/akonadi/agents'. The XDG_DATA_DIRS environment variable is set to ''; make sure this includes all paths where Akonadi agents are installed.
Directory listing of 'C:/Program Files (x86)/Kontact E5/share/akonadi/agents':
akonadibalooindexingagent.desktop
akonadinepomukfeederagent.desktop
akonotesresource.desktop
archivemailagent.desktop
birthdaysresource.desktop
contactsresource.desktop
folderarchiveagent.desktop
icalresource.desktop
imapresource.desktop
invitationsagent.desktop
kabcresource.desktop
kalarmdirresource.desktop
kalarmresource.desktop
kcalresource.desktop
knutresource.desktop
kolabresource.desktop
maildirresource.desktop
maildispatcheragent.desktop
mailfilteragent.desktop
mboxresource.desktop
migrationagent.desktop
mixedmaildirresource.desktop
newmailnotifieragent.desktop
notesresource.desktop
sendlateragent.desktop
vcardresource.desktop
Environment variable XDG_DATA_DIRS is set to ''
Test 13: ERROR
Current Akonadi server error log found.
Details: The Akonadi server reported errors during its current startup. The log can be found in <a href='C:\Users\kolab\AppData\Roaming\.kontact\.local\share/akonadi\akonadiserver.error'>C:\Users\kolab\AppData\Roaming\.kontact\.local\share/akonadi\akonadiserver.error</a>.
File content of 'C:\Users\kolab\AppData\Roaming\.kontact\.local\share/akonadi\akonadiserver.error':
Database process exited unexpectedly during initial connection!
executable: "C:/Program Files (x86)/Kontact E5/bin/mysqld.exe"
arguments: ("--defaults-file=C:\Users\kolab\AppData\Roaming\.kontact\.local\share/akonadi/mysql.conf", "--datadir=C:\Users\kolab\AppData\Roaming\.kontact\.local\share/akonadi/db_data/", "--shared-memory")
stdout: ""
stderr: "2015-06-29 15:51:53 0 [Warning] option 'wait_timeout': unsigned value 31536000 adjusted to 2147483
2015-06-29 15:51:53 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
"
exit code: 1
process error: "Unknown error"
Test 14: ERROR
Previous Akonadi server error log found.
Details: The Akonadi server reported errors during its previous startup. The log can be found in <a href='C:\Users\kolab\AppData\Roaming\.kontact\.local\share/akonadi\akonadiserver.error.old'>C:\Users\kolab\AppData\Roaming\.kontact\.local\share/akonadi\akonadiserver.error.old</a>.
File content of 'C:\Users\kolab\AppData\Roaming\.kontact\.local\share/akonadi\akonadiserver.error.old':
Database process exited unexpectedly during initial connection!
executable: "C:/Program Files (x86)/Kontact E5/bin/mysqld.exe"
arguments: ("--defaults-file=C:\Users\kolab\AppData\Roaming\.kontact\.local\share/akonadi/mysql.conf", "--datadir=C:\Users\kolab\AppData\Roaming\.kontact\.local\share/akonadi/db_data/", "--shared-memory")
stdout: ""
stderr: "2015-06-29 15:51:51 0 [Warning] option 'wait_timeout': unsigned value 31536000 adjusted to 2147483
2015-06-29 15:51:51 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
"
exit code: 1
process error: "Unknown error"
Test 15: SUCCESS
No current Akonadi control error log found.
Details: The Akonadi control process did not report any errors during its current startup.
Test 16: SUCCESS
No previous Akonadi control error log found.
Details: The Akonadi control process did not report any errors during its previous startup.
This could be related to upgrades. It seems that the db is regulary corrupt after installing a new version of kdepim (even with the same mysql version).
One possible explanation is that we have to do a nnodb_fast_shutdown=0 to ensure all data is flushed to disk.