Dc_XML - FATAL ERROR

This forum is for eXpress++ general support.
Message
Author
User avatar
PedroAlex
Posts: 231
Joined: Tue Feb 09, 2010 3:06 am

Dc_XML - FATAL ERROR

#1 Post by PedroAlex »

Hello EveryBody!

I have a problem in Dc_XML.

I need to create a XML file for Fiscal Audit and when I read large DBFs happens this error:

FATAL ERROR LOG
Not recoverable Error!
SYS Thread-ID: 640
Module: MOM
Error Codes: EH: 1006 Sub: 0(0) OS: 0 XPP: 15
Call Stack of Thread 1 (640):
@DC_XMLNODE@I@INIT(244)
CRIA_SAFT(7103)
SAFT(6723)
(B)MENU_CONS(1291)
INICIAL(712)
MAIN(405)
Call Stack of GUI Thread (860):
Call Stack of Thread 3 (2860):
File: Z:\USER\WGESTCOM\SOURCE\PRG\WGESTCOM.EXE
TimeStamp: 20110808 15:08
End of FATAL ERROR LOG.

Any ideia what can be this.
i have only 3 day for solve this situation.
Any opinion are very important.
Thanks in advance.
Pedro.
Pedro Alexandre

User avatar
Auge_Ohr
Posts: 1407
Joined: Wed Feb 24, 2010 3:44 pm

Re: Dc_XML - FATAL ERROR

#2 Post by Auge_Ohr »

comercial wrote:FATAL ERROR LOG
Not recoverable Error!
SYS Thread-ID: 640
Module: MOM
MOM = Memory Object Manager
* XppFatal Message: (none)
- Error Codes: "EH: 100x"/"XPP: 0"
comercial wrote:Error Codes: EH: 1006 Sub: 0(0) OS: 0 XPP: 15
EH 1006 // two many memory-objects: there are not enough
// handles

XPP 15 XPP_ERR_MEMORY_FULL Not enough memory or swapping space
available
comercial wrote:Call Stack of Thread 1 (640):
@DC_XMLNODE@I@INIT(244)
happend in Thread 1
comercial wrote:Call Stack of Thread 3 (2860):
while you "start" in Thread 3

what to do : reduce use of Memory < 2GB

other workaround : Alaska did have a Patch when using Array > 2GB and have ""Memory Handles" Problem
... do not no if it help in this Case.
greetings by OHR
Jimmy

User avatar
PedroAlex
Posts: 231
Joined: Tue Feb 09, 2010 3:06 am

Re: Dc_XML - FATAL ERROR

#3 Post by PedroAlex »

Jimmy. Thanks for reply.

Alaska refers configurantion of memory objects.
I have no previlegies to download the hotfix 36 description.
They refere :
Solution:
Hotfix Rollup #36 carries a fix for the problem. Get in contact with
Alaska Software Technical support to request a howto on how to configure
the Xbase++ runtime to provide more then 2000000 memory objects.


How we can configure this runtime parameter?

Thanks.
best Regards.
Pedro.
Pedro Alexandre

User avatar
Auge_Ohr
Posts: 1407
Joined: Wed Feb 24, 2010 3:44 pm

Re: Dc_XML - FATAL ERROR

#4 Post by Auge_Ohr »

comercial wrote:How we can configure this runtime parameter?
as i know you "need" a revised DLL with that Parameter so you need to renew your Subsciption to get a "Hotfix" :angry-cussingblack: .
greetings by OHR
Jimmy

User avatar
PedroAlex
Posts: 231
Joined: Tue Feb 09, 2010 3:06 am

Re: Dc_XML - FATAL ERROR

#5 Post by PedroAlex »

Jimmy.

Thanks for Reply.

Best Regards.
Pedro
Pedro Alexandre

User avatar
rdonnay
Site Admin
Posts: 4733
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: Dc_XML - FATAL ERROR

#6 Post by rdonnay »

DC_Xml2ObjectTree() now supports either ASXML or Xb2Net as the XML parser. I have had lots of problems in the past with the ASXML parser and no problems with the Xb2net parser.

If you own Xb2net, then try using a .TRUE. as the 2nd parameter of DC_Xml2ObjectTree().
The eXpress train is coming - and it has more cars.

skiman
Posts: 1185
Joined: Thu Jan 28, 2010 1:22 am
Location: Sijsele, Belgium
Contact:

Re: Dc_XML - FATAL ERROR

#7 Post by skiman »

Hi,

If you need to create the XML, you can create it as text. If it is really large, you can use functions as fopen()/fwrite() to create the XML file.

A quick sample to create the xml in memory.

Code: Select all

cHeader := 'header of your xml'
cFooter := 'footer of xml'
cSub := '<customer>'+CRLF+'<Name>_Name_</Name>'+CRLF+'<Address>_address_</address>'+CRLF+'</customer>'+CRLF
cLine := ''

cXml := cHeader
do while !eof()
cLine := cSub
cLine := strtran(cLine,'_name_', customer->name)
cLine := strtran(cLine,'_address_',customer->address)
cXml += cLine
dbskip(1)
enddo
cXml += cFooter
Best regards,

Chris.
www.aboservice.be

User avatar
Tom
Posts: 1173
Joined: Thu Jan 28, 2010 12:59 am
Location: Berlin, Germany

Re: Dc_XML - FATAL ERROR

#8 Post by Tom »

Chris is absolutely right. XML is no magic, and this way to create files is the fastest. Just take care of character set conversions - if your app runs in OEM mode, write text data using ConvToAnsiCP(cXML).
Best regards,
Tom

"Did I offend you?"
"No."
"Okay, give me a second chance."

User avatar
PedroAlex
Posts: 231
Joined: Tue Feb 09, 2010 3:06 am

Re: Dc_XML - FATAL ERROR

#9 Post by PedroAlex »

Hi, thanks for comments.

On this moment I have very very serious problems to create a XML file.
it is a complex XML , I read a lot of Dbfs and than create a XML predefined by fiscal gouvernement.

I use Dc_XML to crate a fiscal audit file and the number of records in memory before :xmlwrite go up 2000000 and the app crash.
I have no time to create a neu routine ( fwrite(), fread() ) and I need a way to write (append ) the file before crash and release the object memory array and continue without crash.

Any ideia or workaround are welcome.


thanks to all comunity for help.
Pedro
Pedro Alexandre

User avatar
Auge_Ohr
Posts: 1407
Joined: Wed Feb 24, 2010 3:44 pm

Re: Dc_XML - FATAL ERROR

#10 Post by Auge_Ohr »

comercial wrote:go up 2000000
as i say if you have reached Xbase++ Memory Handler Limit of OS()
comercial wrote:Any ideia or workaround are welcome.
did you work on a 32-bit System ? try it on a 64.bit OS() with 8GB RAM
greetings by OHR
Jimmy

Post Reply