I'm not a fan of invalid frees so I pushed this thing which seems to Work for Me. Could one of you involved in this check if it's correct?
changeset: 15992:979f106f87fc tag: tip user: Jed Brown <jed at 59A2.org> date: Fri May 21 00:14:23 2010 +0200 files: src/mat/impls/aij/mpi/mumps/mumps.c description: MUMPS: Must use Free2 and Free3 with Malloc2 and Malloc3 Instead of this super fragile code (which duplicates both creation logic and knowledge of internals of ConvertToTriples_*_*), how about adding a member describing how the memory was allocated, or allocate zero space for the val member (into a val_allocated member if you need (lu->val) to be false). Jed
