Author Topic: Bug Reports  (Read 432580 times)

0 Members and 2 Guests are viewing this topic.

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Bug Reports
« Reply #1020 on: January 08, 2011, 02:42:18 pm »
I remember encountering a problem a long time ago, but this is before my Axe and assembly skills were too adept and I figured I was just doing something wrong. However, just a few moments ago, SirCmpwn was having trouble getting the size of archived programs, so I looked into it to help out. In the process of testing the reading of archived programs with a randomly chosen program target (which happened to be a protected assembly program) and looking at Commands.inc, I realized that p_GetArc doesn't check for protected programs! :o
« Last Edit: January 08, 2011, 02:44:33 pm by Runer112 »

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Bug Reports
« Reply #1021 on: January 08, 2011, 02:45:29 pm »
Wait so how *are* you supposed to get the filesize of archived programs, protected or not? 

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Bug Reports
« Reply #1022 on: January 08, 2011, 02:56:59 pm »
The two bytes that specify the size of the variable should be the 2 bytes immediately preceding the pointer returned from GetCalc(), whether using the normal or archive method. This is easy for variables in RAM, because the variable's data starts with two bytes for its size, and the VAT pointer for the variable always points right to it. However, when variables with variable names (programs, lists, appvars, and groups) are archived, the variable's name (and possibly other data, I'm not sure) is appended to the file in front of the two bytes indicating size. To correct this, Quigibo's archive variable locating routine determines the length of the variable's name from the VAT and adds that to the pointer to skip this unwanted data and to be consistent with unarchived variables. However, he forgot to check if the variable's type is a protected program, so it thinks that any protected program doesn't have this and doesn't correct for the name length.
« Last Edit: January 08, 2011, 02:57:50 pm by Runer112 »

SirCmpwn

  • Guest
Re: Bug Reports
« Reply #1023 on: January 08, 2011, 03:27:52 pm »
The problem is that the error isn't consistent.  I can't just add 6 bytes or something and get the length.  Nor can I subtract some, add the value there, and get the length (as if it were in the middle of the name).  The location in ROM that Axe give me is seemingly random.

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Bug Reports
« Reply #1024 on: January 08, 2011, 03:37:58 pm »
Ok, I've fixed all the problems mentioned so far.
___Axe_Parser___
Today the calculator, tomorrow the world!

SirCmpwn

  • Guest
Re: Bug Reports
« Reply #1025 on: January 08, 2011, 03:38:37 pm »
Cool.  It would make my life quite a bit easier if you uploaded the patched version :D  I found a temporary fix, but it's complicated.

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Bug Reports
« Reply #1026 on: January 08, 2011, 03:41:48 pm »
Yeah, i've been trying to figure out what was happening, but crazy things were occuring in my program combiner, which was making it impossible for me to continue development on PortalX until the issue is fixed unfortunately, as I can no longer generate the executable.

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Bug Reports
« Reply #1027 on: January 08, 2011, 03:56:58 pm »
Yeah, maybe I'll upload a patched version since it might still be another week before the stable release.  Not much new, mostly just working on axioms.  They are much much more sophisticated now.  When it reads your assembly command, it knows each z80 instruction opcode in order to advance through it and make auto-replacements for absolute jumps, calls, and even loads under the right circumstances.
___Axe_Parser___
Today the calculator, tomorrow the world!

SirCmpwn

  • Guest
Re: Bug Reports
« Reply #1028 on: January 08, 2011, 03:57:34 pm »
Nice, I look forward to it!

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: Bug Reports
« Reply #1029 on: January 08, 2011, 07:15:53 pm »
Me too!  I can't wait! ;D

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Bug Reports
« Reply #1030 on: January 08, 2011, 08:12:58 pm »
Cool to hear the bugs were fixed ;D

SirCmpwn

  • Guest
Re: Bug Reports
« Reply #1031 on: January 08, 2011, 09:30:03 pm »
Found another bug:
The length field of apps is getting messed up again.  It is not the correct length.

Offline squidgetx

  • Food.
  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Re: Bug Reports
« Reply #1032 on: January 10, 2011, 06:28:56 pm »
^ :(

Also, this is fairly random and unreproducible, but sometimes I will run into random BAD SYMBOL errors while compiling (usually an archived program). Sometimes when I unarchive it the compile goes smoothly and error free. More rarely, it will throw another BAD SYMBOL, and upon pressing prgm to goto, the entire program after a certain point seems to be corrupted (lots of random tokens, etc.) I remember that the goto-prgm thing used to be unstable with large programs. What constitutes a large program: one with lots of library files whose compiled code comes out to 16kb count? (The main program is 5 kb and the largest library is 3kb...and the corruption will usually happen to any of them, not just the main program)

Offline yunhua98

  • You won't this read sentence right.
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2718
  • Rating: +214/-12
  • Go take a dive in the River Lethe.
    • View Profile
Re: Bug Reports
« Reply #1033 on: January 10, 2011, 06:31:07 pm »
that reminds me, one time I compiled a program it threw a Block error, and then when I pressed program, it showed the last lines of my code, which contained a for loop.  That loop was incomplete and everything after it was gone.  I had a backup though.  ;)

Spoiler For =====My Projects=====:
Minor setback due to code messing up.  On hold for Contest.
<hr>
On hold for Contest.


Spoiler For ===Staff Memberships===:






Have you seen any good news-worthy programs/events?  If so, PM me with an article to be included in the next issue of CGPN!
The Game is only a demo, the code that allows one to win hasn't been done.
To paraphrase Oedipus, Hamlet, Lear, and all those guys, "I wish I had known this some time ago."
Signature Last Updated: 12/26/11
<hr>

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Bug Reports
« Reply #1034 on: January 10, 2011, 07:17:12 pm »
The app length bug was fixed in 0.4.8

Also, this is fairly random and unreproducible, but sometimes I will run into random BAD SYMBOL errors while compiling (usually an archived program).

That bug was supposed to be fixed in 0.4.7  Have you had that problem in the later versions?

Quote
Sometimes when I unarchive it the compile goes smoothly and error free. More rarely, it will throw another BAD SYMBOL, and upon pressing prgm to goto, the entire program after a certain point seems to be corrupted (lots of random tokens, etc.) I remember that the goto-prgm thing used to be unstable with large programs. What constitutes a large program: one with lots of library files whose compiled code comes out to 16kb count? (The main program is 5 kb and the largest library is 3kb...and the corruption will usually happen to any of them, not just the main program)

This is a problem I still can't figure out.  The OS must be handling large files differently than small ones for some reason because I pass control to the OS before the actual scroll.  If anyone knows more information about the BASIC editor context variables, I could definitely use your help!
___Axe_Parser___
Today the calculator, tomorrow the world!