Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ptp-dev] Event messages not being freed by proxy

Greg
This is still a problem. It looks like in some cases, the memory allocated 
by check_arg_space is not being freed. I thought the solution was as 
simple as just freeing the data pointed to by m->args[i] when 
m->free_args[i] is non-zero, then freeing m->args and m->free_args, all in 
proxy_serialize_msg. This cleaned up the memory leaks, but then valgrind 
complained about invalid memory accesses since that data is still being 
looked at elsewhere.

It looks like there's similar problems with proxy_deserialize_msg.

I've attached a valgrind log in case that is helpful.

Dave





Greg Watson <g.watson@xxxxxxxxxxxx> 
Sent by: ptp-dev-bounces@xxxxxxxxxxx
07/26/2007 06:00 PM
Please respond to
Parallel Tools Platform general developers <ptp-dev@xxxxxxxxxxx>


To
Parallel Tools Platform general developers <ptp-dev@xxxxxxxxxxx>
cc

Subject
Re: [ptp-dev] Event messages not being freed by proxy






Dave,

Is this still an issue?

Greg

On Jul 20, 2007, at 3:07 PM, Greg Watson wrote:

> How are you creating them and putting them on the event list? As 
> long as proxy_process_msgs() is getting called, then the messages 
> should be freed.
>
> Greg
>
> On Jul 20, 2007, at 1:06 PM, Feiyi Wang wrote:
>
>> Shouldn't
>>
>> void proxy_process_msgs( List * )
>> {
>>               while ((m = (proxy_msg *)RemoveFirst(msg_list)) != NULL) 
{
>>                               callback(m, data);
>>                               free_proxy_msg(m);
>>               }
>> }
>>
>> free all messages all the callback?
>>
>> Feiyi
>>
>> Dave Wootton wrote:
>>> I ran valgrind (3.2.3) on my proxy looking for problems with 
>>> memory leaks. When I do this, it looks like the event messages I 
>>> create and which get sent to the front end are not being freed. 
>>> One example is the attribute definition events I'm sending, which 
>>> look like about 500k bytes allocated and never freed. After I 
>>> create these messages, I put them on the event list to be sent to 
>>> the front end, and assume I'm done with them once I've enqueued 
>>> them, since I have no way to get control back after the message 
>>> has been sent. Is there any way I could be doing something 
>>> resulting in these messages not being freed?
>>> Dave
>>> _______________________________________________
>>> ptp-dev mailing list
>>> ptp-dev@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/ptp-dev
>>
>> _______________________________________________
>> ptp-dev mailing list
>> ptp-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/ptp-dev
>>
>
> _______________________________________________
> ptp-dev mailing list
> ptp-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/ptp-dev
>

_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev

Attachment: valgrind.log.14695
Description: Binary data


Back to the top