[Crash-utility] Question about extension modules

Dave Anderson anderson at redhat.com
Tue Jan 9 14:33:33 UTC 2018



----- Original Message -----
> Hello Dave,
> 
> Several weeks ago there was a bugzilla report about crash-trace-command
> which was caused by load_module structure change:
> https://bugzilla.redhat.com/show_bug.cgi?id=1520825
> 
> We can solve the problem by updating crash-trace-cmd with the latest
> crash-devel package.

Right.  I try my best to enforce that any changes made to defs.h do not affect
previously compiled extension modules, and one way is to add any new data
structure members to the end of the export structures.  And I did add the
new member to the end of the load_module structure -- but I was not aware 
that the trace.c module walked through an array of the (modified) load_module
data structures that are linked to the global symbol_data_data structure.
If I was aware of that at the time, I may have looked at doing it differently.

> 
> And I'm wondering if there is a need for trace.c to have an error check
> function for this kind of data structure change problems

I thought about suggesting something like that at first, but I'm not sure 
how it could best be done.  Perhaps by adding a "size" or "version" field
to the data structure?  But doing so would require yet another update.  

> or for crash to have some "extensions" test processes when new version
> is released which can find these problems ealier.

Perhaps, but it wouldn't be easy to implement.

But again, 99% of the changes to defs.h should not affect extension
modules.  Although walking through arrays of (modified) exported structures
is a problem, the example of "trace.c" walking through the load_module
array is fairly rare.  

Thanks,
  Dave




More information about the Crash-utility mailing list