[MDEV-8206] [PATCH] OQGraph crash caused by SELECT queries Created: 2015-05-21 Updated: 2016-04-24 Resolved: 2016-04-24 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - OQGRAPH |
| Affects Version/s: | 10.0.19 |
| Fix Version/s: | 10.0.25, 10.1.14 |
| Type: | Bug | Priority: | Major |
| Reporter: | Heinz Wiesinger | Assignee: | Sergei Golubchik |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | contribution, oqgraph | ||
| Attachments: |
|
||||||||||||||||
| Issue Links: |
|
||||||||||||||||
| Sprint: | 10.0.24, 10.0.25 | ||||||||||||||||
| Description |
|
I deployed MariaDB 10.0.19 on our servers and encountered a crash that seems to happen irregularly after SELECT queries on an OQGraph table. It was reproducably happening on two servers, both running CentOS 7 (in a master-slave setup). I have so far been unable to reproduce the crash on any other system or even CentOS 7 inside a VM. I since was forced to revert those servers back to 5.5, but I would appreciate any pointers on how I could reproduce the crash I got. |
| Comments |
| Comment by Elena Stepanova [ 2015-05-22 ] | |||||||||||||||||||||||||||||
|
So, you downgraded both servers where the problem was observed, and you are not getting the crash anymore? If you still have a server where it happens, please enable the general log for a while (until the next crash). After the server crashes, store both the general log and error log, this way we'll be able to find the guilty query. | |||||||||||||||||||||||||||||
| Comment by Heinz Wiesinger [ 2015-05-25 ] | |||||||||||||||||||||||||||||
|
I tried reproducing it on a similar setup running CentOS 6, but no dice. I can't reproduce it on any other setup so far. I'm afraid the affected servers are blocked for the next 1-2 months and I can't touch them during that period. That's why I was hoping to be able to reproduce it elsewhere :/ I can say however that the query itself didn't really matter. Any kind of SELECT query on the oqgraph table could cause the crash, from a simple "SELECT * FROM table" to a dijkstra shortest path query, just not every time. | |||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2015-07-13 ] | |||||||||||||||||||||||||||||
|
Closing for now as not reproducible. Please comment to re-open if you encounter the problem again. | |||||||||||||||||||||||||||||
| Comment by Heinz Wiesinger [ 2015-09-25 ] | |||||||||||||||||||||||||||||
|
Managed to finally reproduce this again, error and general log attached. | |||||||||||||||||||||||||||||
| Comment by Heinz Wiesinger [ 2015-09-25 ] | |||||||||||||||||||||||||||||
|
Got a debug version of mariadb installed on the affected server and managed to reproduce the crash. General log and error log attached as well, should contain more useful information now. | |||||||||||||||||||||||||||||
| Comment by Michael Widenius [ 2015-09-25 ] | |||||||||||||||||||||||||||||
|
pprkut (on Freenode IRC) has still this issue and think he can reproduce it) | |||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2015-09-25 ] | |||||||||||||||||||||||||||||
|
pprkut, thanks.
| |||||||||||||||||||||||||||||
| Comment by Heinz Wiesinger [ 2015-09-28 ] | |||||||||||||||||||||||||||||
|
Uploaded the files as requested. Please let me know if you need anything else. | |||||||||||||||||||||||||||||
| Comment by Andrew McDonnell [ 2015-11-16 ] | |||||||||||||||||||||||||||||
|
Just a punt, but the following patch might work diff --git a/storage/oqgraph/ha_oqgraph.cc b/storage/oqgraph/ha_oqgraph.cc int ha_oqgraph::extra(enum ha_extra_function operation) return edges->file->extra(operation); If it does I'll submit a pull request | |||||||||||||||||||||||||||||
| Comment by Heinz Wiesinger [ 2015-11-30 ] | |||||||||||||||||||||||||||||
|
I tried the patch with 10.0.22 and it looks to be working. With my testcase I get a bunch of crashes without the patch, whereas it runs smoothly and stable with the patch | |||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2016-01-08 ] | |||||||||||||||||||||||||||||
|
andymc73, see above – please do submit the pull request if you haven't done it yet. | |||||||||||||||||||||||||||||
| Comment by Andrew McDonnell [ 2016-01-22 ] | |||||||||||||||||||||||||||||
|
Hi, elenst I just made the pull requests https://github.com/MariaDB/server/pull/152 against 10.1 branch Note I also have an open pull request with additional test cases for previous issues: | |||||||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2016-02-10 ] | |||||||||||||||||||||||||||||
|
andymc73, shall I merge now? I see there are some comments about the patch on github. I'll wait until you confirm that it's ok to merge. If it'll be this week, the patch will make it into 10.0.24. | |||||||||||||||||||||||||||||
| Comment by Andrew McDonnell [ 2016-04-09 ] | |||||||||||||||||||||||||||||
|
Sorry this got lost ... I just pushed a commit that address the comment against https://github.com/MariaDB/server/pull/153 so that should be good to go to finally resolve this off... https://github.com/MariaDB/server/pull/152/commits/7c968ccc635a13b30210f09b7d57dc1852e26801 https://github.com/MariaDB/server/pull/153/commits/19b132327e6220176b562a4e1533345b275dc409 I noticed other uses of current_thd but perhaps that can be made a separate issue if there is a performance problem, so this crash bug can be marked resolved |