Ralph pinged Edgar and me about this off-list -- I speculated that that chunk 
of code could be replaced with:

   OBJ_RELEASE(ompi_mpi_comm_parent);
   ompi_mpi_comm_parent = newcomm;

...but that was after only a quick look at the code.  :-)  There might well 
have been a good reason why it wasn't written that way in the first place.



On Aug 25, 2010, at 1:25 PM, George Bosilca wrote:

> In this particular case the compiler is both right and wrong. It is right to 
> complain, because as Paul pointed out, there is a free on a non-malloced 
> object (ompi_mpi_comm_null). However, this free is protected by the reference 
> count going to zero, and this should never happens in this particular piece 
> of code (hopefully!).
> 
> What we really need here is one of the following:
> 1) to simply decrease the reference count once, to signal that 
> ompi_comm_parent is not using the ompi_mpi_comm_null anymore. Unfortunately, 
> we don't have such a macro.
> 
> 2) As, in this code, we handle only statically allocated objects remove the 
> OBJ_RELEASE from the dyn_init code, and their counterpart (OBJ_RETAIN) in the 
> comm_init.c:166.
> 
>  george.
> 
> On Aug 25, 2010, at 12:05 , Paul H. Hargrove wrote:
> 
>> Ralph,
>> 
>> This is seen when compiling Open MPI.  I suspect that gcc's analysis is 
>> seeing a free() call on a value it can prove did not come from malloc() (or 
>> equivalent).  However, if as you say the value is always NULL, then this 
>> would be a false alarm.
>> 
>> -Paul
>> 
>> Ralph Castain wrote:
>>> Hi Paul
>>> 
>>> Much appreciate all your testing!
>>> 
>>> Quick question here: is this on compile, or were you trying to run 
>>> something?
>>> 
>>> We haven't seen this before, but I'm wondering if it is due to us failing 
>>> to initialize an object's fields. If so, then it might be we don't see it 
>>> because those fields usually default to zero (looks like NULL), but you 
>>> might see it if they don't on your system.
>>> 
>>> Ralph
>>> 
>>> On Aug 24, 2010, at 10:19 PM, Paul H. Hargrove wrote:
>>> 
>>> 
>>>> With both recent RCs I get the following suspicious warnings from 
>>>> gcc-4.5.0 on Linux/ia64
>>>> 
>>>> 1.4.3rc1:
>>>> 
>>>> ../../../../../ompi/mca/dpm/orte/dpm_orte.c:963:5: warning: attempt to 
>>>> free a non-heap object 'ompi_mpi_comm_null'
>>>> ../../../../../ompi/mca/dpm/orte/dpm_orte.c:965:5: warning: attempt to 
>>>> free a non-heap object 'ompi_mpi_group_null'
>>>> ../../../../../ompi/mca/dpm/orte/dpm_orte.c:967:5: warning: attempt to 
>>>> free a non-heap object 'ompi_mpi_errors_are_fatal'
>>>> 
>>>> 
>>>> 1.5rc5:
>>>> 
>>>> ../../../../../ompi/mca/dpm/orte/dpm_orte.c:990:5: warning: attempt to 
>>>> free a non-heap object 'ompi_mpi_comm_null'
>>>> ../../../../../ompi/mca/dpm/orte/dpm_orte.c:992:5: warning: attempt to 
>>>> free a non-heap object 'ompi_mpi_group_null'
>>>> ../../../../../ompi/mca/dpm/orte/dpm_orte.c:994:5: warning: attempt to 
>>>> free a non-heap object 'ompi_mpi_errors_are_fatal'
>>>> 
>>>> -Paul
>>>> 
>>>> -- 
>>>> Paul H. Hargrove                          phhargr...@lbl.gov
>>>> Future Technologies Group
>>>> HPC Research Department                   Tel: +1-510-495-2352
>>>> Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900
>>>> 
>>>> _______________________________________________
>>>> devel mailing list
>>>> de...@open-mpi.org
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>>> 
>>> 
>>> 
>>> _______________________________________________
>>> devel mailing list
>>> de...@open-mpi.org
>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>> 
>> 
>> -- 
>> Paul H. Hargrove                          phhargr...@lbl.gov
>> Future Technologies Group
>> HPC Research Department                   Tel: +1-510-495-2352
>> Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900
>> 
>> _______________________________________________
>> devel mailing list
>> de...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> 
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to