Announcement

Collapse
No announcement yet.

Akonadi Broken after upgrade to 12.04

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Akonadi Broken after upgrade to 12.04

    Have just upgraded to 12.04, and as usual Akonadi is broken (sigh). Have tried the apparmor fix (which sorted it out after the last upgrade), but this time no luck. It's something to do with mysql, akonadi error log is as follows:

    Database process exited unexpectedly during initial connection!
    executable: "/usr/sbin/mysqld"
    arguments: ("--defaults-file=/home/james/.local/share/akonadi/mysql.conf", "--datadir=/home/james/.local/share/akonadi/db_data/", "--socket=/home/james/.local/share/akonadi/socket-jbhome/mysql.socket")
    stdout: ""
    stderr: ""
    exit code: 1
    process error: "Unknown error"
    "[
    0: akonadiserver() [0x419875]
    1: akonadiserver() [0x419b3c]
    2: /lib/x86_64-linux-gnu/libc.so.6(+0x364c0) [0x7f172cf994c0]
    3: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7f172cf99445]
    4: /lib/x86_64-linux-gnu/libc.so.6(abort+0x17b) [0x7f172cf9cbab]
    5: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+ 0x11b) [0x7f172ea6550b]
    6: akonadiserver() [0x41bc82]
    7: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0xaf) [0x7f172eb01caf]
    8: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(+0x119272) [0x7f172eb0d272]
    9: /usr/lib/x86_64-linux-gnu/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x39) [0x7f172eb16109]
    10: akonadiserver() [0x412e96]
    11: akonadiserver() [0x4a0d33]
    12: akonadiserver() [0x41ca21]
    13: akonadiserver() [0x41e1e5]
    14: akonadiserver() [0x41f8e7]
    15: akonadiserver() [0x4123f2]
    16: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7f172cf8476d]
    17: akonadiserver() [0x412d21]
    ]


    Any suggestions most welcome. Here's my mysql.conf for good measure:


    #
    [mysqld]

    # strict query parsing/interpretation
    # TODO: make Akonadi work with those settings enabled
    # sql_mode=strict_trans_tables,strict_all_tables,str ict_error_for_division_by_zero,no_auto_create_user ,no_auto_value_on_zero,no_engine_substitution,no_z ero_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)
    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_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

    [client]
    default-character-set=utf8
    #
    # 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]
    skip_grant_tables
    skip_networking

    # strict query parsing/interpretation
    # TODO: make Akonadi work with those settings enabled
    #sql_mode=strict_trans_tables,strict_all_tables,st rict_error_for_division_by_zero,no_auto_create_use r,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

    # use InnoDB for transactions and better crash recovery
    default_storage_engine=innodb
    # case-insensitive table names, avoids trouble on windows
    lower_case_table_names=1
    character_set_server=latin1
    collation_server=latin1_general_ci
    table_cache=200
    thread_cache_size=3
    log_bin=mysql-bin
    expire_logs_days=3
    #sync_bin_log=0
    # error log file name, relative to datadir
    log_error=mysql.err
    log_warnings=2
    # 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
    # maximum blob size
    max_allowed_packet=32M
    max_connections=256
    # makes sense when having the same query multiple times
    # makes no sense with prepared statements and/or transactions
    query_cache_type=0
    query_cache_size=0

    innodb_file_per_table=1
    innodb_log_buffer_size=1M
    innodb_additional_mem_pool_size=1M
    # messure database size and adjust
    # SELECT sum(data_length) as bla, sum(index_length) as blub FROM information_schema.tables WHERE table_schema not in ("mysql", "information_schema");
    innodb_buffer_pool_size=80M
    # size of average write burst, keep Innob_log_waits small, keep Innodb_buffer_pool_wait_free small (see show global status like "inno%", show global variables)
    innodb_log_file_size=64M
    innodb_flush_log_at_trx_commit=2

    #2
    Fixed

    Fixed. Had to do the following:

    1. Comment out "#sql_mode=strict_trans_tables" in ~/.config/akonadi/mysql-local.conf (most posts seem to reference ~/.local/share/akonadi/mysql.conf). Don't know why this was uncommented in the first place - probably from trying to fix a previous Akonadi screw-up. This fixed the failure of Akonadi to start.

    2. Add "binlog_format=row" to the same conf file under [mysqld] section. This fixed a subsequent problem where KMail would not display emails or download new ones.

    3. Restart nepomuk and then akonadi.
    Last edited by capnjimnz; Apr 30, 2012, 10:31 PM.

    Comment

    Working...
    X