Akonadi server crash all the time with control and server process not registered at D-Bus. It happen every time and no kill, delete directory or any other suggestion from similar bugs works. It occures only for Kubuntu 14.04 (both fresh install and upgraded from 13.10) BUT ONLY for domain users. For local users everything works without errors. But for domain users it happens for winbind and pbis (likewise) as well. Domain server is in all cases Zentyal with samba 4. Reproducible: Always Steps to Reproduce: 1. Fresh install of Kubuntu 14.04 2. set standard winbind for auth. on samba 4 as an AD 3. login as a domain user and start akonadi results with crash Actual Results: Crash with Expected Results: Akonadi running 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 '/home/KSAT/ismelhaus/.config/akonadi/akonadiserverrc': [%General] Driver=QMYSQL [QMYSQL] Name=akonadi Host= Options="UNIX_SOCKET=/tmp/akonadi-ismelhaus.vtQZxY/mysql.socket" ServerPath=/usr/sbin/mysqld-akonadi StartServer=true User= Password= [QPSQL] StartServer=true Name=akonadi Host= User= Password= Port=5432 [SQLITE] Name=akonadi [QSQLITE3] Name=/home/KSAT/ismelhaus/.local/share/akonadi/akonadi.db Test 2: SUCCESS -------- Akonadi is not running as root Details: Akonadi is not running as a root/administrator user, which is the recommended setup for a secure system. Test 3: SUCCESS -------- MySQL server found. Details: You have currently configured Akonadi to use the MySQL server '/usr/sbin/mysqld-akonadi'. 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 4: SUCCESS -------- MySQL server is executable. Details: MySQL server found: 140529 11:39:40 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead. /usr/sbin/mysqld Ver 5.5.37-0ubuntu0.14.04.1 for debian-linux-gnu on x86_64 ((Ubuntu)) Test 5: SUCCESS -------- No current MySQL error log found. Details: The MySQL server did not report any errors during this startup. The log can be found in '/home/KSAT/ismelhaus/.local/share/akonadi/db_data/mysql.err'. Test 6: SUCCESS -------- MySQL server default configuration found. Details: The default configuration for the MySQL server was found and is readable at <a href='/etc/akonadi/mysql-global.conf'>/etc/akonadi/mysql-global.conf</a>. File content of '/etc/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 7: SKIP -------- MySQL server custom configuration not available. Details: The custom configuration for the MySQL server was not found but is optional. Test 8: SUCCESS -------- MySQL server configuration is usable. Details: The MySQL server configuration was found at <a href='/home/KSAT/ismelhaus/.local/share/akonadi/mysql.conf'>/home/KSAT/ismelhaus/.local/share/akonadi/mysql.conf</a> and is readable. File content of '/home/KSAT/ismelhaus/.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 9: SUCCESS -------- akonadictl found and usable Details: The program '/usr/bin/akonadictl' to control the Akonadi server was found and could be executed successfully. Result: Akonadi 1.12.1 Test 10: 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 11: 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 12: 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 13: 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: '/usr/share/akonadi/agents'. The XDG_DATA_DIRS environment variable is set to '/usr/share:/usr/share/kde-plasma:/usr/local/share/:/usr/share/'; make sure this includes all paths where Akonadi agents are installed. Directory listing of '/usr/share/akonadi/agents': akonadibalooindexingagent.desktop akonadinepomukfeederagent.desktop akonotesresource.desktop archivemailagent.desktop birthdaysresource.desktop contactsresource.desktop davgroupwareresource.desktop facebookresource.desktop folderarchiveagent.desktop gcalresource.desktop googlecalendarresource.desktop googlecontactsresource.desktop googledataresource.desktop icaldirresource.desktop icalresource.desktop imapresource.desktop invitationsagent.desktop kabcresource.desktop kalarmdirresource.desktop kalarmresource.desktop kcalresource.desktop kdeaccountsresource.desktop kolabproxyresource.desktop localbookmarksresource.desktop maildirresource.desktop maildispatcheragent.desktop mailfilteragent.desktop mboxresource.desktop migrationagent.desktop mixedmaildirresource.desktop mtdummyresource.desktop newmailnotifieragent.desktop nntpresource.desktop notesagent.desktop notesresource.desktop openxchangeresource.desktop pop3resource.desktop sendlateragent.desktop vcarddirresource.desktop vcardresource.desktop Environment variable XDG_DATA_DIRS is set to '/usr/share:/usr/share/kde-plasma:/usr/local/share/:/usr/share/' Test 14: 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='/home/KSAT/ismelhaus/.local/share/akonadi/akonadiserver.error'>/home/KSAT/ismelhaus/.local/share/akonadi/akonadiserver.error</a>. File content of '/home/KSAT/ismelhaus/.local/share/akonadi/akonadiserver.error': Database process exited unexpectedly during initial connection! executable: "/usr/sbin/mysqld-akonadi" arguments: ("--defaults-file=/home/KSAT/ismelhaus/.local/share/akonadi/mysql.conf", "--datadir=/home/KSAT/ismelhaus/.local/share/akonadi/db_data/", "--socket=/tmp/akonadi-ismelhaus.vtQZxY/mysql.socket") stdout: "" stderr: "Could not open required defaults file: /home/KSAT/ismelhaus/.local/share/akonadi/mysql.conf Fatal error in defaults handling. Program aborted " exit code: 1 process error: "Unknown error" "[ 0: akonadiserver() [0x419cb7] 1: akonadiserver() [0x419f12] 2: /lib/x86_64-linux-gnu/libc.so.6(+0x36ff0) [0x7fb4f307eff0] 3: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39) [0x7fb4f307ef79] 4: /lib/x86_64-linux-gnu/libc.so.6(abort+0x148) [0x7fb4f3082388] 5: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x102) [0x7fb4f4b66c92] 6: akonadiserver() [0x41bdbd] 7: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0xb0) [0x7fb4f4c01470] 8: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(+0x11ab3d) [0x7fb4f4c10b3d] 9: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x31) [0x7fb4f4c19721] 10: akonadiserver() [0x4b38b4] 11: akonadiserver() [0x41c957] 12: akonadiserver() [0x41f1e5] 13: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN7QObject5eventEP6QEvent+0x24e) [0x7fb4f4c8bc1e] 14: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent+0x6d) [0x7fb4f4c734dd] 15: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData+0x1ed) [0x7fb4f4c76b3d] 16: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(+0x1aaf83) [0x7fb4f4ca0f83] 17: /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x254) [0x7fb4f274de04] 18: /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x49048) [0x7fb4f274e048] 19: /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x2c) [0x7fb4f274e0ec] 20: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x71) [0x7fb4f4ca07a1] 21: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEE+0x2f) [0x7fb4f4c720af] 22: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x175) [0x7fb4f4c723a5] 23: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN16QCoreApplication4execEv+0x89) [0x7fb4f4c77b79] 24: akonadiserver() [0x4142e7] 25: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7fb4f3069ec5] 26: akonadiserver() [0x414c48] ] " Test 15: 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='/home/KSAT/ismelhaus/.local/share/akonadi/akonadiserver.error.old'>/home/KSAT/ismelhaus/.local/share/akonadi/akonadiserver.error.old</a>. File content of '/home/KSAT/ismelhaus/.local/share/akonadi/akonadiserver.error.old': Database process exited unexpectedly during initial connection! executable: "/usr/sbin/mysqld-akonadi" arguments: ("--defaults-file=/home/KSAT/ismelhaus/.local/share/akonadi/mysql.conf", "--datadir=/home/KSAT/ismelhaus/.local/share/akonadi/db_data/", "--socket=/tmp/akonadi-ismelhaus.vtQZxY/mysql.socket") stdout: "" stderr: "Could not open required defaults file: /home/KSAT/ismelhaus/.local/share/akonadi/mysql.conf Fatal error in defaults handling. Program aborted " exit code: 1 process error: "Unknown error" "[ 0: akonadiserver() [0x419cb7] 1: akonadiserver() [0x419f12] 2: /lib/x86_64-linux-gnu/libc.so.6(+0x36ff0) [0x7f8dad2b3ff0] 3: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39) [0x7f8dad2b3f79] 4: /lib/x86_64-linux-gnu/libc.so.6(abort+0x148) [0x7f8dad2b7388] 5: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x102) [0x7f8daed9bc92] 6: akonadiserver() [0x41bdbd] 7: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0xb0) [0x7f8daee36470] 8: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(+0x11ab3d) [0x7f8daee45b3d] 9: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x31) [0x7f8daee4e721] 10: akonadiserver() [0x4b38b4] 11: akonadiserver() [0x41c957] 12: akonadiserver() [0x41f1e5] 13: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN7QObject5eventEP6QEvent+0x24e) [0x7f8daeec0c1e] 14: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent+0x6d) [0x7f8daeea84dd] 15: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData+0x1ed) [0x7f8daeeabb3d] 16: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(+0x1aaf83) [0x7f8daeed5f83] 17: /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x254) [0x7f8dac982e04] 18: /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x49048) [0x7f8dac983048] 19: /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x2c) [0x7f8dac9830ec] 20: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x71) [0x7f8daeed57a1] 21: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEE+0x2f) [0x7f8daeea70af] 22: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x175) [0x7f8daeea73a5] 23: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN16QCoreApplication4execEv+0x89) [0x7f8daeeacb79] 24: akonadiserver() [0x4142e7] 25: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f8dad29eec5] 26: akonadiserver() [0x414c48] ] " Test 16: SUCCESS -------- No current Akonadi control error log found. Details: The Akonadi control process did not report any errors during its current startup. Test 17: SUCCESS -------- No previous Akonadi control error log found. Details: The Akonadi control process did not report any errors during its previous startup.
Created attachment 86894 [details] Akonadi bug report
Do I understand it correctly that /home/KSAT/ismelhaus is a remote mount via Samba, AFS or something like that? There is a known problem with MySQL not working with some remote FS (I only know it works with NFS), see for example bug 326188. You can try PostgreSQL, or SQLite, or if you want to stick with MySQL, you either have to use system instance of a centralized server.
No, that's local directory (ext4), no remote mounting at all. The computer, resp. all the mentioned computers have both local users and domain users. All of them have local home (the domain usershaving their home in /home/domain/ subdirectory). The diference between them is only in authentication, i.e. local and winbind through krb5.
Ok, thanks for clarification. This is almost definitely not an Akonadi bug, but either a MySQL bug, or problem in your configuration. The problem is, that MySQL server process cannot access the configuration file ("Could not open required defaults file: /home/KSAT/ismelhaus/.local/share/akonadi/mysql.conf"), so I recommend to check that the file (and everything in that folder) is accessible. I'll close this bug as invalid, if you are sure that your configuration is correct, please open a ticket in MySQL tracker.
Yes, I can confirm, that it's not an Akonadi bug. You are right, the problem is with access, but not with the access rights, which are correct. The problem is with Apparmor apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld-akonadi///usr/sbin/mysqld" name="/home/KSAT/ismelhaus/.local/share/akonadi/mysql.conf" pid=12000 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=11107 ouid=11107 It looks like, the problem was with missing variant /home/KSAT/ for {HOMEDIRS} but not sure. But I'm not a big friend with Apparmor. Anyway, working according the official documentation leads to state, where Akonadi doesn't work. So, this is the category, which makes me all the time very sad, i.e. 99% is done, but from user point of view it's unusable. Can you plese help me, where to correct it? Should it be done automatically and by which process Aparmor or Winbind, where homedir for domain users is set or it should be done manually, so only the documentation for adding ubuntu to samba-domain should be corrected by adding an item "apparmor setting". Thank you for your help and would be very happy to be helpfull with moving akonadi and Kontact from "error-free from developer point of view" state to "usable for users" state.
I'm sorry, but I have no idea how AppArmor works, so I can't help. I recommend trying distribution forum/ML, or AppArmor forum. You will more likely find a working solution to your problem.