Bug 313614

Summary: Should be possible to set a simple alarm using kalarm without having akonadi running
Product: [Applications] kalarm Reporter: thnielsen <thnielsen>
Component: generalAssignee: David Jarvie <djarvie>
Status: CLOSED NOT A BUG    
Severity: grave CC: thnielsen
Priority: NOR    
Version: KDE 4   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description thnielsen 2013-01-21 12:35:40 UTC
if akonadi is not running, no alarms can be setin kalarm, and AFAIK, there is no other plasma avail that allows to program a simple alarm later today, when i have to leave work, to be in time to pick up my son from school :-)

Reproducible: Always

Steps to Reproduce:
1.stop akonadi
2.click on kalarm in ("boite a miniatures") the little icons, i forgot the original name, where klipper, networkmanager and friends sits
3. kalarm pops up ith a message saying "go away" akonadi is not running.
Actual Results:  
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 '/root/.config/akonadi/akonadiserverrc':
[%General]
Driver=QMYSQL

[QMYSQL]
Name=akonadi
Host=
Options="UNIX_SOCKET=/root/.local/share/akonadi/socket-linux-p8rs.site/mysql.socket"
ServerPath=/usr/sbin/mysqld
StartServer=true


Test 2:  ERROR
--------

Akonadi was started as root
Details: Running Internet-facing applications as root/administrator exposes you to many security risks. MySQL, used by this Akonadi installation, will not allow itself to run as root, to protect you from these risks.

Test 3:  SUCCESS
--------

MySQL server found.
Details: You have currently configured Akonadi to use the MySQL server '/usr/sbin/mysqld'.
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: /usr/sbin/mysqld  Ver 5.5.28-log for Linux on x86_64 (Source distribution)


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 '/root/.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)
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


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='/root/.local/share/akonadi/mysql.conf'>/root/.local/share/akonadi/mysql.conf</a> and is readable.

File content of '/root/.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)
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


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.9.0


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:  ERROR
--------

Nepomuk search service not registered at D-Bus.
Details: The Nepomuk search service is not registered at D-Bus which typically means it was not started or encountered a fatal error during startup.

Test 13:  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 14:  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/local/share:/usr/share'; make sure this includes all paths where Akonadi agents are installed.

Directory listing of '/usr/share/akonadi/agents':
akonadinepomukfeederagent.desktop
akonotesresource.desktop
archivemailagent.desktop
birthdaysresource.desktop
contactsresource.desktop
davgroupwareresource.desktop
googlecalendarresource.desktop
googlecontactsresource.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
microblog.desktop
mixedmaildirresource.desktop
mtdummyresource.desktop
nepomuktagresource.desktop
nntpresource.desktop
notesresource.desktop
openxchangeresource.desktop
pop3resource.desktop
vcarddirresource.desktop
vcardresource.desktop

Environment variable XDG_DATA_DIRS is set to '/usr/local/share:/usr/share'

Test 15:  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='/root/.local/share/akonadi/akonadiserver.error'>/root/.local/share/akonadi/akonadiserver.error</a>.

File content of '/root/.local/share/akonadi/akonadiserver.error':
Database process exited unexpectedly during initial connection! 
executable: "/usr/sbin/mysqld" 
arguments: ("--defaults-file=/root/.local/share/akonadi/mysql.conf", "--datadir=/root/.local/share/akonadi/db_data/", "--socket=/root/.local/share/akonadi/socket-linux-p8rs.site/mysql.socket") 
stdout: "" 
stderr: "130121  9:46:15 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

130121  9:46:15 [ERROR] Aborting

130121  9:46:15 [Note] /usr/sbin/mysqld: Shutdown complete

" 
exit code: 1 
process error: "Unknown error" 
"[
0: akonadiserver(_Z11akBacktracev+0x34) [0x45a304]
1: akonadiserver() [0x45a641]
2: /lib64/libc.so.6(+0x35450) [0x7fbd7c722450]
3: /lib64/libc.so.6(gsignal+0x35) [0x7fbd7c7223d5]
4: /lib64/libc.so.6(abort+0x148) [0x7fbd7c723858]
5: /usr/lib64/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x74) [0x7fbd7e1f9c24]
6: akonadiserver(_ZN15FileDebugStream9writeDataEPKcx+0x9b) [0x45c3ab]
7: /usr/lib64/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0xb4) [0x7fbd7e2932b4]
8: /usr/lib64/libQtCore.so.4(+0x11bf5f) [0x7fbd7e29df5f]
9: /usr/lib64/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x3b) [0x7fbd7e2a655b]
10: akonadiserver(_ZN13DbConfigMysql19startInternalServerEv+0x15aa) [0x4d407a]
11: akonadiserver(_ZN7Akonadi13AkonadiServer20startDatabaseProcessEv+0xc7) [0x45d067]
12: akonadiserver(_ZN7Akonadi13AkonadiServerC1EP7QObject+0xac) [0x45df9c]
13: akonadiserver(_ZN7Akonadi13AkonadiServer8instanceEv+0x47) [0x45f687]
14: akonadiserver(main+0x10a) [0x4541fa]
15: /lib64/libc.so.6(__libc_start_main+0xf5) [0x7fbd7c70ea15]
16: akonadiserver() [0x4549d1]
]
" 


Test 16:  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='/root/.local/share/akonadi/akonadiserver.error.old'>/root/.local/share/akonadi/akonadiserver.error.old</a>.

File content of '/root/.local/share/akonadi/akonadiserver.error.old':
Database process exited unexpectedly during initial connection! 
executable: "/usr/sbin/mysqld" 
arguments: ("--defaults-file=/root/.local/share/akonadi/mysql.conf", "--datadir=/root/.local/share/akonadi/db_data/", "--socket=/root/.local/share/akonadi/socket-linux-p8rs.site/mysql.socket") 
stdout: "" 
stderr: "130121  9:46:14 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

130121  9:46:14 [ERROR] Aborting

130121  9:46:14 [Note] /usr/sbin/mysqld: Shutdown complete

" 
exit code: 1 
process error: "Unknown error" 
"[
0: akonadiserver(_Z11akBacktracev+0x34) [0x45a304]
1: akonadiserver() [0x45a641]
2: /lib64/libc.so.6(+0x35450) [0x7f71ecf58450]
3: /lib64/libc.so.6(gsignal+0x35) [0x7f71ecf583d5]
4: /lib64/libc.so.6(abort+0x148) [0x7f71ecf59858]
5: /usr/lib64/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x74) [0x7f71eea2fc24]
6: akonadiserver(_ZN15FileDebugStream9writeDataEPKcx+0x9b) [0x45c3ab]
7: /usr/lib64/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0xb4) [0x7f71eeac92b4]
8: /usr/lib64/libQtCore.so.4(+0x11bf5f) [0x7f71eead3f5f]
9: /usr/lib64/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x3b) [0x7f71eeadc55b]
10: akonadiserver(_ZN13DbConfigMysql19startInternalServerEv+0x15aa) [0x4d407a]
11: akonadiserver(_ZN7Akonadi13AkonadiServer20startDatabaseProcessEv+0xc7) [0x45d067]
12: akonadiserver(_ZN7Akonadi13AkonadiServerC1EP7QObject+0xac) [0x45df9c]
13: akonadiserver(_ZN7Akonadi13AkonadiServer8instanceEv+0x47) [0x45f687]
14: akonadiserver(main+0x10a) [0x4541fa]
15: /lib64/libc.so.6(__libc_start_main+0xf5) [0x7f71ecf44a15]
16: akonadiserver() [0x4549d1]
]
" 


Test 17:  SUCCESS
--------

No current Akonadi control error log found.
Details: The Akonadi control process did not report any errors during its current startup.

Test 18:  SUCCESS
--------

No previous Akonadi control error log found.
Details: The Akonadi control process did not report any errors during its previous startup.



Expected Results:  
accessible kalarm window to set alarms
Comment 1 David Jarvie 2013-01-21 14:44:54 UTC
If the bug you are reporting is what the bug title says, i.e. that KAlarm should be usable without Akonadi running, then if you are using the Akonadi version of KAlarm, that is by design and therefore not a bug. There is a version of KAlarm which doesn't use Akonadi, although OpenSUSE probably doesn't provide a package containing that version of KAlarm. You can if you wish download a package from the KAlarm website, http://www.astrojar.org.uk/kalarm, or alternatively rebuild both kalarm and kdepimlibs with the appropriate build options.

If the bug you are reporting is that Akonadi fails to start up, please change the title of this bug report to state this, and select Akonadi as the product instead of KAlarm. Also, please state which version of kdepim or kalarm which you are using.
Comment 2 thnielsen 2013-01-21 17:35:22 UTC
ok i was not aware that there was already a version avail without akonadi - looks like i will have to file an openSuSE bug then :-)
I will try my luck at SuSE - thanks for the quick followup.
Comment 3 thnielsen 2013-01-21 17:43:58 UTC
opened openSuSE bug:
https://bugzilla.novell.com/show_bug.cgi?id=799680
Comment 4 David Jarvie 2013-01-22 09:56:05 UTC
Resolved as invalid, since KAlarm can already be built to run in non-Akonadi mode.