[augeas-devel] [Augeas] #165: augeas-libs crash on RHEL6 / PPC64

Augeas trac at fedorahosted.org
Wed Feb 9 16:12:02 UTC 2011


#165: augeas-libs crash on RHEL6 / PPC64
------------------------+---------------------------------------------------
  Reporter:  caioromao  |       Owner:  lutter   
      Type:  defect     |      Status:  assigned 
  Priority:  major      |   Milestone:  next     
 Component:  Augeas     |     Version:  0.7.0    
Resolution:             |    Keywords:  ppc, rhel
------------------------+---------------------------------------------------
Comment (by caioromao):

 This patch is a cleaner workaround for this specific RHEL6 on ppc64 issue.
 Instead of calling PyMem_Free every time with explicit cast for
 ctypes.c_void_p, _libpython.PyMem_Free.argtypes is set accordingly.

 The explicit cast to c_void_p on self.__handle was kept intact since the
 only other way to make it work would be configuring argtypes for
 '''every''' _libaugeas.aug_* call, which would be the Augeas (class)
 bootstrap quite big.

 I think that properly setting up the {{{argtype}}} for every called
 command is the best choice, but doing so elegantly would incur some
 architectural changes which I'm not sure it'd be easily accepted. Probably
 not even the scope of a fix for an issue.

 I'm open to discussion on this matter anyway: I don't think that adding a
 big block of _libaugeas.aug_*.restype/_libaugeas.aug_*.argtypes is a great
 choice and would probably move it outside the class scope. Anyway,
 thoughts on that?

 I've tested this patch on RHEL5 (ppc 32bit, x86 32bit), RHEL6 (ppc 64bit,
 x86 32 bit), Fedora 12 (x86 32bit) and everything seems alright. I don't
 have access to a x86_64 machine so if anyone could test it just to make
 sure it'd be swell.

-- 
Ticket URL: <https://fedorahosted.org/augeas/ticket/165#comment:7>
Augeas <http://augeas.net/>
a configuration API




More information about the augeas-devel mailing list