[MDEV-10695] Numerous failures in valgrind builder: void MYSQL_BIN_LOG::cleanup(): Assertion `!binlog_xid_count_list.head()' failed Created: 2016-08-28 Updated: 2016-12-05 Resolved: 2016-12-05 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Compiling, Tests |
| Affects Version/s: | 5.5, 10.0, 10.1 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | Elena Stepanova | Assignee: | Sergei Golubchik |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
It first happened on push
etc. According to cross-reference, it never happened before. |
| Comments |
| Comment by Elena Stepanova [ 2016-08-28 ] | |||||||||||||||||||||||||||||||||||||||
|
ATTN nirbhay_c. I can't assign it to two people at once, but whoever sees it first, please check it. | |||||||||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2016-08-28 ] | |||||||||||||||||||||||||||||||||||||||
|
Please note there are other kinds of failures in that build – corruption, server startup failures. They might be related or different, it's impossible to say at this point. | |||||||||||||||||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2016-08-29 ] | |||||||||||||||||||||||||||||||||||||||
|
This crash is a case of strict aliasing. Our release builds are not affected, they're compiled with -fno-strict-aliasing. But valgrind builds aren't. Here're the relevant parts of code:
What happens here, compiler evaluates the while condition, when doing that it loads binlog_xid_count_list.first into a register. Then it uses this register in evaluating the assertion. It does not notice that binlog_xid_count_list.first was modified meanwhile by ilink::unlink() called from base_ilist::get(). | |||||||||||||||||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2016-12-05 ] | |||||||||||||||||||||||||||||||||||||||
|
updated buildbot config to disable strict aliasing in valgrind builds |