|
From: Denis D. <den...@in...> - 2012-02-14 08:39:32
|
Dear Michael,
Thanks for your quick answer.
I am engineer at INRIA, the French public research institute dedicated
to digital science and technology. I am working on XML Stream.
Do not spend to recompile the code.
I compare tools like GCX on huge document (44GBytes) and I often get
this out of memory error. Can you advise me on the best way to design
query with GCX? Can the memory usage go down if I rewrite the query?
Regards,
Denis
Le 10/02/2012 19:03, Michael Schmidt a écrit :
> Dear Denis,
>
> just had a quick look at it and could verify your bug. Seems that mmap is running out of memory, the message I get on my Mac is:
>
> malloc: *** mmap(size=2097152) failed (error code=12)
> *** error: can't allocate region
>
> The problem with the query is that GCX is not capable of projecting the dummy-tags away, which results in high memory usage.
>
> I guess you used one of the precompiled binaries (32bit)? In case you are using a 64bit machine, I would recommend to download the sources and recompile, this did help in my case and the error disappeared.
>
> In case this is not an option for you, I can have a deeper look into the code.
>
> Best,
> Michael
>
>
> On Feb 10, 2012, at 2:41 PM, Denis DEBARBIEUX wrote:
>
>> Hi,
>>
>> I made some experiments with GCX and I got an error: This application
>> has requested the Runtime to terminate it in an unusual way.
>>
>> Below are some information to reproduce the error.
>>
>> Thanks for your help help,
>>
>> Denis
>>
>> Query:
>> <result>
>> { for $x in /descendant::*
>> where fn:not($x/child::B1)
>> return $x/child::B2
>> }
>> </result>
>>
>> Document is generated by the following Java code:
>>
>> /**
>> * Generate document:
>> <doc><A1/><B2/><B1><dummy/><dummy/>....<dummy/></B1></A1></doc>
>> */
>> public static void main(String[] args) {
>> String path2GeneratedFile =
>> "C:\\huge_document\\early-big-subtree.xml";
>>
>>
>> try {
>>
>> FileWriter fw = new FileWriter(path2GeneratedFile, false);
>>
>> BufferedWriter output = new BufferedWriter(fw);
>>
>> output.write("<root>");
>> output.write("<A1>");
>> output.write("<B2/>");
>> output.write("<B1>");
>> for (long i = 0; i< 100000000l; i++) {
>> output.write("<dummy/>");
>> }
>> output.write("</B1>");
>> output.write("</A1>");
>> output.write("</root>");
>>
>> output.flush();
>>
>> output.close();
>>
>> System.out.println("fichier créé");
>> } catch (IOException ioe) {
>> System.out.print("Erreur : ");
>> ioe.printStackTrace();
>> }
>>
>> }
>>
>> Expected result: nothing is selected.
>>
>> Actual result:
>> <result>
>> This application has requested the Runtime to terminate it in an unusual
>> way.
>> Please contact the application's support team for more information.
>>
>> --
>> Denis Debarbieux
>> Engineer at INRIA
>> +33 (0)3.59.57.78.15
>> Skype: denis.debarbieux
>>
>>
>> ------------------------------------------------------------------------------
>> Virtualization& Cloud Management Using Capacity Planning
>> Cloud computing makes use of virtualization - but cloud computing
>> also focuses on allowing computing to be delivered as a service.
>> http://www.accelacomm.com/jaw/sfnl/114/51521223/
>> _______________________________________________
>> Gcx-engine-bugs mailing list
>> Gcx...@li...
>> https://lists.sourceforge.net/lists/listinfo/gcx-engine-bugs
>
> ------------------------------------------------------------------------------
> Virtualization& Cloud Management Using Capacity Planning
> Cloud computing makes use of virtualization - but cloud computing
> also focuses on allowing computing to be delivered as a service.
> http://www.accelacomm.com/jaw/sfnl/114/51521223/
> _______________________________________________
> Gcx-engine-bugs mailing list
> Gcx...@li...
> https://lists.sourceforge.net/lists/listinfo/gcx-engine-bugs
--
Denis Debarbieux
Engineer at INRIA
+33 (0)3.59.57.78.15
Skype: denis.debarbieux
|