On Thu, 2009-02-26 at 17:59 -0700, Drew Moseley wrote: > Dan Williams wrote: > > Is HAL being restarted anywhere in here while NM continues to run? > > > Yes it is. That is where I am looking now. In the resync_devices() > routine it seems like the nm_device_finalize is being triggered before > the udi_removed callback. I haven't been able to figure out why but > it looks like the list management may not be correct. Specifically > the g_slist_remove_link() calls are passing in the iter pointer rather > than the iter->data pointer but it looks like it is the iter->data > pointer that has been added to the list. I'm not sure that's relevant > but that is what I am investigating now.
I looked over the code there again, and it's correct AFAICT. g_slist_delete_link() in the sync_devices() function should be doing what its intended to do; it removes one link from the linked list priv->devices and frees the link. It doesn't free the data of course, but that should get correctly unref-ed right below. And after that, the device should no longer be in priv->devices at all. That doesn't mean there isn't a refcounting bug, but I'm still not quite sure what's causing the invalid access later on... Dan _______________________________________________ NetworkManager-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/networkmanager-list
