[MDEV-2474] LP:609795 - valgrind warnings for innodb in mariadb-5.1.42 Created: 2010-07-25 Updated: 2012-10-04 Resolved: 2012-10-04 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Mark Callaghan | Assignee: | Kristian Nielsen |
| Resolution: | Not a Bug | Votes: | 0 |
| Labels: | Launchpad | ||
| Attachments: |
|
| Description |
|
What I think is the latest MariaDB release (mariadb-5.1.42) gets many valgrind warnings from xtradb while running innodb regression tests. mysqld was built using: The server is centos 5.2, gcc 4.1.2, valgrind-3.2.1, 64-bit x86 These warnings occur for most or all of the tests: ==12503== Conditional jump or move depends on uninitialised value(s) |
| Comments |
| Comment by Mark Callaghan [ 2010-07-25 ] |
|
Re: valgrind warnings for innodb in mariadb-5.1.42 local_thread = lock->writer_thread; output from the preprocessor of one caller: rw_lock_t* lock, rw_lock_x_lock_func(lock, 0, file, line); ............. void rw_lock_t* lock, const char* file_name, ; i = 0; lock_loop: if (rw_lock_x_lock_low(lock, pass, file_name, line)) { rw_x_spin_round_count += i; return; }else { if (!spinning) { spinning = (1); rw_x_spin_wait_count++; } while (i < srv_n_spin_wait_rounds i++; else { goto lock_loop; }} rw_x_spin_round_count += i; if ((0)) { fprintf(stderr, "Thread %lu spin wait rw-x-lock at %p" " '%s' rnds %lu\n", os_thread_pf(os_thread_get_curr_id()), (void*) lock, lock->lock_name, (ulong) i); } sync_array_reserve_cell(sync_primary_wait_array, rw_lock_set_waiter_flag(lock); if (rw_lock_x_lock_low(lock, pass, file_name, line)) { sync_array_free_cell(sync_primary_wait_array, index); return; }if ((0)) { fprintf(stderr, "Thread %lu OS wait for rw-x-lock at %p" " '%s'\n", os_thread_pf(os_thread_get_curr_id()), (void*) lock, lock->lock_name); } lock->count_os_wait++; sync_array_wait_event(sync_primary_wait_array, index); i = 0; ...... tatic _inline_ rw_lock_t* lock, { os_thread_id_t local_thread; do {} while(0); local_thread = lock->writer_thread; do { if (__builtin_expect(!((ulint)(success)), (0))) { ut_dbg_assertion_failed("success", "./include/sync0rw.ic", (ulint) 283); abort(); } do {} while (0); } while (0);
|
| Comment by Mark Callaghan [ 2010-07-25 ] |
|
Re: valgrind warnings for innodb in mariadb-5.1.42 /* Decrement failed: relock or failed lock */ else { /* Another thread locked before us */ return(FALSE); } |
| Comment by Mark Callaghan [ 2010-07-25 ] |
|
Re: valgrind warnings for innodb in mariadb-5.1.42 |
| Comment by Mark Callaghan [ 2010-07-25 ] |
|
Re: valgrind warnings for innodb in mariadb-5.1.42 ==23433== Conditional jump or move depends on uninitialised value(s) |
| Comment by Mark Callaghan [ 2010-07-27 ] |
|
Re: [Bug 609795] Re: valgrind warnings for innodb in mariadb-5.1.42 On Tue, Jul 27, 2010 at 12:44 PM, Kristian Nielsen – |
| Comment by Kristian Nielsen [ 2010-07-27 ] |
|
Re: valgrind warnings for innodb in mariadb-5.1.42 I was able to reproduce, however the problem here is with the -DHAVE_purify in In MariaDB, this macro was renamed to HAVE_valgrind. So the problem is solved ./configure --enable-thread-safe-client --with-plugins=partition,csv,blackhole,myisam,heap,xtradb --with-fast-mutexes --with-extra-charsets=all --with-debug C_EXTRA_FLAGS="-fno-omit-frame-pointer -fno-strict-aliasing -DHAVE_valgrind -Wall" And yes, despite the new name making more sense, this rename was in retrospect |
| Comment by Rasmus Johansson (Inactive) [ 2010-07-27 ] |
|
Launchpad bug id: 609795 |