Bug 1597736 - mysqld crashes when disk is full
Summary: mysqld crashes when disk is full
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: mariadb
Version: 28
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Michal Schorm
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-07-03 14:31 UTC by Alex G.
Modified: 2019-05-28 21:53 UTC (History)
8 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2019-05-28 21:53:25 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
journalctl -xe around crash site (4.95 KB, text/plain)
2018-07-03 14:31 UTC, Alex G.
no flags Details
gdb backtrace because systemd backtraces suck (2.53 KB, text/plain)
2018-07-03 14:33 UTC, Alex G.
no flags Details

Description Alex G. 2018-07-03 14:31:03 UTC
Created attachment 1456256 [details]
journalctl -xe around crash site

Description of problem:

mysqld crashes on startup, and the only trace (no pun intended) is a crash backtrace in the system log

Version-Release number of selected component (if applicable):
3:10.2.14-1.fc28 

How reproducible:
100% when root is full


Steps to Reproduce:
1. Fill up '/'
2. service mariadb start

Actual results:
Job for mariadb.service failed because a fatal signal was delivered causing the control process to dump core.
See "systemctl status mariadb.service" and "journalctl -xe" for details.

'journalctl -xe' shows backtrace, and no real info.

Expected results:
mariadb starts and continues without issue, or it logs to the system log that the disk is full and _elegantly_ shuts down.


Additional info:
It's extremely frustrating for user when something crashes with little indication of what the problem is.

It's even more frustrating as a software engineer to see self-crashing code because everyone knows you don't put freaking assert() in production code. I want to fish-slap the clueless developer who added an assert in a case where it can obviously come back as true. As a courtesy, I'll clean the scales off the fish beforehand.

Comment 1 Alex G. 2018-07-03 14:33:07 UTC
Created attachment 1456257 [details]
gdb backtrace because systemd backtraces suck

Comment 2 Michal Schorm 2018-07-10 11:33:42 UTC
I tried several combinations, but the results seem fine to me:

1) get fresh machine;
   dnf install -y mariadb-server;
   cat /dev/zero > /file;
   systemctl start mariadb;

Job for mariadb.service failed because of unavailable resources or another system error.
See "systemctl status mariadb.service" and "journalctl -xe" for details.

   journactl -xe;

systemd[1]: mariadb.service: Failed to run 'start-pre' task: No space left on device
systemd[1]: mariadb.service: Failed with result 'resources'.
systemd[1]: Failed to start MariaDB 10.2 database server.

---

2) get fresh machine;
   dnf install -y mariadb-server;
   systemctl start mariadb;  # Let the MariaDB initialize itself
   systemctl stop mariadb;
   cat /dev/zero > /file;
   systemctl start mariadb;

Job for mariadb.service failed because of unavailable resources or another system error.
See "systemctl status mariadb.service" and "journalctl -xe" for details.

   journactl -xe;

systemd[1]: mariadb.service: Failed to run 'start-pre' task: No space left on device
systemd[1]: mariadb.service: Failed with result 'resources'.
systemd[1]: Failed to start MariaDB 10.2 database server.

---

3) Simmilar as 1 & 2 with upstream RPMs. I got some helpful info there too.

---


So from this POV it seems fine to me.
On the other hand, it still seems it does a coredump which surely isn't an elegant shutdown as expected. And that's something I'll look deeper into.

Comment 3 Alex G. 2018-07-19 15:26:14 UTC
I can verify that on a fresh install I get the results that you do. I'm not sure what the difference is.

Comment 4 Ben Cotton 2019-05-02 19:23:09 UTC
This message is a reminder that Fedora 28 is nearing its end of life.
On 2019-May-28 Fedora will stop maintaining and issuing updates for
Fedora 28. It is Fedora's policy to close all bug reports from releases
that are no longer maintained. At that time this bug will be closed as
EOL if it remains open with a Fedora 'version' of '28'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 28 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 5 Ben Cotton 2019-05-02 21:17:17 UTC
This message is a reminder that Fedora 28 is nearing its end of life.
On 2019-May-28 Fedora will stop maintaining and issuing updates for
Fedora 28. It is Fedora's policy to close all bug reports from releases
that are no longer maintained. At that time this bug will be closed as
EOL if it remains open with a Fedora 'version' of '28'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 28 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 6 Ben Cotton 2019-05-28 21:53:25 UTC
Fedora 28 changed to end-of-life (EOL) status on 2019-05-28. Fedora 28 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.