[MDEV-10085] mysql process disappears in case of insufficient memory for Connect Engine request Created: 2016-05-19 Updated: 2020-11-06 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - Connect |
| Affects Version/s: | 10.1.14 |
| Fix Version/s: | 10.1 |
| Type: | Bug | Priority: | Major |
| Reporter: | Sergey Antonyuk | Assignee: | Olivier Bertrand |
| Resolution: | Unresolved | Votes: | 1 |
| Labels: | None | ||
| Environment: |
3.2.0-4-amd64 #1 SMP Debian 3.2.35-2 x86_64 GNU/Linux |
||
| Attachments: |
|
| Description |
|
The system executes Connect Engine queries and sometimes the following syslog messages appears:
After that mysql process disappears and then starts crash recovery. There are no segfault messages etc. My opinion is that in the case of lack of memory SQL-query can fail, but the database should not be affected. |
| Comments |
| Comment by Elena Stepanova [ 2016-05-27 ] | |||||||||
|
Please check your system logs, the process is likely to be killed by the system OOM killer. | |||||||||
| Comment by Sergey Antonyuk [ 2016-05-27 ] | |||||||||
|
There are no any logs. It was not killed by OOM killer. | |||||||||
| Comment by Elena Stepanova [ 2016-05-27 ] | |||||||||
|
Sergey.Antonyuk, | |||||||||
| Comment by Sergey Antonyuk [ 2016-05-27 ] | |||||||||
|
Elena, I've attached the log file from our system, please take a look. | |||||||||
| Comment by Elena Stepanova [ 2016-05-28 ] | |||||||||
|
Thanks. Please also attach your cnf file(s). | |||||||||
| Comment by Sergey Antonyuk [ 2016-05-30 ] | |||||||||
|
The lack of memory is not real. System has 4.5 gb of free memory + 16 gb swap. Please find my.cnf file attached. I'll try to find a scenario to reproduce the problem. | |||||||||
| Comment by Elena Stepanova [ 2016-05-30 ] | |||||||||
|
Thanks.
Maybe it has something to do with wheezy and/or our wheezy builds, I'll try there. | |||||||||
| Comment by Elena Stepanova [ 2016-05-30 ] | |||||||||
|
Assigning to bertrandop – I think it should be much easier to track the problem through the code than to reproduce it on the client level. The comments around allocation suggest that it's callers' responsibility to check the returned value, apparently it doesn't happen everywhere. I can get all kinds of crashes if I inject the failure in the allocation artificially, the only difference is that I am not getting silent crashes but "normal" SIGSEGVs instead. I don't know how the silent crash was achieved, maybe it's something specific to the machine. Sergey.Antonyuk, just in the hope for clarity in this matter, in case you can afford crashing the server once more, could you please kill it with SIGSEGV (kill 11) and see if it prints anything in the error log? | |||||||||
| Comment by Sergey Antonyuk [ 2016-05-31 ] | |||||||||
|
kill -11 leads to the following messages in the error log:
| |||||||||
| Comment by Olivier Bertrand [ 2016-06-01 ] | |||||||||
|
I am away from home and will look at that to morrow. Could you provide the exact scenario leading to this error? Thanks. |