AOWiki :: AODevs Forums :: Arcanum :: AO Official Forums :: AOC US/EU Official Forums
Welcome, Guest. Please login or register.
Did you miss your activation email?
+  FC 3rd Party Dev
|-+  Anarchy Online» Support» aodboffline - freezes
Username:
Password:
 
Pages: [1] 2
  Print  
Author Topic: aodboffline - freezes  (Read 3188 times)
Xyphos
Reet
**

Reetness: +0/-2
Offline Offline

Posts: 80


View Profile
« on: October 11, 2009, 05:09:26 »

While developing my XML plugin for my XRDB4 tool,
I copied the general schema from jayde's xml plugin
in an attempt to keep things compatible between other existing tools
such as aodboffline and aodbc (aodbc seems to crash no matter what file you feed it, jayde's or mine)

I've managed to produce the same xml output as jayde's tool does
but for some odd reason that I am unable to figure out on my own,
aodboffline freezes when parsing my xml output.

attached to this post is a zip file containing aodboffline, jaydes' working xml and my crashing xml
perhaps someone can tell me why aodboffline chokes. or at least find any difference between
the two xml files, as I can't find anything out-of-place.
Logged
Etheryal
Reet
**

Reetness: +0/-0
Offline Offline

Posts: 70


View Profile
« Reply #1 on: October 14, 2009, 18:39:31 »

Speaking of XRDB4, I'm having trouble getting it to work "out-of-box."  It detects my DB just fine, as well as the DB version, but I get this error/exception:

Quote
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
   at XRDB4.CTrees.InitializeCtree(Int16 buffers, Int16 Files, Int16 sectors)
   at XRDB4.CTrees..ctor(ProgressBar pbMarqee)
   at XRDB4.frmXRDB4.btnExtract_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Logged

Legendadv Adv
Etherealcrat Crat
Zephyrforce Enfo
Etherealheal Doc
(and lots more)
Neo-Vortex
Administrator
*****

Reetness: +0/-0
Offline Offline

Posts: 110



View Profile
« Reply #2 on: October 15, 2009, 03:43:27 »

Perchance are you on a 64-bit version of windows...?
Logged
Etheryal
Reet
**

Reetness: +0/-0
Offline Offline

Posts: 70


View Profile
« Reply #3 on: October 16, 2009, 00:52:57 »

yep Cheesy
Logged

Legendadv Adv
Etherealcrat Crat
Zephyrforce Enfo
Etherealheal Doc
(and lots more)
Neo-Vortex
Administrator
*****

Reetness: +0/-0
Offline Offline

Posts: 110



View Profile
« Reply #4 on: October 16, 2009, 16:15:44 »

Yup, that'd do it. Xyphos, as you are using the ctree dll, which is 32 bit only, force your app to run in 32 bit mode only and not 64 bit, else you'll get the issue Etheryal is describing.

For the meantime, theres a hack you can do to force a .NET Application to run in 32 bit mode on a 64 bit version of windows, do a bit of googling and I'm sure you'll find it...
Logged
Xyphos
Reet
**

Reetness: +0/-2
Offline Offline

Posts: 80


View Profile
« Reply #5 on: October 17, 2009, 01:15:23 »

I changed the config setting in my project; but the change is currently unreleased
as I'm still working on a few changes to the tool.

I'm hoping someone can help me with the XML output tho
it's really bothering me
Logged
pzycho
Rollerrat
*

Reetness: +1/-0
Offline Offline

Posts: 1


View Profile
« Reply #6 on: October 18, 2009, 12:20:43 »

Found it with a few simple steps...

1. Cut your dataset into halfs to narrow the error down to a single item.
2. Pretty print working and freezing version to get a readable diff.
3. Look for the usual problems or corner cases like special characters, empty strings etc.

This brings us to an empty value in item 136672:
Code:
<Attribute Name="Can" Value="" />

Put something into the value and you'r good to go.
Code:
<Attribute Name="Can" Value="0" />

PS: Happens 2 times in your 'freezing' file.
Logged

Pzychotic | Proud General of Untouchables
Xyphos
Reet
**

Reetness: +0/-2
Offline Offline

Posts: 80


View Profile
« Reply #7 on: October 19, 2009, 20:47:26 »

Awsomesauce.

+1 Reetness and many thanks
Logged
Etheryal
Reet
**

Reetness: +0/-0
Offline Offline

Posts: 70


View Profile
« Reply #8 on: October 20, 2009, 11:34:27 »

ok the fix for ctree allowed me to do an extract just fine, but the PARSE is where it froze.  To be specific it froze on the "initializing plugin..." step.  Didn't get any actual debug error like last time.  Just a windows "this program has stopped responding" error.  Does the plugin have any issue with 64-bit windows?
Logged

Legendadv Adv
Etherealcrat Crat
Zephyrforce Enfo
Etherealheal Doc
(and lots more)
Xyphos
Reet
**

Reetness: +0/-2
Offline Offline

Posts: 80


View Profile
« Reply #9 on: October 20, 2009, 13:12:50 »

ok the fix for ctree allowed me to do an extract just fine, but the PARSE is where it froze.  To be specific it froze on the "initializing plugin..." step.  Didn't get any actual debug error like last time.  Just a windows "this program has stopped responding" error.  Does the plugin have any issue with 64-bit windows?

XRDB4 and all of it's dependencies were converted to x86 code (32-bit)
which allowed you to run it on 64-bit sytem without it crashing.

however, as an experiment, I've compiled another build of it to where the application itself is x86 and it's dependencies are "Any Platform"

you can download this experimental build here:
http://www.xyphos.com/files/XRDB4401.zip

please let me know if this solves your problem.
Logged
Etheryal
Reet
**

Reetness: +0/-0
Offline Offline

Posts: 70


View Profile
« Reply #10 on: October 21, 2009, 21:24:23 »

that experimental build brought back my 64bit problem (during the extract process):

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
   at XRDB4.CTrees.InitializeCtree(Int16 buffers, Int16 Files, Int16 sectors)
   at XRDB4.CTrees..ctor(ProgressBar pbMarqee)
   at XRDB4.frmXRDB4.btnExtract_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


---------------
I think the other (parse related problem) I'm having might be if you didn't choose a plugin in the beginning (ie. by default its on the null plugin)?  If so, you get a file called:
XRDB4_Plugins-NULL_18-02-02-00

The fact that it was null may be crashing the tool during parse?
Logged

Legendadv Adv
Etherealcrat Crat
Zephyrforce Enfo
Etherealheal Doc
(and lots more)
Xyphos
Reet
**

Reetness: +0/-2
Offline Offline

Posts: 80


View Profile
« Reply #11 on: October 22, 2009, 12:16:26 »

that experimental build brought back my 64bit problem (during the extract process):

{snip}

I think the other (parse related problem) I'm having might be if you didn't choose a plugin in the beginning (ie. by default its on the null plugin)?  If so, you get a file called:
XRDB4_Plugins-NULL_18-02-02-00

The fact that it was null may be crashing the tool during parse?

ok, then that's a good indication that he app and all of it's dependencies need to be in x86 mode

"XRDB4_Plugins-NULL_18-02-02-00"  doesn't tell me WHAT kind of file it's creating.
you probably don't have "show extensions" enabled on your PC.
looking at the NULL plugin, I don't see any code written that would generate an output file
so I'm going to assume that the created file has ".XRDB4" written on the end
which is perfectly fine because that's the datafile containing the extracted data from which XRDB4
reads from during it's parsing process.

also NULL plugin isn't directly useful in any way since it doesn't generate output but rather, it's
useful for debugging/determining problems reading from datafiles.

so, back to where we started; another experimental build:
http://www.xyphos.com/files/XRDB4402.zip

let me know if this one crashes also.
Logged
Suicidal
Rollerrat
*

Reetness: +0/-0
Offline Offline

Posts: 23



View Profile
« Reply #12 on: October 22, 2009, 21:07:00 »

Why are you still using ctree lib anyway? that thing is slow and bugged  Huh
Logged

Xyphos
Reet
**

Reetness: +0/-2
Offline Offline

Posts: 80


View Profile
« Reply #13 on: October 22, 2009, 22:04:14 »

Why are you still using ctree lib anyway? that thing is slow and bugged  Huh

you got a better method?
cuz my former ctree-less  (XRDB3) took forever to extract
and was highly errornous

if you have an alternative lib that works perfectly, I could use that.
« Last Edit: October 22, 2009, 22:38:56 by Xyphos » Logged
Suicidal
Rollerrat
*

Reetness: +0/-0
Offline Offline

Posts: 23



View Profile
« Reply #14 on: October 25, 2009, 03:56:14 »

I don't have specific lib or anything, but in AODB resource tool for example I removed the code that used ctree lib and do the index reading without that lib. As long as you don't need to edit RDB (Why would you want to edit it anyway), reading index file is all you need to find needed data in RDB.
Logged

Pages: [1] 2
  Print  

 
Jump to:  

Page created in 0.042 seconds with 19 queries.