Comment 17 for bug 148003

Revision history for this message
Peter Wainwright (prw) wrote :

I strongly suspect this is a HAL issue, though I cannot confirm it.

This experience makes me suspect HAL:

I recompiled HAL with debugging enabled and optimization off. Then I used gdb to step through lshal after the problem had been triggered.

Running lshal gave "Dumping N devices from the Global device list"; however I saw only N-1 devices in the output. This should be impossible if the database is intact. The only way this can happen is if there is a device in the list whose parent is not in the list. Therefore it seems that the HAL GDL has become corrupt.

Looking more closely using gdb, it seems that the "orphaned" device is the cleartext volume which should have been torn down when the USB stick was removed the first time.

I would suppose that HAL is responsible for removing the child devices when the parent is removed and thus ensuring the integrity of the GDL.