1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Music Contest #8 - Hive Soundtrack is up! Create the soundtrack for the upcoming videos of Hive Workshop's YouTube Channel.
    Dismiss Notice
  3. Check out the entries of the latest Mini-Mapping Contest: Stealth! Cast your vote for here!
    Dismiss Notice

Updates to JASS Checker

Discussion in 'Latest Updates and News' started by Ralle, Aug 12, 2017.

  1. Ralle

    Ralle

    Owner

    Joined:
    Oct 6, 2004
    Messages:
    10,813
    Resources:
    8
    Tools:
    3
    Maps:
    5
    Resources:
    8
    Note: The JASS Checker has been reverted to the old version for now because of recently discovered instabilities.

    I have just updated the JASS checker with a new feature I have been working on the past few months. It is super technical, so to sum it up, it is now more precise with reporting leaks than before.

    The long story is this: The JASS checker performs a static analysis of the JASS in a map. What this means is that it does not run the JASS code but sort of looks at it. The limitation is that it might not know what value a variable has so in the case of an if-statement, it would have to assume that the 'then' statements are executed and then the 'else' statements and their results are combined.
    However, in this latest version it makes an attempt to keep track of the value of things. This was super important to make the JASS checker more precise, especially because the blizzard.j file makes use of the global variable
    bj_wantDestroyGroup
    to determine whether the helper function must deallocate an allocation inside an if-statement. Because of the former way this was done, it had to assume that the allocation was never leaking and thus failed to report leaks in worry that they might be false positives.

    I made a mess of this. The JASS checker is complex and pretty good. Use it!
     
    Last edited: Aug 28, 2017
  2. Daffa the Mage

    Daffa the Mage

    Joined:
    Jan 30, 2013
    Messages:
    5,547
    Resources:
    11
    Maps:
    4
    Spells:
    7
    Resources:
    11
    Yay!
    For updates!

    Can we plug campaigns now? :p
     
  3. Ralle

    Ralle

    Owner

    Joined:
    Oct 6, 2004
    Messages:
    10,813
    Resources:
    8
    Tools:
    3
    Maps:
    5
    Resources:
    8
    Not yet, but you can upload the script separately or upload each map separately. Probably faster anyway.
     
  4. Robbepop

    Robbepop

    Joined:
    Mar 6, 2008
    Messages:
    834
    Resources:
    7
    Maps:
    6
    Spells:
    1
    Resources:
    7
    I tried your JassChecker on some of my maps.
    It hasn't found any leaks but I also was pretty sure that it won't find any in the maps that ran properly through your JASS checker.
    However, for some maps JASS Checker simple hang up and even the entire site stopped responding to my requests.

    For future updates to the hive it would be awesome to automatically run JASS Checker over all newly uploaded maps and badge those that are found to be leak free!

    Regards,
    Robbepop
     
  5. Ralle

    Ralle

    Owner

    Joined:
    Oct 6, 2004
    Messages:
    10,813
    Resources:
    8
    Tools:
    3
    Maps:
    5
    Resources:
    8
    Cool ideas, thanks :).
     
  6. juvian

    juvian

    Joined:
    Sep 25, 2017
    Messages:
    1
    Resources:
    0
    Resources:
    0
    Now sure where is the bug section for this, but when I upload big .j files (4-5mb) it gives
    A server error occurred. Please try again later.

    Is it a server error or it could be a jass checker error? There is no way to run it locally right?

    Thanks in advance
     
  7. Ralle

    Ralle

    Owner

    Joined:
    Oct 6, 2004
    Messages:
    10,813
    Resources:
    8
    Tools:
    3
    Maps:
    5
    Resources:
    8
    I’d love to try it out with your JASS file. Can you send it to me in private?