Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Obscure paths to serious bugs

Obscure paths to serious bugs

Scheduled Pinned Locked Moved The Lounge
databasecssdesigntestingdebugging
21 Posts 19 Posters 3 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Chris Maunder

    I was working on a minor UI update. I need to add a "close" button to an alert. It's 30 seconds work, but the alert wasn't showing so I couldn't test the button. I fire up the debugger and start tracing why the alert wasn't showing. Funnily enough it was because the "show alert" flag wasn't being set. Which was because the query string for the "show alert" trigger was malformed. Which meant a "Do I show the alert" function had the wrong input. Except it was totally and utterly the wrong "Do I show the alert" function. The function being called was in code that was obsolete and wholly replaced by a new component. Which opened up an entire new level of bugs and issues and testing and my afternoon completely shot. Because I couldn't test a single bit of CSS properly. I'm just curious as to what innocuous seeming bugs you've worked on that let loose the Kraken of bugs for you to deal with.

    cheers Chris Maunder

    R Offline
    R Offline
    Ron Anders
    wrote on last edited by
    #8

    I had a UI bug for what, like a month? a P.O. html table where the rightmost column is to be a font-awesome printer to print a bar code for the item on that row but only if the received column is non-zero otherwise gray out the printer icon Easy peasy right? The code that is responsible loops through the rows and if Received is > 0 set the opacity of the printer icon to .2 or 1. But it wouldn't work. the opacity would set for the first row but not the subsequent ones and not because of any fault in the loop but the javascript wouldn't set the opacity to 1 for rows it tried to on. I tried everything I could think of to try and get the code to show me what could be wrong but no. Then I hit upon a so reply to a person who was having trouble with their htmlcollection as I was and the reply said the the getElementByClassName() would return a live collection and that the op should try querySelectorAll() I've used both arbitrarily without care as to why but yeah that fixed it. I would still have been yet taunting me from the issue list had I not seen that. It sucked to look at it and here it was "So, not fixed yet huh Ron..." It felt so good to set the bug as fixed. I saw someone's sig I think it was here that said, "It's easy once you know how". Yeah. Onward and upward.

    1 Reply Last reply
    0
    • C Chris Maunder

      I was working on a minor UI update. I need to add a "close" button to an alert. It's 30 seconds work, but the alert wasn't showing so I couldn't test the button. I fire up the debugger and start tracing why the alert wasn't showing. Funnily enough it was because the "show alert" flag wasn't being set. Which was because the query string for the "show alert" trigger was malformed. Which meant a "Do I show the alert" function had the wrong input. Except it was totally and utterly the wrong "Do I show the alert" function. The function being called was in code that was obsolete and wholly replaced by a new component. Which opened up an entire new level of bugs and issues and testing and my afternoon completely shot. Because I couldn't test a single bit of CSS properly. I'm just curious as to what innocuous seeming bugs you've worked on that let loose the Kraken of bugs for you to deal with.

      cheers Chris Maunder

      D Offline
      D Offline
      Duncan Edwards Jones
      wrote on last edited by
      #9

      Yesterday I found some code making the assumption (for an option instrument[^] ) which was assuming that a strike price of zero was the same as a NULL in that field. It categorically is not - but finding all the impacts of changing it, and any data saved with the wrong value or impacted by it, is going to take weeks. Tiny assumption -> huge mess.

      1 Reply Last reply
      0
      • C Chris Maunder

        I was working on a minor UI update. I need to add a "close" button to an alert. It's 30 seconds work, but the alert wasn't showing so I couldn't test the button. I fire up the debugger and start tracing why the alert wasn't showing. Funnily enough it was because the "show alert" flag wasn't being set. Which was because the query string for the "show alert" trigger was malformed. Which meant a "Do I show the alert" function had the wrong input. Except it was totally and utterly the wrong "Do I show the alert" function. The function being called was in code that was obsolete and wholly replaced by a new component. Which opened up an entire new level of bugs and issues and testing and my afternoon completely shot. Because I couldn't test a single bit of CSS properly. I'm just curious as to what innocuous seeming bugs you've worked on that let loose the Kraken of bugs for you to deal with.

        cheers Chris Maunder

        M Offline
        M Offline
        Member 9167057
        wrote on last edited by
        #10

        I recently changed a tiny bit about a progress/throbber sub-window and now the program opens another task bar entry. I "love" maintaining a horrible spaghetti mess of inherited code...

        1 Reply Last reply
        0
        • C Chris Maunder

          I was working on a minor UI update. I need to add a "close" button to an alert. It's 30 seconds work, but the alert wasn't showing so I couldn't test the button. I fire up the debugger and start tracing why the alert wasn't showing. Funnily enough it was because the "show alert" flag wasn't being set. Which was because the query string for the "show alert" trigger was malformed. Which meant a "Do I show the alert" function had the wrong input. Except it was totally and utterly the wrong "Do I show the alert" function. The function being called was in code that was obsolete and wholly replaced by a new component. Which opened up an entire new level of bugs and issues and testing and my afternoon completely shot. Because I couldn't test a single bit of CSS properly. I'm just curious as to what innocuous seeming bugs you've worked on that let loose the Kraken of bugs for you to deal with.

          cheers Chris Maunder

          S Offline
          S Offline
          Slow Eddie
          wrote on last edited by
          #11

          Several days ago I spent a couple of days trying to track down why a popup didn't. Finally resorting to contacting tech support, they pointed out that I was missing a closing curly brace in the java script! (I use DevEX tools. The documentation IMO is terrible, but the tech support is the best I have ever dealt with in a 48 year career.) The sad part is I wasn't working on anyone else's legacy code. It is all mine. :( :sigh:

          Zaphod.

          1 Reply Last reply
          0
          • C Chris Maunder

            I was working on a minor UI update. I need to add a "close" button to an alert. It's 30 seconds work, but the alert wasn't showing so I couldn't test the button. I fire up the debugger and start tracing why the alert wasn't showing. Funnily enough it was because the "show alert" flag wasn't being set. Which was because the query string for the "show alert" trigger was malformed. Which meant a "Do I show the alert" function had the wrong input. Except it was totally and utterly the wrong "Do I show the alert" function. The function being called was in code that was obsolete and wholly replaced by a new component. Which opened up an entire new level of bugs and issues and testing and my afternoon completely shot. Because I couldn't test a single bit of CSS properly. I'm just curious as to what innocuous seeming bugs you've worked on that let loose the Kraken of bugs for you to deal with.

            cheers Chris Maunder

            M Offline
            M Offline
            MarkTJohnson
            wrote on last edited by
            #12

            I work on an ETL process taking data from a source database into a reporting database. We offer a custom column table where the client can specify that certain data from the source be placed in certain columns in the reporting table. The ETL process USED to create a temporary table to collect the source data and then run a SQL statement with a PIVOT clause to put the data into the custom columns. A certain client claimed they hadn't been getting any new custom records for a while. It took several attempts by a couple of devs to figure out what was happening. It finally fell to me to take a turn. Since we couldn't see what the SQL with the PIVOT was doing because we didn't have access to the temp table as they vanish after the session, I pushed to change the temp table to become a regular persistent table. Once that was approved and pushed out, I was able to run the SQL statement and the statement DIDN'T produce any records to be inserted into the custom table. Poking around and trying different things figured out that it was failing because the list of custom columns stored for the client was like "Custom_1, Custom_2, Custom_3' but the actual columns were names custom_1, custom_2, custom_3. Something changed in an update to SQL Server such that the PIVOT statement had become case sensitive so Custom_1 no longer matched custom_1. Adding a tolower() in the SQL statement solved the problem.

            I’ve given up trying to be calm. However, I am open to feeling slightly less agitated.

            1 Reply Last reply
            0
            • C Chris Maunder

              I was working on a minor UI update. I need to add a "close" button to an alert. It's 30 seconds work, but the alert wasn't showing so I couldn't test the button. I fire up the debugger and start tracing why the alert wasn't showing. Funnily enough it was because the "show alert" flag wasn't being set. Which was because the query string for the "show alert" trigger was malformed. Which meant a "Do I show the alert" function had the wrong input. Except it was totally and utterly the wrong "Do I show the alert" function. The function being called was in code that was obsolete and wholly replaced by a new component. Which opened up an entire new level of bugs and issues and testing and my afternoon completely shot. Because I couldn't test a single bit of CSS properly. I'm just curious as to what innocuous seeming bugs you've worked on that let loose the Kraken of bugs for you to deal with.

              cheers Chris Maunder

              R Offline
              R Offline
              Rich Shealer
              wrote on last edited by
              #13

              In 1983 I wrote a program for a local weekly magazine that tracked the number of issue sales by each sales location. It would calculate how many of that week's issue each store would get based on recent returns and other history. The computer was a Canon AS-100 an 8088 that ran CP/M-86. No hard drive, just two 8" floppies. This was either before I knew of dBase II or it wasn't available on this non IBM compatible PC. I wrote the program in a decent dialect of BASIC. My first issue was that the file copy program (PIP) had a problem copying a large files. It would corrupt the destination file by recopying an earlier section of the file instead of getting fresh data. The working data file got damaged and it turned out that all their backups were corrupted by PIP. The work around was to use CopyDisk for a full disk copy until it was patched. I spent an entire weekend reentering their data so we didn't loose the customer. The other problem was my own. I wrote database routines, without formal training, in BASIC, that had an obscure error. The customer index would get corrupted, but it took awhile for the corruption to become evident. Eventually a customer entry would not be found. The fix was to re-index the file. But being a dumb rookie, it took about 12 hours each time. I wrote it with individual floppy disk accesses for each record. Probably using sieve sort. Still didn't find the corruption bug. To shorten the time, I later split the job so I read from one disk and wrote to a second. This took the time down to about 10 hours. The index corruption bug was still hiding. In our office we got a machine with a 10 MB hard drive. By this time the PIP issue was fixed and I would take a copy of the corrupted data, copy it to the hard disk and run the disk intensive re-index. Now it only took 2 hours. But I still hadn't found the bug. Then I got the bright idea of loading all of the key index related fields into a large array in memory. I rewrote the utility to reindex against every thing in RAM. So much faster, it only took about 20 minutes I think. Had I been more experienced, I would have done this method first rather than beating on the disk IO. The magazine was sold to a larger publisher and eventually they were going to put the data onto their IBM S/36 or some such. I had to travel farther and no longer had an office key. I still remember sitting in their office on a Saturday morning going over my code one more time and finding the errant comparison that was rarely called. The index nev

              1 Reply Last reply
              0
              • C Chris Maunder

                I was working on a minor UI update. I need to add a "close" button to an alert. It's 30 seconds work, but the alert wasn't showing so I couldn't test the button. I fire up the debugger and start tracing why the alert wasn't showing. Funnily enough it was because the "show alert" flag wasn't being set. Which was because the query string for the "show alert" trigger was malformed. Which meant a "Do I show the alert" function had the wrong input. Except it was totally and utterly the wrong "Do I show the alert" function. The function being called was in code that was obsolete and wholly replaced by a new component. Which opened up an entire new level of bugs and issues and testing and my afternoon completely shot. Because I couldn't test a single bit of CSS properly. I'm just curious as to what innocuous seeming bugs you've worked on that let loose the Kraken of bugs for you to deal with.

                cheers Chris Maunder

                D Offline
                D Offline
                davecasdf
                wrote on last edited by
                #14

                You mean every can of worms has a bigger can of worms inside it? WOW!

                1 Reply Last reply
                0
                • C Chris Maunder

                  I was working on a minor UI update. I need to add a "close" button to an alert. It's 30 seconds work, but the alert wasn't showing so I couldn't test the button. I fire up the debugger and start tracing why the alert wasn't showing. Funnily enough it was because the "show alert" flag wasn't being set. Which was because the query string for the "show alert" trigger was malformed. Which meant a "Do I show the alert" function had the wrong input. Except it was totally and utterly the wrong "Do I show the alert" function. The function being called was in code that was obsolete and wholly replaced by a new component. Which opened up an entire new level of bugs and issues and testing and my afternoon completely shot. Because I couldn't test a single bit of CSS properly. I'm just curious as to what innocuous seeming bugs you've worked on that let loose the Kraken of bugs for you to deal with.

                  cheers Chris Maunder

                  E Offline
                  E Offline
                  Ed Attfield
                  wrote on last edited by
                  #15

                  This happens to me frequently, but most often with small home repairs. Go to change a washer, find the whole faucet needs replacing. Go to replace that and find another hidden problem ...

                  1 Reply Last reply
                  0
                  • C Chris Maunder

                    I was working on a minor UI update. I need to add a "close" button to an alert. It's 30 seconds work, but the alert wasn't showing so I couldn't test the button. I fire up the debugger and start tracing why the alert wasn't showing. Funnily enough it was because the "show alert" flag wasn't being set. Which was because the query string for the "show alert" trigger was malformed. Which meant a "Do I show the alert" function had the wrong input. Except it was totally and utterly the wrong "Do I show the alert" function. The function being called was in code that was obsolete and wholly replaced by a new component. Which opened up an entire new level of bugs and issues and testing and my afternoon completely shot. Because I couldn't test a single bit of CSS properly. I'm just curious as to what innocuous seeming bugs you've worked on that let loose the Kraken of bugs for you to deal with.

                    cheers Chris Maunder

                    O Offline
                    O Offline
                    obermd
                    wrote on last edited by
                    #16

                    Not a programming issue, but years ago while I ran the helpdesk for the Office of the Undersecretary of Defense for Acquisitions and Technology (OUSDAT) and I received a call from an Army LtCol. His complaint was that the Solitaire card bounce (Windows 3.11 for Workgroups) wasn't working. Sure enough, the cards would randomly teleport around the screen. After three weeks of troubleshooting I discovered that we needed to block the top 16 bytes of real mode memory in himem.sys. Doesn't sound like much, but we had over 1,000 of these machines, all identical. So I instructed my staff that on any call, for any reason, they were to make this change. Inside a month the number of reported system crashes and mysterious BSODs dropped from several a week to nearly zero.

                    M 1 Reply Last reply
                    0
                    • M Matthew Dennis

                      The Kraken and I are on a first name basis and regularly go for coffee.

                      "Time flies like an arrow. Fruit flies like a banana."

                      A Offline
                      A Offline
                      Andre_Prellwitz
                      wrote on last edited by
                      #17

                      The source of the majority of the problems I see daily is the mentality that 1) we don’t have enough unit tests, so rather than refactor and force QA/myself to retest all affected code paths, I’ll create a *new copy* of existing code and 2) there’s no way to know when my code changes actually cause dead code, so don’t ever worry about cleaning up.

                      Greg UtasG 1 Reply Last reply
                      0
                      • O obermd

                        Not a programming issue, but years ago while I ran the helpdesk for the Office of the Undersecretary of Defense for Acquisitions and Technology (OUSDAT) and I received a call from an Army LtCol. His complaint was that the Solitaire card bounce (Windows 3.11 for Workgroups) wasn't working. Sure enough, the cards would randomly teleport around the screen. After three weeks of troubleshooting I discovered that we needed to block the top 16 bytes of real mode memory in himem.sys. Doesn't sound like much, but we had over 1,000 of these machines, all identical. So I instructed my staff that on any call, for any reason, they were to make this change. Inside a month the number of reported system crashes and mysterious BSODs dropped from several a week to nearly zero.

                        M Offline
                        M Offline
                        MarkTJohnson
                        wrote on last edited by
                        #18

                        That's as good as the story a Russian coworker had. In Russia he was working in a computer room with many machines. The high muckety-muck wanted to see the facility but every time he would come to inspect the machines would suddenly shut down. Imagine Soviet Russia and that happening every time the boss came to look in. They finally figured out what was happening. The muckety-muck was a larger man, overweight, and he would just stand in the doorway of the room. They finally figured out that the wiring for the power to the room ran under the doorway so when he stood there it caused a fault in the wiring.

                        I’ve given up trying to be calm. However, I am open to feeling slightly less agitated.

                        1 Reply Last reply
                        0
                        • A Andre_Prellwitz

                          The source of the majority of the problems I see daily is the mentality that 1) we don’t have enough unit tests, so rather than refactor and force QA/myself to retest all affected code paths, I’ll create a *new copy* of existing code and 2) there’s no way to know when my code changes actually cause dead code, so don’t ever worry about cleaning up.

                          Greg UtasG Offline
                          Greg UtasG Offline
                          Greg Utas
                          wrote on last edited by
                          #19

                          (1) is a major problem almost everywhere. (2) is difficult in the absence of serious code coverage, for which all those unit tests are a prerequisite--unless you simply mean types, data, and functions that aren't even used. Most static analysis tools don't identify the latter, which suggests that the people responsible for the tool's specifications have no experience as architects.

                          Robust Services Core | Software Techniques for Lemmings | Articles
                          The fox knows many things, but the hedgehog knows one big thing.

                          <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
                          <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

                          1 Reply Last reply
                          0
                          • C Chris Maunder

                            I was working on a minor UI update. I need to add a "close" button to an alert. It's 30 seconds work, but the alert wasn't showing so I couldn't test the button. I fire up the debugger and start tracing why the alert wasn't showing. Funnily enough it was because the "show alert" flag wasn't being set. Which was because the query string for the "show alert" trigger was malformed. Which meant a "Do I show the alert" function had the wrong input. Except it was totally and utterly the wrong "Do I show the alert" function. The function being called was in code that was obsolete and wholly replaced by a new component. Which opened up an entire new level of bugs and issues and testing and my afternoon completely shot. Because I couldn't test a single bit of CSS properly. I'm just curious as to what innocuous seeming bugs you've worked on that let loose the Kraken of bugs for you to deal with.

                            cheers Chris Maunder

                            M Offline
                            M Offline
                            Matthew Dennis
                            wrote on last edited by
                            #20

                            It's not a Kraken, its a Hydra.

                            "Time flies like an arrow. Fruit flies like a banana."

                            1 Reply Last reply
                            0
                            • P PIEBALDconsult

                              Fortunately, I don't tempt Cthulhu by delving into Web development, but I keep a supply of Kraken on hand anyway. https://image0.commarts.com/images1/7/4/2/1/124737_102_600_MTQ3NzM2NDI3MC02NDAyMjE0NDA_f.jpg[^]

                              C Offline
                              C Offline
                              charlieg
                              wrote on last edited by
                              #21

                              my head already hurts. That stuff is evil. :)

                              Charlie Gilley <italic>Stuck in a dysfunctional matrix from which I must escape... "Where liberty dwells, there is my country." B. Franklin, 1783 “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • World
                              • Users
                              • Groups