You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by Samisa Abeysinghe <sa...@gmail.com> on 2005/10/25 05:41:32 UTC

[Axis2] Guththila Fails for '/'

Guththila fails to parse the the following XML, because there is a '/' 
char in text "Virtusa/LSF" :(

(Thanks Nandika on the tip where it crashes :) )
Note: the following content was taken from Axis2 Java test xml files.

<ns1:Root xmlns:ns1="http://www.apache.org"
    xmlns:ns2="http://www.opensource.lk">
    <ns2:developers xmlns:ns3="http://www.whatever.com">
        <ns3:developer>
            <name>Davanum Srinivas</name>
            <id>dims</id>
            <email>dims@apache.org</email>
            <organization>Computer Associates</organization>
        </ns3:developer>
        <ns3:developer>
            <name>Glen Daniels</name>
            <id>glen</id>
            <email>glen@thoughtcraft.com</email>
            <organization>Sonic Software</organization>
        </ns3:developer>
        <ns3:developer>
            <name>Sanjiva Weerawarana</name>
            <id>sanjiva</id>
            <email>sanjiva@opensource.lk</email>
            <organization>IBM/LSF</organization>
        </ns3:developer>
        <ns3:developer>
            <name>Eran Chinthaka</name>
            <id>chinthaka</id>
            <email>chinthaka@apache.org</email>
            <organization>LSF/Eurocenter DDC</organization>
        </ns3:developer>
        <ns3:developer>
            <name>Jaliya Ekanayake</name>
            <id>jaliya</id>
            <email>jaliya@opensource.lk</email>
            <organization>Virtusa/LSF</organization>
        </ns3:developer>
    </ns2:developers>
</ns1:Root>

Any help to fix the bug would be great .

Thanks,
Samisa...

Re: [Axis2] Fixing memory leaks

Posted by Damitha Kumarage <da...@gmail.com>.
Hi ,

Paul Fremantle wrote:

> +1 samisa. It might be hard work now, but worth it.
>
>  Also I think based on the discussion we had with James, maybe its 
> possible to set some boundaries. We allocate all memory within that 
> execution path from a buffer,  and free all memory from the buffer at 
> the end.

Like we extracted hash from apr why don't we extract the memory pool 
from there too :)

damitha

>
> Paul
>
> On 10/26/05, *Sanjiva Weerawarana* <sanjiva@opensource.lk 
> <ma...@opensource.lk>> wrote:
>
>     On Wed, 2005-10-26 at 07:43 +0600, Samisa Abeysinghe wrote:
>     > Hi All,
>     >     There are few more memory leaks present in the axis2 C code.
>     > (Guththila leaks should be handled seperate IMO)
>     >
>     >     I would like to propose that we use the unit tests to
>     isolate memory
>     > leak problems as much as possible and fix those then and there.
>     I would
>     > like the allocation and de-allocation to be local to a given
>     > class(struct) and module. We should always be providing a free
>     interface
>     > that matches a create interface for each struct, and the free
>     mechanism
>     > should be responsible of dealing with all deallocations. If we
>     are to
>     > have too much coupling in terms of memory allocation and
>     deallocation
>     > across modules and structs, we would run into great trouble in
>     dealing
>     > with fixing leaks.
>     >
>     >     IMHO, it will be a good practice to be concerned of memory leaks
>     > right from the begining and leave no room for memory leaks as
>     much as
>     > possible. So lets try ro keep the memory leaks to *zero* :)
>
>     +1 :). I can imagine this is a bit hard but if we are careful its not
>     impossible!
>
>     Sanjiva.
>
>
>


Re: [Axis2] Fixing memory leaks

Posted by Samisa Abeysinghe <sa...@gmail.com>.
Paul Fremantle wrote:

> +1 samisa. It might be hard work now, but worth it.
>
>  Also I think based on the discussion we had with James, maybe its 
> possible to set some boundaries. We allocate all memory within that 
> execution path from a buffer,  and free all memory from the buffer at 
> the end.

Yes it is a good idea to have a buffer to solve the unreleased memory 
problem. As of now, our allocator does not have a pool, but we can 
easily do that. However, even with the pool, I think it is good to adopt 
the best practice of releasing whatever reserved resources back to the 
pool at the earliest possible. This way we could gaurentee efficient 
memory use. Buffer will help us with garunteed release at the end of the 
execution path, in case memory has not been released when it hits the end.

Thanks,
Samisa...

>
> Paul
>
> On 10/26/05, *Sanjiva Weerawarana* <sanjiva@opensource.lk 
> <ma...@opensource.lk>> wrote:
>
>     On Wed, 2005-10-26 at 07:43 +0600, Samisa Abeysinghe wrote:
>     > Hi All,
>     >     There are few more memory leaks present in the axis2 C code.
>     > (Guththila leaks should be handled seperate IMO)
>     >
>     >     I would like to propose that we use the unit tests to
>     isolate memory
>     > leak problems as much as possible and fix those then and there.
>     I would
>     > like the allocation and de-allocation to be local to a given
>     > class(struct) and module. We should always be providing a free
>     interface
>     > that matches a create interface for each struct, and the free
>     mechanism
>     > should be responsible of dealing with all deallocations. If we
>     are to
>     > have too much coupling in terms of memory allocation and
>     deallocation
>     > across modules and structs, we would run into great trouble in
>     dealing
>     > with fixing leaks.
>     >
>     >     IMHO, it will be a good practice to be concerned of memory leaks
>     > right from the begining and leave no room for memory leaks as
>     much as
>     > possible. So lets try ro keep the memory leaks to *zero* :)
>
>     +1 :). I can imagine this is a bit hard but if we are careful its not
>     impossible!
>
>     Sanjiva.
>
>
>


Re: [Axis2] Fixing memory leaks

Posted by Paul Fremantle <pz...@gmail.com>.
+1 samisa. It might be hard work now, but worth it.

Also I think based on the discussion we had with James, maybe its possible
to set some boundaries. We allocate all memory within that execution path
from a buffer, and free all memory from the buffer at the end.

Paul

On 10/26/05, Sanjiva Weerawarana <sa...@opensource.lk> wrote:
>
> On Wed, 2005-10-26 at 07:43 +0600, Samisa Abeysinghe wrote:
> > Hi All,
> > There are few more memory leaks present in the axis2 C code.
> > (Guththila leaks should be handled seperate IMO)
> >
> > I would like to propose that we use the unit tests to isolate memory
> > leak problems as much as possible and fix those then and there. I would
> > like the allocation and de-allocation to be local to a given
> > class(struct) and module. We should always be providing a free interface
> > that matches a create interface for each struct, and the free mechanism
> > should be responsible of dealing with all deallocations. If we are to
> > have too much coupling in terms of memory allocation and deallocation
> > across modules and structs, we would run into great trouble in dealing
> > with fixing leaks.
> >
> > IMHO, it will be a good practice to be concerned of memory leaks
> > right from the begining and leave no room for memory leaks as much as
> > possible. So lets try ro keep the memory leaks to *zero* :)
>
> +1 :). I can imagine this is a bit hard but if we are careful its not
> impossible!
>
> Sanjiva.
>
>
>

Re: [Axis2] Fixing memory leaks

Posted by Sanjiva Weerawarana <sa...@opensource.lk>.
On Wed, 2005-10-26 at 07:43 +0600, Samisa Abeysinghe wrote:
> Hi All,
>     There are few more memory leaks present in the axis2 C code. 
> (Guththila leaks should be handled seperate IMO)
>    
>     I would like to propose that we use the unit tests to isolate memory 
> leak problems as much as possible and fix those then and there. I would 
> like the allocation and de-allocation to be local to a given 
> class(struct) and module. We should always be providing a free interface 
> that matches a create interface for each struct, and the free mechanism 
> should be responsible of dealing with all deallocations. If we are to 
> have too much coupling in terms of memory allocation and deallocation 
> across modules and structs, we would run into great trouble in dealing 
> with fixing leaks.
> 
>     IMHO, it will be a good practice to be concerned of memory leaks 
> right from the begining and leave no room for memory leaks as much as 
> possible. So lets try ro keep the memory leaks to *zero* :)

+1 :). I can imagine this is a bit hard but if we are careful its not
impossible!

Sanjiva.



[Axis2] Fixing memory leaks

Posted by Samisa Abeysinghe <sa...@gmail.com>.
Hi All,
    There are few more memory leaks present in the axis2 C code. 
(Guththila leaks should be handled seperate IMO)
   
    I would like to propose that we use the unit tests to isolate memory 
leak problems as much as possible and fix those then and there. I would 
like the allocation and de-allocation to be local to a given 
class(struct) and module. We should always be providing a free interface 
that matches a create interface for each struct, and the free mechanism 
should be responsible of dealing with all deallocations. If we are to 
have too much coupling in terms of memory allocation and deallocation 
across modules and structs, we would run into great trouble in dealing 
with fixing leaks.

    IMHO, it will be a good practice to be concerned of memory leaks 
right from the begining and leave no room for memory leaks as much as 
possible. So lets try ro keep the memory leaks to *zero* :)

Thanks,
Samisa...

Re: [Axis2] Guththila Fails for '/'

Posted by Samisa Abeysinghe <sa...@gmail.com>.
By the way, I tried this test program with Guththila code in SVN, and it 
works.
But when I use this through OM, it fails. :(

Thanks,
Samisa...

Dinesh Premalal wrote:

>Hi,
>
>I tried with Guththila. "v.xml" is your xml file ;)
>
>dinesh@dinesh:~/Projects/Guththila-c-p3/test$ ./test v.xml
><ns1:Root xmlns:ns2="http://www.opensource.lk"
>xmlns:ns1="http://www.apache.org" >
>    <ns2:developers xmlns:ns3="http://www.whatever.com" >
>        <ns3:developer>
>            <name>Davanum Srinivas</name>
>            <id>dims</id>
>            <email>dims@apache.org</email>
>            <organization>Computer Associates</organization>
>        </ns3:developer>
>        <ns3:developer>
>            <name>Glen Daniels</name>
>            <id>glen</id>
>            <email>glen@thoughtcraft.com</email>
>            <organization>Sonic Software</organization>
>        </ns3:developer>
>        <ns3:developer>
>            <name>Sanjiva Weerawarana</name>
>            <id>sanjiva</id>
>            <email>sanjiva@opensource.lk</email>
>            <organization>IBM/LSF</organization>
>        </ns3:developer>
>        <ns3:developer>
>            <name>Eran Chinthaka</name>
>            <id>chinthaka</id>
>            <email>chinthaka@apache.org</email>
>            <organization>LSF/Eurocenter DDC</organization>
>        </ns3:developer>
>        <ns3:developer>
>            <name>Jaliya Ekanayake</name>
>            <id>jaliya</id>
>            <email>jaliya@opensource.lk</email>
>            <organization>Virtusa/LSF</organization>
>        </ns3:developer>
>    </ns2:developers>
></ns1:Root>dinesh@dinesh:~/Projects/Guththila-c-p3/test$
>
>
>For me Guththila parse it with out any problem. 
>
>http://www.cse.mrt.ac.lk/~premalwd/Projects/Guththila-c-p3.tar.gz
>
>Under Guththila Directory there are some test cases. "test" is a
>executable file which get xml files as command line inputs. Please look
>at it , sometimes it might help.
>
>thanks,
>Dinesh
>
>On Tue, 2005-10-25 at 09:41 +0600, Samisa Abeysinghe wrote:
>  
>
>>Guththila fails to parse the the following XML, because there is a '/' 
>>char in text "Virtusa/LSF" :(
>>
>>(Thanks Nandika on the tip where it crashes :) )
>>Note: the following content was taken from Axis2 Java test xml files.
>>
>><ns1:Root xmlns:ns1="http://www.apache.org"
>>    xmlns:ns2="http://www.opensource.lk">
>>    <ns2:developers xmlns:ns3="http://www.whatever.com">
>>        <ns3:developer>
>>            <name>Davanum Srinivas</name>
>>            <id>dims</id>
>>            <email>dims@apache.org</email>
>>            <organization>Computer Associates</organization>
>>        </ns3:developer>
>>        <ns3:developer>
>>            <name>Glen Daniels</name>
>>            <id>glen</id>
>>            <email>glen@thoughtcraft.com</email>
>>            <organization>Sonic Software</organization>
>>        </ns3:developer>
>>        <ns3:developer>
>>            <name>Sanjiva Weerawarana</name>
>>            <id>sanjiva</id>
>>            <email>sanjiva@opensource.lk</email>
>>            <organization>IBM/LSF</organization>
>>        </ns3:developer>
>>        <ns3:developer>
>>            <name>Eran Chinthaka</name>
>>            <id>chinthaka</id>
>>            <email>chinthaka@apache.org</email>
>>            <organization>LSF/Eurocenter DDC</organization>
>>        </ns3:developer>
>>        <ns3:developer>
>>            <name>Jaliya Ekanayake</name>
>>            <id>jaliya</id>
>>            <email>jaliya@opensource.lk</email>
>>            <organization>Virtusa/LSF</organization>
>>        </ns3:developer>
>>    </ns2:developers>
>></ns1:Root>
>>
>>Any help to fix the bug would be great .
>>
>>Thanks,
>>Samisa...
>>    
>>
>
>
>  
>


Re: [Axis2] Guththila Fails for '/'

Posted by Samisa Abeysinghe <sa...@gmail.com>.
Dinesh Premalal wrote:

>Hi,
>
>I tried with Guththila. "v.xml" is your xml file ;)
>
>dinesh@dinesh:~/Projects/Guththila-c-p3/test$ ./test v.xml
><ns1:Root xmlns:ns2="http://www.opensource.lk"
>xmlns:ns1="http://www.apache.org" >
>    <ns2:developers xmlns:ns3="http://www.whatever.com" >
>        <ns3:developer>
>            <name>Davanum Srinivas</name>
>            <id>dims</id>
>            <email>dims@apache.org</email>
>            <organization>Computer Associates</organization>
>        </ns3:developer>
>        <ns3:developer>
>            <name>Glen Daniels</name>
>            <id>glen</id>
>            <email>glen@thoughtcraft.com</email>
>            <organization>Sonic Software</organization>
>        </ns3:developer>
>        <ns3:developer>
>            <name>Sanjiva Weerawarana</name>
>            <id>sanjiva</id>
>            <email>sanjiva@opensource.lk</email>
>            <organization>IBM/LSF</organization>
>        </ns3:developer>
>        <ns3:developer>
>            <name>Eran Chinthaka</name>
>            <id>chinthaka</id>
>            <email>chinthaka@apache.org</email>
>            <organization>LSF/Eurocenter DDC</organization>
>        </ns3:developer>
>        <ns3:developer>
>            <name>Jaliya Ekanayake</name>
>            <id>jaliya</id>
>            <email>jaliya@opensource.lk</email>
>            <organization>Virtusa/LSF</organization>
>        </ns3:developer>
>    </ns2:developers>
></ns1:Root>dinesh@dinesh:~/Projects/Guththila-c-p3/test$
>
>
>For me Guththila parse it with out any problem. 
>
>http://www.cse.mrt.ac.lk/~premalwd/Projects/Guththila-c-p3.tar.gz
>
>Under Guththila Directory there are some test cases. "test" is a
>executable file which get xml files as command line inputs. Please look
>at it , sometimes it might help.
>
>thanks,
>Dinesh
>
>On Tue, 2005-10-25 at 09:41 +0600, Samisa Abeysinghe wrote:
>  
>
>>Guththila fails to parse the the following XML, because there is a '/' 
>>char in text "Virtusa/LSF" :(
>>
>>(Thanks Nandika on the tip where it crashes :) )
>>Note: the following content was taken from Axis2 Java test xml files.
>>
>><ns1:Root xmlns:ns1="http://www.apache.org"
>>    xmlns:ns2="http://www.opensource.lk">
>>    <ns2:developers xmlns:ns3="http://www.whatever.com">
>>        <ns3:developer>
>>            <name>Davanum Srinivas</name>
>>            <id>dims</id>
>>            <email>dims@apache.org</email>
>>            <organization>Computer Associates</organization>
>>        </ns3:developer>
>>        <ns3:developer>
>>            <name>Glen Daniels</name>
>>            <id>glen</id>
>>            <email>glen@thoughtcraft.com</email>
>>            <organization>Sonic Software</organization>
>>        </ns3:developer>
>>        <ns3:developer>
>>            <name>Sanjiva Weerawarana</name>
>>            <id>sanjiva</id>
>>            <email>sanjiva@opensource.lk</email>
>>            <organization>IBM/LSF</organization>
>>        </ns3:developer>
>>        <ns3:developer>
>>            <name>Eran Chinthaka</name>
>>            <id>chinthaka</id>
>>            <email>chinthaka@apache.org</email>
>>            <organization>LSF/Eurocenter DDC</organization>
>>        </ns3:developer>
>>        <ns3:developer>
>>            <name>Jaliya Ekanayake</name>
>>            <id>jaliya</id>
>>            <email>jaliya@opensource.lk</email>
>>            <organization>Virtusa/LSF</organization>
>>        </ns3:developer>
>>    </ns2:developers>
>></ns1:Root>
>>
>>Any help to fix the bug would be great .
>>
>>Thanks,
>>Samisa...
>>    
>>
>
>
>  
>
I am using the latest SVN code with fixes for space handling etc. That 
breaks with this XML.

Samisa...

Re: [Axis2] Guththila Fails for '/'

Posted by Dinesh Premalal <pr...@cse.mrt.ac.lk>.
Hi,

I tried with Guththila. "v.xml" is your xml file ;)

dinesh@dinesh:~/Projects/Guththila-c-p3/test$ ./test v.xml
<ns1:Root xmlns:ns2="http://www.opensource.lk"
xmlns:ns1="http://www.apache.org" >
    <ns2:developers xmlns:ns3="http://www.whatever.com" >
        <ns3:developer>
            <name>Davanum Srinivas</name>
            <id>dims</id>
            <email>dims@apache.org</email>
            <organization>Computer Associates</organization>
        </ns3:developer>
        <ns3:developer>
            <name>Glen Daniels</name>
            <id>glen</id>
            <email>glen@thoughtcraft.com</email>
            <organization>Sonic Software</organization>
        </ns3:developer>
        <ns3:developer>
            <name>Sanjiva Weerawarana</name>
            <id>sanjiva</id>
            <email>sanjiva@opensource.lk</email>
            <organization>IBM/LSF</organization>
        </ns3:developer>
        <ns3:developer>
            <name>Eran Chinthaka</name>
            <id>chinthaka</id>
            <email>chinthaka@apache.org</email>
            <organization>LSF/Eurocenter DDC</organization>
        </ns3:developer>
        <ns3:developer>
            <name>Jaliya Ekanayake</name>
            <id>jaliya</id>
            <email>jaliya@opensource.lk</email>
            <organization>Virtusa/LSF</organization>
        </ns3:developer>
    </ns2:developers>
</ns1:Root>dinesh@dinesh:~/Projects/Guththila-c-p3/test$


For me Guththila parse it with out any problem. 

http://www.cse.mrt.ac.lk/~premalwd/Projects/Guththila-c-p3.tar.gz

Under Guththila Directory there are some test cases. "test" is a
executable file which get xml files as command line inputs. Please look
at it , sometimes it might help.

thanks,
Dinesh

On Tue, 2005-10-25 at 09:41 +0600, Samisa Abeysinghe wrote:
> Guththila fails to parse the the following XML, because there is a '/' 
> char in text "Virtusa/LSF" :(
> 
> (Thanks Nandika on the tip where it crashes :) )
> Note: the following content was taken from Axis2 Java test xml files.
> 
> <ns1:Root xmlns:ns1="http://www.apache.org"
>     xmlns:ns2="http://www.opensource.lk">
>     <ns2:developers xmlns:ns3="http://www.whatever.com">
>         <ns3:developer>
>             <name>Davanum Srinivas</name>
>             <id>dims</id>
>             <email>dims@apache.org</email>
>             <organization>Computer Associates</organization>
>         </ns3:developer>
>         <ns3:developer>
>             <name>Glen Daniels</name>
>             <id>glen</id>
>             <email>glen@thoughtcraft.com</email>
>             <organization>Sonic Software</organization>
>         </ns3:developer>
>         <ns3:developer>
>             <name>Sanjiva Weerawarana</name>
>             <id>sanjiva</id>
>             <email>sanjiva@opensource.lk</email>
>             <organization>IBM/LSF</organization>
>         </ns3:developer>
>         <ns3:developer>
>             <name>Eran Chinthaka</name>
>             <id>chinthaka</id>
>             <email>chinthaka@apache.org</email>
>             <organization>LSF/Eurocenter DDC</organization>
>         </ns3:developer>
>         <ns3:developer>
>             <name>Jaliya Ekanayake</name>
>             <id>jaliya</id>
>             <email>jaliya@opensource.lk</email>
>             <organization>Virtusa/LSF</organization>
>         </ns3:developer>
>     </ns2:developers>
> </ns1:Root>
> 
> Any help to fix the bug would be great .
> 
> Thanks,
> Samisa...