Untraceable bug in dev versions - help!

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Magnate
    Angband Devteam member
    • May 2007
    • 5110

    Untraceable bug in dev versions - help!

    I think I've found a bug which is in the most recent dev version and also in the 3.3-release branch, but is not in 3.3.0. The ticket is http://trac.rephial.org/ticket/1536. Every time I use a wand, staff or rod it is instantly IDd.

    If you are playing the most recent dev version and do not see this behaviour, please post a savefile.

    If you notice it start or stop happening, please describe.

    If you happen to have any ideas about what's caused it, please let me know. If you're using git and you type

    git log -p 3.3-release ^v3.3.0

    you can see every single line of code which has been changed since 3.3.0 was released - there aren't many and I can't see anything in there which is remotely related, but maybe someone else can.

    (You do need an up-to-date local 3.3-release branch to do this: git fetch official ; git checkout official/3.3-release ; git checkout -b 3.3-release)

    EDIT: I'm asking for help because this is the last serious bug holding up the release of 3.3.1 ...
    "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles
  • Nomad
    Knight
    • Sep 2010
    • 958

    #2
    I downloaded the latest nightly, and yes, I get this behaviour. If it helps, I can confirm that it was introduced since the September 5th (g005ced9) nightly - that's the version I've been playing, and it doesn't have this bug.
    Last edited by Nomad; September 19, 2011, 10:46.

    Comment

    • Magnate
      Angband Devteam member
      • May 2007
      • 5110

      #3
      Originally posted by Nomad
      I downloaded the latest nightly, and yes, I get this behaviour. If it helps, I can confirm that it was introduced since the September 5th (g005ced9) nightly - that's the version I've been playing, and it doesn't have this bug.
      That does help - thank you. I've still no idea how it was introduced, but at least you've narrowed it down.
      "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

      Comment

      • fizzix
        Prophet
        • Aug 2009
        • 3025

        #4
        bug seems to be introduced in 87b2b3c3d, the fix for #1533

        edit: aiming a wand seems to call project_p which includes the new line.
        Code:
        if (who == -1) return obvious;
        who == -1 means that it's the player, so it's returning obvious every time the player fires a wand.

        This fix was in respect to a crash bug in Openbsd, so it's hard to judge what needs to be done without reintroducing the original bug.
        Last edited by fizzix; September 19, 2011, 16:07.

        Comment

        • Magnate
          Angband Devteam member
          • May 2007
          • 5110

          #5
          Originally posted by fizzix
          bug seems to be introduced in 87b2b3c3d, the fix for #1533

          edit: aiming a wand seems to call project_p which includes the new line.
          Code:
          if (who == -1) return obvious;
          who == -1 means that it's the player, so it's returning obvious every time the player fires a wand.

          This fix was in respect to a crash bug in Openbsd, so it's hard to judge what needs to be done without reintroducing the original bug.
          Thank you. I was looking in project_m, forgetting that project() calls project_p even when it doesn't need to.

          This shouldn't be too hard to fix now you've identified the problem. I'll try and sort it out tonight. I am confident of not reintroducing the original bug (which was an invalid call to cave_monster).

          EDIT: fixed in f6b7d3f
          Last edited by Magnate; September 19, 2011, 16:58.
          "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

          Comment

          • AnonymousHero
            Veteran
            • Jun 2007
            • 1393

            #6
            I realize that this has already been fixed, but...

            Magnate, you should really try "git bisect". It usually makes tracking down this kind of thing pretty easy.

            Comment

            Working...
            😀
            😂
            🥰
            😘
            🤢
            😎
            😞
            😡
            👍
            👎