POL Crash

Report core bugs regarding the Ultima Online Emulator Core release (version 097). You can attach your Core Dump. One bug per post.

Moderator: POL Developer

Locked
phao
Grandmaster Poster
Posts: 129
Joined: Fri Aug 31, 2007 2:25 pm
Location: Brazil

POL Crash

Post by phao »

Code: Select all

##########################################################
Unhandled Exception! Writing Minidump file.
This file with explanation and last lines from log files should be given to the development team.
Saved dump file to 'POL097-2008-09-01 Coregina-20081004213933-0.dmp'
Last Script: c:/pedro/txt-codes/pol/pol/pkg/combat/cmd/player/tiro.ecl PC: 236
##########################################################
OS: Windows XP SP2

POL Version Identification:

Code: Select all

POL097-2008-09-01 Coregina (VS.NET 2003)
compiled on Sep  1 2008 21:57:58
tiro.src is here, http://darvia.50webs.com/tiro.txt

POL crashed where it was suposed to execute this line from the function monstrarBarra():

Code: Select all

start_script(":combat:buscarTargetTiro", pc);
tiro.lst is here, http://darvia.50webs.com/tiro.lst.txt

I don't know if you need more files, because what POL CORE said is that the crash happened while executing tiro.ecl.

consts.inc file (which is being used there) just have a set of constants I use, like for colors, cprops name/values I use (every cprop is prefixed with "drv_", so I doubt it is conflicting with pol core ones).

If I can give you more information, just tell me.

Core dump is here: http://darvia.50webs.com/POL097-2008-09 ... 3933-0.dmp

POL also crash if it has to execute the line starting the script ":combat:selecionarTargetTiro" inside the function mostrarBarra().

before having those scripts as scripts, i had them as functions, so instead of having start_script() calls I had function calls, it was working without crashing.


VERY IMPORTANT

The loop inside mostrarBarra() is being done using a repeat...until(); construction, I've tried doing it with a do...dowhile(); construction, both crashed, but I've already tried to do using while...endwhile and it didn't crash.

I've done a

Code: Select all

while(1==1)
...
if(condition)
break;
endif
endwhile
to overcome the problem.

It is working and my script isn't crashing anymore.

It **MAY** be a good tip to scripters, avoid repeat...until() and do...dowhile()

If I'm not wrong, this bug is VERY SERIOUS, so good luck staff and I still will provide another files if you want, just let me know.
Pierce
Forum Regular
Posts: 420
Joined: Thu Feb 02, 2006 8:33 am

Re: POL Crash

Post by Pierce »

Because i use repeat...until() functionality quite a lot and never had a crash
using this newest core since it is public, i don't think that it is very dangerous
to use the function ;)

Perhaps there is something special in your case.

Did you try something like this (giving the last part only):

Code: Select all

  default:
   gumpResult[0] := 0;
   break;
 endcase
until(!gumpResult[0]);

phao
Grandmaster Poster
Posts: 129
Joined: Fri Aug 31, 2007 2:25 pm
Location: Brazil

Re: POL Crash

Post by phao »

I've also used repeat...until(); and do...dowhile(); sometimes and didn't have a crash, but it's happening now.

I doubt there is something with my code, because It runs with while()...endwhile "adaptation" of repeat...until();

Maybe it is something with POL's way to read repeat...until(); and do...dowhile() (which are very similar). Probably my code is making a situation to happen that while()...endwhile is prepared to handle, but repeat...until(); and do...dowhile() are not.

I can't just guess. I may be wrong, but I can't see how this bug cannot be related to repeat...until(); and do...dowhile(), because it crashes using them and it doesn't using while()...endwhile.
Aranius
New User
Posts: 1
Joined: Thu Jan 01, 2009 4:10 pm

Re: POL Crash

Post by Aranius »

I have experienced similiar problem with repeat until statements.
It also have crashed...

But there is an bug in compiler... The visibility of variables in repeat until statements, is bad calculated...

repeat
var aaa := 1;
...
// some code
...
until (aaa); // there it crashes > the variable "aaa" is not visible outside repeat until loop, but compiler has no problem compiling it without a warning or error...

I have this found this by accident...

I hope it will help ...
Locked