On Tue, Jan 28, 2014 at 09:24:13PM +0100, Florian Lohoff wrote: > > Hi, > > i am using urcu hashes for indexing network packets. I am currently > reading a pcap file for replaying so i am single threaded right now. > I am indexing the same packet in multiple different hashes. > > I have now added call_rcu for freeing structures and now i experience > hangs. > > As soon as i remove the call_rcu the code runs through. with the call_rcu > it hangs after a couple thousand packets in an cds_lfht_add. > > As i find RCU still a little mind twisting i fail to find a path > for debugging. > > Ah - this is urcu 0.7.7 on Debian/Wheezy amd64
Using 0.8.1 with DEBUG_RCU, adding a second thread calling synchronize_rcu regularly gave an assert sometimes which showed some broken state. Disabling the last free() caused the process to finish so i found a small bug causing a removal on a hash to fail. I freed the memory and there was your hash corruption. Sorry for the noise ... Flo -- Florian Lohoff [email protected]
signature.asc
Description: Digital signature
_______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
