Bug 480990 - KMail crashes when trying to open .mbox file
Summary: KMail crashes when trying to open .mbox file
Status: REPORTED
Alias: None
Product: kmail2
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2024-02-07 09:32 UTC by K0RR
Modified: 2024-05-18 10:30 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (17.46 KB, text/plain)
2024-05-18 10:30 UTC, K0RR
Details

Note You need to log in before you can comment on or make changes to this bug.
Description K0RR 2024-02-07 09:32:01 UTC
Application: kmail (5.24.4 (23.08.4))

Qt Version: 5.15.10
Frameworks Version: 5.113.0
Operating System: Linux 6.7.1-060701-generic x86_64
Windowing System: X11
Distribution: Rhino Linux 2023.4 (mainline)
DrKonqi: 5.27.10 [KCrashBackend]

-- Information about the crash:
what do you want me to input here? I have no idea waht causes this

The crash can be reproduced every time.

-- Backtrace:
Application: KMail (kmail), signal: Aborted

[KCrash Handler]
#4  0x0000702561a9998b in pthread_kill () at /lib/x86_64-linux-gnu/libc.so.6
#5  0x0000702561a42856 in raise () at /lib/x86_64-linux-gnu/libc.so.6
#6  0x0000702561a268b7 in abort () at /lib/x86_64-linux-gnu/libc.so.6
#7  0x0000702561ea5fde in ??? () at /lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x0000702561ebae5c in ??? () at /lib/x86_64-linux-gnu/libstdc++.so.6
#9  0x0000702561ea5a29 in std::terminate() () at /lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x0000702561ebb0e8 in __cxa_throw () at /lib/x86_64-linux-gnu/libstdc++.so.6
#11 0x0000702562290216 in qBadAlloc() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x0000702562294bad in ??? () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x0000702562338bdc in QByteArray::append(char const*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x000070256251122e in ??? () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x0000702560339305 in KIO::TransferJob::data(KIO::Job*, QByteArray const&) () at /lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#16 0x000070256251122e in ??? () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x000070256030aad9 in KIO::SlaveInterface::data(QByteArray const&) () at /lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#18 0x000070256030d098 in KIO::SlaveInterface::dispatch(int, QByteArray const&) () at /lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#19 0x000070256030b42b in KIO::SlaveInterface::dispatch() () at /lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#20 0x00007025603106d1 in KIO::Slave::gotInput() () at /lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#21 0x000070256251122e in ??? () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007025625046f3 in QObject::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x000070256316bce5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007025624d6558 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00007025624d9d7d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x0000702562533eff in ??? () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x000070255e1462e5 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x000070255e1a45ff in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x000070255e144403 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x0000702562533569 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#31 0x00007025624d4ecb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#32 0x00007025624dd828 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#33 0x00006219da5171b9 in ??? ()
#34 0x0000702561a280d0 in ??? () at /lib/x86_64-linux-gnu/libc.so.6
#35 0x0000702561a28189 in __libc_start_main () at /lib/x86_64-linux-gnu/libc.so.6
#36 0x00006219da5178a5 in ??? ()
[Inferior 1 (process 55723) detached]

Reported using DrKonqi
Comment 1 K0RR 2024-05-18 10:30:19 UTC
Created attachment 169591 [details]
New crash information added by DrKonqi

kmail (5.24.5 (23.08.5)) using Qt 5.15.13

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/k0rr/.config/akonadi/akonadiserverrc':
[Debug]
Tracer=null

[%General]
Driver=QMYSQL

[QMYSQL]
Host=
Name=akonadi
Options="UNIX_SOCKET=/run/user/1002/akonadi/mysql.socket"
ServerPath=/usr/sbin/mysqld
StartServer=true


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'.
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 8.0.36-2ubuntu3 for Linux on x86_64 ((Ubuntu))


Test 5:  ERROR
--------

MySQL server log contains errors.
Details: The MySQL server error log file '<a href="/home/k0rr/.local/share/akonadi/db_data/mysql.err">/home/k0rr/.local/share/akonadi/db_data/mysql.err</a>' contains errors.

File content of '/home/k0rr/.local/share/akonadi/db_data/mysql.err':
2024-05-18T10:27:49.828221Z 0 [Warning] [MY-010097] [Server] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
2024-05-18T10:27:49.828266Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.36-2ubuntu3) starting as process 40870
2024-05-18T10:27:49.829748Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2024-05-18T10:27:49.829753Z 0 [Warning] [MY-013244] [Server] --collation-server: 'utf8mb3_general_ci' is a collation of the deprecated character set UTF8MB3. Please consider using UTF8MB4 with an appropriate collation instead.
2024-05-18T10:27:49.832977Z 0 [Warning] [MY-013907] [InnoDB] Deprecated configuration parameters innodb_log_file_size and/or innodb_log_files_in_group have been used to compute innodb_redo_log_capacity=134217728. Please use innodb_redo_log_capacity instead.
2024-05-18T10:27:49.833941Z 1 [System] [MY-011012] [Server] Starting upgrade of data directory.
2024-05-18T10:27:49.833951Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-05-18T10:27:49.852002Z 1 [ERROR] [MY-012224] [InnoDB] Tablespace flags are invalid in datafile: ./ibdata1, Space ID:0, Flags: 21. Please refer to http://dev.mysql.com/doc/refman/8.0/en/innodb-troubleshooting-datadict.html for how to resolve the issue.
2024-05-18T10:27:49.852033Z 1 [ERROR] [MY-012237] [InnoDB] Corrupted page [page id: space=0, page number=0] of datafile './ibdata1' could not be found in the doublewrite buffer.
2024-05-18T10:27:49.852042Z 1 [ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Data structure corruption.
2024-05-18T10:27:50.351961Z 1 [ERROR] [MY-011013] [Server] Failed to initialize DD Storage Engine.
2024-05-18T10:27:50.352303Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2024-05-18T10:27:50.352328Z 0 [ERROR] [MY-010119] [Server] Aborting
2024-05-18T10:27:50.352796Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.36-2ubuntu3)  (Ubuntu).


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/xdg//akonadi/mysql-global.conf">/etc/xdg//akonadi/mysql-global.conf</a>.

File content of '/etc/xdg//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
#
# measure 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 buffer InnoDB uses to cache data and indexes of its tables (default:128M)
# Larger values means less I/O
innodb_buffer_pool_size=128M

# 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)
loose_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))
loose_query_cache_size=0

# Do not cache results (default:1)
loose_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

# KUBUNTU:
# Unset the export dir check as only the full mysql-server package creates it
secure_file_priv=

# KUBUNTU:
# workaround for 5.7 being more strict with column types
# (reverts to 5.6 behavior)
sql_mode=NO_ENGINE_SUBSTITUTION

[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/k0rr/.local/share/akonadi/mysql.conf">/home/k0rr/.local/share/akonadi/mysql.conf</a> and is readable.

File content of '/home/k0rr/.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
#
# measure 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 buffer InnoDB uses to cache data and indexes of its tables (default:128M)
# Larger values means less I/O
innodb_buffer_pool_size=128M

# 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)
loose_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))
loose_query_cache_size=0

# Do not cache results (default:1)
loose_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

# KUBUNTU:
# Unset the export dir check as only the full mysql-server package creates it
secure_file_priv=

# KUBUNTU:
# workaround for 5.7 being more strict with column types
# (reverts to 5.6 behavior)
sql_mode=NO_ENGINE_SUBSTITUTION

[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:
akonadictl 5.24.5 (23.08.5)


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/cinnamon:/usr/share/gnome:/home/k0rr/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share'; make sure this includes all paths where Akonadi agents are installed.

Directory listing of '/usr/share/akonadi/agents':
akonadiindexingagent.desktop
akonotesresource.desktop
archivemailagent.desktop
birthdaysresource.desktop
contactsresource.desktop
davgroupwareresource.desktop
ewsmtaresource.desktop
ewsresource.desktop
followupreminder.desktop
googleresource.desktop
icaldirresource.desktop
icalresource.desktop
imapresource.desktop
kolabresource.desktop
maildirresource.desktop
maildispatcheragent.desktop
mailfilteragent.desktop
mailmergeagent.desktop
mboxresource.desktop
migrationagent.desktop
mixedmaildirresource.desktop
newmailnotifieragent.desktop
notesagent.desktop
notesresource.desktop
openxchangeresource.desktop
pop3resource.desktop
sendlateragent.desktop
tomboynotesresource.desktop
unifiedmailboxagent.desktop
vcarddirresource.desktop
vcardresource.desktop

Environment variable XDG_DATA_DIRS is set to '/usr/share/cinnamon:/usr/share/gnome:/home/k0rr/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share'

Test 14:  SUCCESS
--------

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

Test 15:  SUCCESS
--------

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

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.

-- Backtrace (Reduced):
#11 0x00007bc70d290236 in qBadAlloc() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007bc70d294bf5 in ??? () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007bc70d338f2c in QByteArray::append(char const*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007bc70d512e16 in ??? () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007bc70b139745 in KIO::TransferJob::data(KIO::Job*, QByteArray const&) () at /lib/x86_64-linux-gnu/libKF5KIOCore.so.5