Bug #48095 Valgrind - uninitialized value rw_lock_set_writer_id_and_recursion_flag()
Submitted: 15 Oct 2009 19:21 Modified: 15 Feb 2011 9:59
Reporter: Patrick Crews Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Partitions Severity:S3 (Non-critical)
Version:5.5 WL#3352 OS:Any
Assigned to: Mikael Ronström CPU Architecture:Any
Tags: partitioning, uninitialized value, valgrind
Triage: Triaged: D2 (Serious)

[15 Oct 2009 19:21] Patrick Crews
Description:
Valgrind warning:
456:==15631== Thread 22:
457:==15631== Conditional jump or move depends on uninitialised value(s)
458:==15631==    at 0x8C4B09D: rw_lock_set_writer_id_and_recursion_flag (sync0rw.ic:283)
459:==15631==    by 0x8C4CC39: rw_lock_x_lock_low (sync0rw.c:558)
460:==15631==    by 0x8C4CE65: rw_lock_x_lock_func (sync0rw.c:617)
461:==15631==    by 0x8CC045C: btr_search_update_hash_on_delete (btr0sea.c:1504)
462:==15631==    by 0x8CAAE28: btr_cur_optimistic_delete (btr0cur.c:2831)
463:==15631==    by 0x8C0EBF3: row_purge_remove_sec_if_poss_low (row0purge.c:286)
464:==15631==    by 0x8C0EF99: row_purge_remove_sec_if_poss (row0purge.c:317)
465:==15631==    by 0x8C0F35D: row_purge_del_mark (row0purge.c:364)
466:==15631==    by 0x8C1089D: row_purge (row0purge.c:641)
467:==15631==    by 0x8C10B17: row_purge_step (row0purge.c:684)
468:==15631==    by 0x8BD3984: que_thr_step (que0que.c:1240)
469:==15631==    by 0x8BD3FFB: que_run_threads_low (que0que.c:1303)
470:==15631==    by 0x8BD4417: que_run_threads (que0que.c:1340)
471:==15631==    by 0x8C59B35: trx_purge (trx0purge.c:1139)
472:==15631==    by 0x8C3E9BD: srv_master_thread (srv0srv.c:2510)
473:==15631==    by 0x403F4FE: start_thread (in /lib/tls/i686/cmov/libpthread-2.9.so)

How to repeat:
Use the RQG:
perl ./runall.pl --basedir=<path>/mysql-5.4 --gendata=conf/partition_pruning.zz --threads=1 --valgrind --Validator=MarkErrorLog --queries=10000 --grammar=conf/partition_pruning.yy

This was done with the row count (in partition_pruning.zz) at 10000
[27 Oct 2009 23:08] Patrick Crews
Unable to repeat this bug with the latest version of the tree.
[15 Feb 2011 8:55] Marko Mäkelä
This is a duplicate of Bug #59307. Valgrind can generate a bogus warning (for comparing uninitialized x==x) when Valgrind instrumentation is not enabled in InnoDB.