list of bugs and wishes

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • wobbly
    Prophet
    • May 2012
    • 2627

    #61
    Originally posted by Vivit
    If I repeatedly alternate between pressing 'p' for "previous roll" and 'r' for "new roll" (to keep an old roll and compare my new rolls to it) during standard roller character generation, the game eventually crashes, sometime after only a couple rolls. No error message is shown by default, but when I traced the process with gdb, gdb tells me that the program exited with SIGABRT because of corrupted memory or a double free.

    Can anybody else reproduce this? This is in 4.1.3.
    Just tried. 50 keypresses(25 'p's 25 'r's). No crash

    Comment

    • Pete Mack
      Prophet
      • Apr 2007
      • 6883

      #62
      Wobbly--
      Try a debug build. They have nuch better chance of detection duplicate frees.

      Comment

      • Vivit
        Rookie
        • Oct 2018
        • 5

        #63
        gdb says that the offending line is z-virt.c:67 in mem_free():
        Code:
        61	void mem_free(void *p)
        62	{
        63		if (!p) return;
        64	
        65		if (mem_flags & MEM_POISON_FREE)
        66			memset(p, 0xCD, SZ(p));
        67		free((char *)p - sizeof(size_t));
        68	}
        Going up from the stack frame where the fault occurred reveals the following function call:
        Code:
        #8  0x00573ce4 in string_free (
            str=0x1fa4384 "\270J\372\001are the illegitimate but acknowledged child of a Serf.  ")
            at z-virt.c:110
        If I restart the program and reproduce the bug again, the program hangs up in the same place, but with a different string (since the string is one of the things being randomized by the chargen) and different garbage at the beginning of it.

        Continuing to test this bug, I've hit other error messages as well, like "realloc(): invalid old size". In this case, the program seems to crash hard; my terminal hangs up. The "double free" message I only see if I'm tracing the program with gdb, but the "invalid old size" displays (right at the end of the curses display, without even a newline before it) even if I'm not tracing the program.

        I've also noticed some inconsistent behavior: the history at the bottom of the character sheet sometimes changes when I press 'p'.

        Code:
         Name                Age             19          Self  RB  CB  EB   Best
        <CHARACTER DATA>
         Max Depth           Town    Shots        0/turn
                     
         You are one of several children of a Yeoman.  You are the black sheep 
         of the family.                                                        
        
        <BIG BLANK SPACE>
        
                                           ['r' to reroll, 'p' for previous roll or 'Enter' to accept]
        Note that there is no description of the character's appearance here! This particular bit of data of the data seems to get lost pretty often. The family information there is the same as it was before.

        However, sometimes weirder things happen. A crash ususually follows:
        Code:
         Name                Age             19          Self  RB  CB  EB   Best
        <CHARACTER DATA>
         Max Depth           Town    Shots        0/turn
        
        <NOTHING AT ALL>
        
                                           ['r' to reroll, 'p' for previous roll or 'Enter' to accept]
        Code:
         Name                Age             17          Self  RB  CB  EB   Best
        <CHARACTER DATA>
         Max Depth           Town    Shots        0/turn
                     
         8o                                                                   
                                                                               
        <BIG BLANK SPACE>
        
                                           ['r' to reroll, 'p' for previous roll or 'Enter' to accept]
        I don't always have to strictly alternate between 'p' and 'r' to get the program to crash. Sometimes just pressing them without much pattern will cause it to happen. However, if I press only 'p' or only 'r' a bunch of times, it usually does NOT happen.

        Sometimes, especially if I press 'r' a bunch of times in a row without pressing 'p', I will reach a state where pressing 'p' will restore the stats of the previously-rolled sheet, but see the history stay the same. In this state, if I press 'r', the history does change, but if I press 'p', the history stays the same. After rolling a number of new characters, the program may resume retrieving previous characters' histories as normal. Sometimes when histories are not being retrieved properly, the appearance description disappears when the previous sheet is loaded, but the genealogical information remains. When this happens, pressing 'p' again will restore the appearance description with the rest of the history.
        Last edited by Vivit; October 31, 2018, 22:02.

        Comment

        • Vivit
          Rookie
          • Oct 2018
          • 5

          #64
          It also looks like I can get the program to crash by manually editing the character history to be too long. Can you replicate that, wobbly?

          Comment

          • wobbly
            Prophet
            • May 2012
            • 2627

            #65
            Originally posted by Vivit
            It also looks like I can get the program to crash by manually editing the character history to be too long. Can you replicate that, wobbly?
            I'd have to know what you mean by manually editing. If you mean in-game where it says accept character history y/n. If I hit n, then hold down a key for a while then when I press enter the game does in fact crash for me.

            Comment

            • Vivit
              Rookie
              • Oct 2018
              • 5

              #66
              Yes, that is what I mean by manually editing.

              Comment

              • Pete Mack
                Prophet
                • Apr 2007
                • 6883

                #67
                Good catch vivit! Well characterized reports of memory errors are a gift to developers.

                Comment

                • Vivit
                  Rookie
                  • Oct 2018
                  • 5

                  #68
                  Thanks! I know from experience that memory-related bugs are some of the weirdest, nastiest, most elusive, and most resilient kinds of bugs out there, so fixing this quickly is going to require as much information as possible.

                  Comment

                  • Tibarius
                    Swordsman
                    • Jun 2011
                    • 429

                    #69
                    Originally posted by Carg
                    07 - changing the font to a larger size does not increase the space a letter gets, so they get truncated]
                    Nick posted on his Oct28 post, that he does not understand what this is about.

                    It is about using text chars and altering the font you use.

                    The program uses a fixed char width and height for each window. If you change a font, this two variables are not automatically adjusted. If you increase the font size, it will result in that chars are not shown completely anymore. If you decrease font size it will result in additional space above/between chars.

                    The solution for this problem is: after altering the font size, the user can adjust the width and height variables manually using the corresponding menu entries.

                    For the main window only there is also an automatically adjustment available in the windows menu, it is called "window=>term 0 font tile size => font". If you use that option after choosing a charset with a different width / heigth than before the window size is adjusted to show with the new font as many lines and columns as with the previously charset.

                    The change / feature request was:
                    (A) Make this automatically adjustment available for all sub windows as well.
                    (B) Call this function always after choosing a new charset for a window, so that the user does not need to call this function manually over the menu anymore. (B) ensures, that after choosing a new font, it is readable because width and heigth are adjusted to the required values of the new font.
                    Blondes are more fun!

                    Comment

                    • Nick
                      Vanilla maintainer
                      • Apr 2007
                      • 9629

                      #70
                      Originally posted by Carg
                      I've continued collecting more findings:
                      And some more answers:

                      Originally posted by Carg
                      20 - wish: for auto ignore menu's: could space also work to toggle the ignore? Apparently for me that is such a logical key that I keep making that mistake. There is also no explanation which key should work (although I found the 't' quick enough. Enter works also, but I'd expect the cursor to move to the next item then, and it doesn't.).
                      I think this one is just a matter of getting used to it - space is kind of reserved as something you can always use to clear messages without it having any gameplay effect, and I think we want to keep that strictly true.

                      Originally posted by Carg
                      21 - for a priest, the cure serious spell from the Purifications and Healings book is way higher level (15 vs. 5 --> higher spell failure, worsened by higher base fail: 50 vs 32) and costs more mana (5 vs 4) than the one from the basic book, and I don't see any exta benefit. Shouldn't that be the other way around? That cure mortal wounds version is 4 mana cheaper and only 4 levels higher (but 25% higher base fail).
                      Will be "fixed" in 4.2 with new classes

                      Originally posted by Carg
                      22 - if you browse a spellbook, toggle descriptions on, and scroll through the spells, the longer descriptions lines 3 and 4 do not get erased fully if you select a spell with a single line of text (and line 4 not when two lines). E.g. browse first book, toggle descriptions, select e and then f.
                      Filed as a bug.

                      Originally posted by Carg
                      23 - Wish: show with items that are recharging in their description how long it is expected before they are recharged (I know there is a random factor, but you could use the average), or at least how long it is already charging.
                      I'm concerned that the player is already bombarded with info, and this might make that info a bit busier - what do others think?

                      Originally posted by Carg
                      24 - Wish: monsters shouldn't be able to summon higher lavels than they are: why would a more powerful monster obey a lesser one?
                      High level doesn't necessarily mean smarter. Also, "I'll just get my manager"

                      Originally posted by Carg
                      25 - Why does in the middle of combat (lvl 92 - animal zoo) suddenly a message appear: "FINAL POWER IS 72*"? The only thing object-related was that some spellbooks were burnt at the time.
                      That's something that can be written when object power is being assessed; it typically only gets written into the logfile for randart generation. My best guess is that it was some kid of memory issue, and I've filed it as a bug (without much prospect of really solving exactly why it happened).

                      Originally posted by Carg
                      26 - spells that negatively influence monsters, like confuse monster, list the duration as "dam 40" even though they do not do damage. This is confusing and should read "dur 40", like player booster spells like haste.
                      I didn't think any did (except maybe Bedlam). Which spells?

                      Originally posted by Carg
                      27 - in some cases item description can be confusing, like with a staff of remove curse: "... When activated, it attempts removal of a single curse on an object. Your chance of success is 94.9%". The 94.9% is not the chance to remove the curse but to use the staff, so more correct would be "Your chance of successfully using this item is 94.9%". (But longer, so it might make the item description slightly less clear.)
                      I feel that on the whole the extra verbosity isn't worth it. The player should be used to seeing this on magic devices, and there is a separate curse menu which tells the odds of removing the curse.

                      Originally posted by Carg
                      28 - if a spell beams, monsters hit on the way that are killed seem to survive, and only when the beam has run it's full course the monsters on the way fall over. This is confusing because you are already planning your next attack, only to find out a second later that it is not necessary anymore. Can't monster kill be handled before the beam continues?
                      Short answer - no. This is the standard way all projections work; it possibly could be rewritten, but I don't think it's worth the time and potential of introducing new bugs. This is another case of just needing to get used to it.

                      Originally posted by Carg
                      29 - Wsh: the game allows movement by mouse click. Why doesn't it use the monster pathfinding so that you can click further away - that would really make it easier to e.g. move to the stairs when you've finished the level. The only issue might be that you should not be able to find the quickest route through unexplored territory (which is a bit cheating).
                      You are never "finished the level" - a new monster might have spawned between yo and the stairs. I think the mouse movement as is is OK.

                      Originally posted by Carg
                      30 - If you run (Shift-direction) you stop one step before an item, and when you run again one step beyond the item (which doesn't seem to make sense to me - stopping on the item itself seems most natural to me) And if there is a trap at that square beyond the item, you trigger it even when your disarm is 100%.
                      Added this to another bug about running.

                      Originally posted by Carg
                      31 - with the action that doubled armor class of all armors, I suspect the weapons that give AC were not increased, because it seems that, apart from the Cutlass 'Gondricam', the AC bonuses from weapons is peanuts, like a defender [+2]!?
                      The range of armour classes was doubled, not all armour classes, mostly by increasing the AC of heavy armour so it was more wearable. Possibly some weapons could be looked at to have their AC increased, but I think it's a marginal issue.

                      Originally posted by Carg
                      32 - an fully identified cloak [1, +6] (cursed - teleportation prevention), incorrectly displays a lot of ? in the character resistance overview.
                      Added to another bug about ID issues.

                      Originally posted by Carg
                      33 - Wish: unique Ainur Osse should not have nether breath and lower Xp - that is not fitting to an angel (ainur) and it is not even evil. Having nether (550) breath is also unbalanced for level 62 - even with resistance that can do up to 471 damage. The remaining capacities, esp. water ball, and the fact that it is very quick still make it dangerous enough.
                      Discussion: should damage also be capped to monster level, e.g. 60*level? Or even to dungeon level - you could say that the specific monsters that are able to survive at deeper levels are the stronger ones of the spieces.
                      Agreed about Osse and nether - all monsters will be up for re-examination for 4.2. Capping damage by level is an interesting idea, but on the whole I think it's too restrictive.
                      One for the Dark Lord on his dark throne
                      In the Land of Mordor where the Shadows lie.

                      Comment

                      • Pete Mack
                        Prophet
                        • Apr 2007
                        • 6883

                        #71
                        Stopping one square away is better, since you can see what it is before reaching it. Unless you do auto-pickup, you won't know necessarily know why you stopped. My one complaint: If you keep running when you stop next to stairs, you run right over top of them without stopping. This is particularly annoying on android, where tap-running is the default way to navigate the dungeon.

                        Comment

                        • Narry
                          Scout
                          • Sep 2018
                          • 45

                          #72
                          If I was the dictator maintainer (and a super duper programmer), I would make these changes in the next version:

                          - remove magic mushroom patches, they're nothing but an annoyance
                          - remove nexus quylthulgs, they're nothing but an annoyance (especially when exploring a vault and you have a level feeling of X-9 or X-8)
                          - remove hand, foot and skull drujs, they're hardly anything but an annoyance
                          - a warrior should not get a good level feeling when a high level prayer / spellbook is created on a level, same thing about green prayer books for mages/rogues/rangers and red spellbooks for priests and paladins

                          Comment

                          • Huqhox
                            Adept
                            • Apr 2016
                            • 145

                            #73
                            Originally posted by Narry
                            If I was the dictator maintainer (and a super duper programmer), I would make these changes in the next version:

                            - remove magic mushroom patches, they're nothing but an annoyance
                            They are there to teach novice players about the mechanics of confusion and so serve a purpose. For me they aren't even an issue

                            Originally posted by Narry
                            - remove nexus quylthulgs, they're nothing but an annoyance (especially when exploring a vault and you have a level feeling of X-9 or X-8)
                            They are annoying; I'd rather give nexus resistance a chance of avoiding the teleport, or reduce their chance of casting teleport on you. They provide an interesting challenge of how to approach the area they are in

                            Originally posted by Narry
                            - remove hand, foot and skull drujs, they're hardly anything but an annoyance
                            Oh no they are the turrets of Angband and again give a different challenge to just walking up and wailing on every creature you come across

                            Originally posted by Narry
                            - a warrior should not get a good level feeling when a high level prayer / spellbook is created on a level, same thing about green prayer books for mages/rogues/rangers and red spellbooks for priests and paladins
                            I'll agree with that one. I know Nick has already reduces the drop rates for books which can't be used by the player; this might be the next logical change along that line

                            Of course this just my 2p/2c and mileage my vary
                            "This has not been a recording"

                            Comment

                            • Sky
                              Veteran
                              • Oct 2016
                              • 2320

                              #74
                              High level drops can still be useful to those using selln
                              "i can take this dracolich"

                              Comment

                              • Huqhox
                                Adept
                                • Apr 2016
                                • 145

                                #75
                                Originally posted by Sky
                                High level drops can still be useful to those using selln
                                Indeed they can. Should that affect the level feeling though? Maybe so as 'there are some good treasures here'. You could always leave it for those with selling on
                                "This has not been a recording"

                                Comment

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