[MDEV-6784] OQGRAPH: External Connection Crashes MariaDB with "InnoDB: Assertion failure" Created: 2014-09-25 Updated: 2015-05-03 Due: 2014-11-05 Resolved: 2015-05-03 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB, Storage Engine - OQGRAPH |
| Affects Version/s: | 10.0.10, 10.0.11, 10.0.12, 10.0.13 |
| Fix Version/s: | 10.0.18 |
| Type: | Bug | Priority: | Major |
| Reporter: | Brian LaVallee | Assignee: | Andrew McDonnell |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | oqgraph | ||
| Environment: |
CentOS 6.5: 2.6.32-431.29.2.el6.i686: CentOS-6.5-i386-minimal.iso: VMware ESXi = 1vCPU/8192MB |
||
| Attachments: |
|
||||||||||||
| Issue Links: |
|
||||||||||||
| Description |
|
I've spent about a week trying to build a stable instance of OQGRAPH for use by a webserver. Finding that almost every-other external query results in InnoDB: Assertion failure. But no issues when using the CLI on localhost or a remote_host.
Note: The first query normally works, and subsequent queries fail. I've been using a stored procedure that normally restarts MariaDB, so every-other-query works.
– This is a clean build, minimal CentOS, EPEL, & MariaDB from the repo. I've tried multiple MariaDB (default config) builds, even reverted to CentOS 6.3 to see if that would make a difference. I originally suspected the problem might with PHP, but no difference between mysql ' mysqli. Then I found the issue was reproducible from bash. – Attached you will find the syslog message, stored procedure, plus the DB schema and quick setup I have been working with. If you have any questions, please let me know. |
| Comments |
| Comment by Elena Stepanova [ 2014-09-26 ] | |||||||||||||||||||||||||||
|
Hi Brian, Could you please clarify some points regarding the problem description? I assume lines starting with "OK" mean that the query went well, and "NG" – that the query failed? There is an open bug | |||||||||||||||||||||||||||
| Comment by Brian LaVallee [ 2014-09-29 ] | |||||||||||||||||||||||||||
|
Hi Elena, OK = Okay Anyway... Yes the issue looks similar to I originally noticed the issue from a remote PHP connection, but narrowed it down to subsequent queries outside of the CLI. Even batch mode on the localhost, so "external connection" might be the wrong phrase. Especially since a CLI connection from a "remote host" DOES NOT encounter the issue. "non-CLI" is probably the most accurate way to describe what I mean by "external connections". The steps to reproduce are below. I've actually followed these steps multiple times (10.0.11/10.0.12/10.0.13) with the same results. Even found the same issue with Fedora20 (similar steps).
– When using a simple 'stored procedures' the results were slightly different –
– Control / Regular InnoDB tables do not have any issues –
~~~~~ Personally, I just discovered oqgraph and testing with the CLI looks like it will meet my needs. While I am moving to MariaDB 5.5 (oqgraph v2), I do look forward to using v3. So let me know if you need any additional information, I can even provide some server resources if you need them. Sincerely, | |||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2014-10-22 ] | |||||||||||||||||||||||||||
|
I installed CentOS 6.5 2.6.32-431.29.2.el6.i686, MariaDB 10.0.13, and went through the steps as described above (except for the minimal image which I didn't find for 6.5), but still didn't get the failure. My assumptions about pseudo-code above were as follows:
Please confirm that the assumptions above are correct, then I'll pass it over to our InnoDB expert to evaluate your theory about shim. | |||||||||||||||||||||||||||
| Comment by Brian LaVallee [ 2014-10-23 ] | |||||||||||||||||||||||||||
|
Hi Elena, Yes, your assumptions about my psudo-code are correct. I followed those steps many (many many) times. I am actually disheartened to see your results did not encounter the issue. One test that you did not try, was from an external host. Sincerely, | |||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2014-10-23 ] | |||||||||||||||||||||||||||
|
b.lavallee@globaltank.jp, jplindst, andymc73, andymc73, maybe you've seen anything similar on your side? jplindst, see Brian's guess about shim – I'm clueless about it, do you think whether it might be true, and if so, what should I do to exploit the alleged problem?
| |||||||||||||||||||||||||||
| Comment by Jan Lindström (Inactive) [ 2014-10-23 ] | |||||||||||||||||||||||||||
|
Can you repeat the problem using debug build and using gdb/ddd ? If yes, could you provide following output when assertion is hit: thread apply all bt R: Jan | |||||||||||||||||||||||||||
| Comment by Andrew McDonnell [ 2014-10-23 ] | |||||||||||||||||||||||||||
|
I suspect that this is the same problem discussed at length in Essentially, I managed to trace the problem to a flaw in the way oqgraph handles connections from different 'contexts' (for want of a better word), but at the time I was unable to see an easy fix. My best effort description of the problem is this comment at the end of It will involve looking at how other engines that use a shim-like mechanism resolve the same problem and working the fix into oqgraph. I will send the link to this bug Arjen and Antony (the original designer) in case they have some ideas... at the time Antony suggested that something called 'toku' might be worth looking at, but at this stage I never got that far Unfortunately I have had other committments that have prevented me from looking at this the last few months. I am hoping to get back and spend some time on this across November, with some luck. I suspect I will need some help though; With work and conference commitments I dont think I will be able to find enough of the time I believe it would take me to learn enough about the internals of things and fix things properly, if nothing obvious rears its head from the other engines, before Christmas | |||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2014-10-24 ] | |||||||||||||||||||||||||||
|
Since you have more ideas about the issue than anyone of us, is it okay with you if I assign it to you for now, so that it doesn't get forgotten and lost? | |||||||||||||||||||||||||||
| Comment by Andrew McDonnell [ 2014-10-24 ] | |||||||||||||||||||||||||||
|
ok | |||||||||||||||||||||||||||
| Comment by Andrew McDonnell [ 2014-10-30 ] | |||||||||||||||||||||||||||
|
Can you please try testing this building MariaDB using the branch: https://github.com/pastcompute/server/tree/oqgraph_mdev_6282_6345_5748
| |||||||||||||||||||||||||||
| Comment by Andrew McDonnell [ 2015-02-27 ] | |||||||||||||||||||||||||||
|
I just rebased my work on latest 10.1 and intending to submit pull request after re-testing | |||||||||||||||||||||||||||
| Comment by Andrew McDonnell [ 2015-02-27 ] | |||||||||||||||||||||||||||
|
10.1 version pull request: https://github.com/MariaDB/server/pull/16 I'll be trying to get 10.0 sorted soon | |||||||||||||||||||||||||||
| Comment by Andrew McDonnell [ 2015-02-28 ] | |||||||||||||||||||||||||||