
Quoting Ralf Stephan <ralf@...748...>:
Maybe one possibility would be to modify efence to mark freed memory as inaccessible but never actually return it to the pool for re-allocation...
This may not be necessary since inkscape in valgrind-2.4.0 already aborts on startup with... [snip]
No, the invalid reads (in the GC_*mark* functions specifically -- other invalid reads wouldn't be OK) are a necessary rseult of performing conservative garbage collection. You can expect them during normal operation.
However, the invalid write resulting in a crash is the result of an incompatibility between valgrind and recent versions of libgc.
[ late-model versions of libgc rely on /proc/self/maps, but valgrind remaps memory in ways which are not reflected there ]
Basically you will have to disable libgc to use valgrind. Try again after setting the _INKSCAPE_GC environment variable to "disable".
-mental