Hi,
there is a bug in storage_sparse.hpp that affects insertion into empty sparse vectors and may lead to a memory violation.
Here's a diff:
 
[numeric/ublas] % diff storage_sparse.hpp.saved storage_sparse.hpp
381c381
<             if (it->first == p.first)
---
>             if (it != end () && it->first == p.first)
 
Best,
Jan.