Computer genius needed inside...

33 replies
  • OFF TOPIC
  • |
The computer at the salon where my wife works froze up when someone tried to ring up a sale. Now it gives an error when they try to use it and won't let them ring up any customers. They rebooted and/or shut the computer down completely 5 times but it hasn't helped.

Because they're using Windows XP the salon software company won't help. Can one of you computer geniuses take a look at the photo I stitched together that email to me and see if this is something you can tell me tell them how to fix, or if they'll have to take it in to the shop?

Thanks!
  • Profile picture of the author thunderbird
    Nasty. Reboot into safemode yet?
    Signature

    Project HERE.

    {{ DiscussionBoard.errors[9118589].message }}
  • Profile picture of the author garyv
    It appears by looking at the software error that possibly there's a duplicate entry in the database. Meaning that possibly a ticket was inadvertently added twice - possibly when the computer froze and was restarted.

    I would try deleting a few tickets right around the time of the computer freeze up. Does the software allow you to do anything right now?
    {{ DiscussionBoard.errors[9118590].message }}
  • Profile picture of the author SteveJohnson
    You can try what Gary says; after that the only way to fix it is to get into the database itself. From the filename, it looks like it's running MySQL.

    If the computer is still functional - if XP is running, and they have an internet connection, one of us could probably get in with Remote Desktop and have a shot at fixing it. That's assuming that some form of MySQL administration software is installed and available.
    Signature

    The 2nd Amendment, 1789 - The Original Homeland Security.

    Gun control means never having to say, "I missed you."

    {{ DiscussionBoard.errors[9118630].message }}
  • Profile picture of the author garyv
    I agree w/ Steve, it appears that a table may need repairing. I'm no expert at mysql but it sounds like Steve may be. But for sure it doesn't sound like a hardware or OS problem to me. I'm guessing the database is misconfigured or messed up.
    {{ DiscussionBoard.errors[9118640].message }}
  • Profile picture of the author Dennis Gaskill
    I'm not sure if they can delete it now, but I'll call them and see. I also thought the duplicate entry was a key clue. Maybe girl who had the error twitched and punched the enter key twice real fast and it locked up?
    Signature

    Just when you think you've got it all figured out, someone changes the rules.

    {{ DiscussionBoard.errors[9118641].message }}
  • Profile picture of the author seasoned
    garyv is right! The ONLY way rebooting will "help" is if it PRECISELY corrupts the table AGAIN, or PRECISELY causes the software to skip that record. The chances of that happening in a beneficial way is approximately ZERO!

    The CAUSE of this is probably because of poorly implemented or written software. IDEALLY, you either have a EXPLICIT TRANSACTION, and if ANY record fails, ALL is lost, and you have to redo it all, or you have it setup to gracefully handle a problem like this. Obviously, THIS software does NEITHER, and it partially wrote the transaction, and FAILED. The software either failed to write the whole transactions transaction, or has a record ID somewhere that failed to be updated.

    Without knowing more about the related tables, giving a reliable fix is difficult.

    Steve
    {{ DiscussionBoard.errors[9118643].message }}
  • Profile picture of the author seasoned
    Deleting that record COULD help, but it could also lead to orphaned records that could also cause trouble now or later. If you DO delete the record, try reentering it through the app. That SHOULD catch future errors, and bring you back to where you SHOULD be.

    Steve
    {{ DiscussionBoard.errors[9118653].message }}
    • Profile picture of the author kenmichaels
      [QUOTE=seasoned;9118653]Deleting that record COULD help, but it could also lead to orphaned records that could also cause trouble now or later. If you DO delete the record, try reentering it through the app. That SHOULD catch future errors, and bring you back to where you SHOULD be.

      Steve[/QUOTE

      in other words ... Job Security
      Signature

      Selling Ain't for Sissies!
      {{ DiscussionBoard.errors[9118670].message }}
      • Profile picture of the author seasoned
        [quote=kenmichaels;9118670]
        Originally Posted by seasoned View Post

        Deleting that record COULD help, but it could also lead to orphaned records that could also cause trouble now or later. If you DO delete the record, try reentering it through the app. That SHOULD catch future errors, and bring you back to where you SHOULD be.

        Steve[/QUOTE

        in other words ... Job Security
        BTW I hope you don't think I said that to make money somehow. I didn't. I am just trying to say what MIGHT happen, so you should save that statement, if worse comes to worse. It is possible, for example, that there is a field that wasn't incremented and is used elsewhere. Deleting this line, could connect the next payment with those records. Of course the IDEAL circumstance would be to delete ALL related records for that transaction.

        BTW what is the dirty bit for? It would be interesting if they had a kind of programmatic transaction. The dirty bit may mean that record hasn't been fully processed yet and should be deleted in a case like this.

        Steve
        {{ DiscussionBoard.errors[9120402].message }}
        • Profile picture of the author Dennis Gaskill
          [quote=seasoned;9120402]
          Originally Posted by kenmichaels View Post


          BTW I hope you don't think I said that to make money somehow. I didn't. I am just trying to say what MIGHT happen, so you should save that statement, if worse comes to worse. It is possible, for example, that there is a field that wasn't incremented and is used elsewhere. Deleting this line, could connect the next payment with those records. Of course the IDEAL circumstance would be to delete ALL related records for that transaction.

          BTW what is the dirty bit for? It would be interesting if they had a kind of programmatic transaction. The dirty bit may mean that record hasn't been fully processed yet and should be deleted in a case like this.

          Steve
          No, I didn't think you said that to make money, Steve.

          As for the "dirty bit" part, no idea what that is. My wife didn't know either. I'll ask the salon owner when I go there Tuesday.
          Signature

          Just when you think you've got it all figured out, someone changes the rules.

          {{ DiscussionBoard.errors[9120445].message }}
          • Profile picture of the author seasoned
            [quote=Dennis Gaskill;9120445]
            Originally Posted by seasoned View Post


            No, I didn't think you said that to make money, Steve.

            As for the "dirty bit" part, no idea what that is. My wife didn't know either. I'll ask the salon owner when I go there Tuesday.
            In computer language, dirty often means incomplete or unreliable.

            For example, data can be HIGHLY unstable. While YOU READ data for a report, someone else might be entering data that could change the report. Obviously, it can be bad if a customer sees that they paid $5 for one thing, and $6 for another, and the total sale is $20. SO, the database LOCKS such access to prevent that. It is possible to have a read ignore the locks, and that is called a dirty read.

            What is a "dirty read"?

            BTW on most databases, the default is to NOT allow dirty reads, unless requested.

            Steve
            {{ DiscussionBoard.errors[9120510].message }}
        • Profile picture of the author kenmichaels
          [quote=seasoned;9120402]
          Originally Posted by kenmichaels View Post


          BTW I hope you don't think I said that to make money somehow. I didn't. I am just trying to say what MIGHT happen, so you should save that statement, if worse comes to worse. It is possible, for example, that there is a field that wasn't incremented and is used elsewhere. Deleting this line, could connect the next payment with those records. Of course the IDEAL circumstance would be to delete ALL related records for that transaction.

          BTW what is the dirty bit for? It would be interesting if they had a kind of programmatic transaction. The dirty bit may mean that record hasn't been fully processed yet and should be deleted in a case like this.

          Steve
          Nope:

          I said it because I see shoddy developed stuff that come with a monthly / yearly
          service agreement.

          The users think its a great idea ... the creators know they put out crap
          and are making the users pay to fix what should never have been an issue.

          In this particular case I was agreeing with you. There is no feasible reason
          that i can see to not have error handling. Specially with something as important
          as a duplicate DB key.

          and for all you saying its not an XP problem.

          A thing to note:

          Often XP will temp lock a file when there is an error, this is more prevalent in
          the service pack two or three I forget.
          Perhaps a flaw? Perhaps a good intention not thought out well enough.

          Rebooting simply makes it from temp lock to permanent lock.

          If those files are locked it will be near impossible to purge / clean / fix the db.

          So I suggested to make sure the folder structure was put to read/write
          before attempting to fix the error.

          I also let Dennis know ... I am not a db expert.

          Garbage in - garbage out. People make money with that crap on purpose.
          In my opinion - they should be shot.
          Signature

          Selling Ain't for Sissies!
          {{ DiscussionBoard.errors[9120509].message }}
    • Profile picture of the author Joe Mobley
      Dennis,

      The guys here are on the right track.

      The table 'transaction' in the database 'sspos' probably has a field that does not allow duplicate entries. I'm thinking that when the system froze an entry, 844343 was created but the transaction was not completed.

      Now the class_armysql.php script is trying to add a record with the same 'key'. As you can see, it's not liking that.

      Check to see if your (their) software has some database or file maintenance utilities. Run those if it does.

      My best guess...

      Not a hardware problem.
      Very low probability on an XP problem.
      Very high probability on a corrupted database table and/or corrupted index file.

      All the best,

      Joe Mobley
      Signature

      .

      Follow Me on Twitter: @daVinciJoe
      {{ DiscussionBoard.errors[9118688].message }}
      • Profile picture of the author seasoned
        Originally Posted by Joe Mobley View Post

        Dennis,

        The guys here are on the right track.

        The table 'transaction' in the database 'sspos' probably has a field that does not allow duplicate entries. I'm thinking that when the system froze an entry, 844343 was created but the transaction was not completed.

        Now the class_armysql.php script is trying to add a record with the same 'key'. As you can see, it's not liking that.

        Check to see if your (their) software has some database or file maintenance utilities. Run those if it does.

        My best guess...

        Not a hardware problem.
        Very low probability on an XP problem.
        Very high probability on a corrupted database table and/or corrupted index file.

        All the best,

        Joe Mobley
        It's NOT a hardware problem!

        XP has some stability problems, since DAY 1! Windows 3.0 and every windows and windows NT version since. It has gotten FAR better, but it is there. THAT could have LED to this problem, but is HISTORY now! It has probably been even earlier, but I only started using windows with 3.0. MOST recognize that as the first real usable version.

        It technically IS a corrupted database. OH, the structure and files may be fine, but it is out of sync with what the program needs.

        BTW this would affect ANY of the windows versions.

        As for the transaction support I spoke of earlier, it use to be RARELY supported by MYSQL. Only INNODB supported it, and most people used the default MYISAM. It has been, the whole time, fully supported by IBM DB2, M/S SQL, and Oracle, etc.... It is one of the features that much of the open source stuff didn't consider that important, but commercial software considered ESSENTIAL. Of course NONE do it unless specifically asked.

        Good advice about the APPLICATION database tools, by the way. SOME apps have those, and many are MADE to catch things like this.

        Steve
        {{ DiscussionBoard.errors[9118700].message }}
  • Profile picture of the author yukon
    Banned
    Line #91 is apparently not happy at C:\SuperSalon\ssproject\include\framework\activere cord\class_armysql.php

    Maybe get that php file & post it here, it might have a clue (line #91).

    Long term, it's probably time to upgrade to at least Win7 for future software support from the vendor.
    {{ DiscussionBoard.errors[9118717].message }}
  • Profile picture of the author Dennis Gaskill
    Ken gave me a clue on Skype. When she rebooted while still have a problem the entire folder for the salon software was changed to "read only." I walked her through changing it back but it won't stick. I got ahold of some software to take control and make it stick, but the salon is not in town here. I'm going to be there Tuesday for something else so I'll stop in and see if I can fix it then.

    I also had her try find that line in the PHP file and it seems it's not there.

    So, for now they're doing things the old fashioned way -- pen and paper. I'll see what I can find Tuesday.

    Thanks everyone. Much appreciated.
    Signature

    Just when you think you've got it all figured out, someone changes the rules.

    {{ DiscussionBoard.errors[9118737].message }}
    • Profile picture of the author Tom B
      Banned
      Originally Posted by Dennis Gaskill View Post

      Ken gave me a clue on Skype. When she rebooted while still have a problem the entire folder for the salon software was changed to "read only." I walked her through changing it back but it won't stick. I got ahold of some software to take control and make it stick, but the salon is not in town here. I'm going to be there Tuesday for something else so I'll stop in and see if I can fix it then.

      I also had her try find that line in the PHP file and it seems it's not there.

      So, for now they're doing things the old fashioned way -- pen and paper. I'll see what I can find Tuesday.

      Thanks everyone. Much appreciated.
      Dennis, the error isn't in the php code, it looks like a database error. You may need to get into the database. It looks like two rows has the same key and the software doesn't know what to do. Each row needs a unique key so you may need to change one of those rows in the database.

      Shoot me a message on skype if you need help. If you can, send me over the database and I could check it out.
      {{ DiscussionBoard.errors[9118796].message }}
      • Profile picture of the author Dennis Gaskill
        Originally Posted by Thomas Belknap View Post

        Dennis, the error isn't in the php code, it looks like a database error. You may need to get into the database. It looks like two rows has the same key and the software doesn't know what to do. Each row needs a unique key so you may need to change one of those rows in the database.

        Shoot me a message on skype if you need help. If you can, send me over the database and I could check it out.
        Thanks Thomas. I don't have access to the database. The salon is in another town and it's not connected to the net. I'll be going there either tomorrow or Tuesday.
        Signature

        Just when you think you've got it all figured out, someone changes the rules.

        {{ DiscussionBoard.errors[9118957].message }}
  • Profile picture of the author David Beroff
    FWIW, it's clear that this has nothing to do with Win XP, so why not just tell the software company that you upgraded to Win 7, and are still getting the error?
    Signature
    Put MY voice on YOUR video: AwesomeAmericanAudio.com
    {{ DiscussionBoard.errors[9119712].message }}
  • Profile picture of the author sbucciarel
    Banned
    Dennis ... post this over in Programming. I'll bet someone there can read that and know what it means.
    {{ DiscussionBoard.errors[9119729].message }}
    • Profile picture of the author David Beroff
      Originally Posted by sbucciarel View Post

      Dennis ... post this over in Programming. I'll bet someone there can read that and know what it means.
      Good point; I just asked the mods to move (not duplicate) this thread as you suggest. But everyone who has participated thus far does seem to understand the issues.
      Signature
      Put MY voice on YOUR video: AwesomeAmericanAudio.com
      {{ DiscussionBoard.errors[9119754].message }}
    • Profile picture of the author seasoned
      Originally Posted by sbucciarel View Post

      Dennis ... post this over in Programming. I'll bet someone there can read that and know what it means.
      It looks like a number HERE, including ME, know what this means. To a programmer, it is OBVIOUS! The problem is that it is like a person saying they have a bad pain in their side, and we see a big cut. Could they dress it and bandage it? SURE! But could the cut have hurt something else? YEP! Any doctor will tell you it is dumb to diagnose long distance and think it is 100% correct. A good doctor will suggest you also see someone in person.

      So you need to either know the PROGRAM, which it is possible that NO person that has ever heard of warrior forum has ever seen, or use educated guesses and trial and error. If I were THERE, I could check the relationship of the tables and likely fix this on the first try. In fact, I might ADD a record, or change data, to fix this. But HERE, we are limited.

      BTW it isn't a program problem. OH, they could have programmed it to handle this problem better, but changing that may require a lot more work.

      Steve
      {{ DiscussionBoard.errors[9119796].message }}
    • Profile picture of the author Dennis Gaskill
      Originally Posted by David Beroff View Post

      FWIW, it's clear that this has nothing to do with Win XP, so why not just tell the software company that you upgraded to Win 7, and are still getting the error?
      Because...

      A) That would be dishonest, and
      B) They only offer remote support. They take control of the computer and make the repairs themselves on support issues.

      And besides, because it's not an XP issue specifically doesn't mean there aren't differences between XP and 7 that would matter.

      Thanks anyway, David.


      Originally Posted by sbucciarel View Post

      Dennis ... post this over in Programming. I'll bet someone there can read that and know what it means.
      I looked at that Suzanne, but it appears it's mostly web programming talk there (As the description says: All things programming - PHP, CGI, ASP...etc), rather than desktop software.

      Besides, lots of computer issues have been solved right here in the OT. Smart folks hang out here.

      Between what I got from Ken and Thomas in private Skype conversations I think I've got a reasonable chance of being able to fix it.
      Signature

      Just when you think you've got it all figured out, someone changes the rules.

      {{ DiscussionBoard.errors[9120323].message }}
  • Profile picture of the author SteveJohnson
    The 'dirty bit' is simply a field within the table record, who knows what value it's supposed to hold.

    I *THINK* that repairing the table through the database administration software will probably fix the problem. I think it's probably an issue with the next auto increment value that's stored in the table's records. It's stuck on a value that has already been used. When a field/column is designated as 'auto increment', MySQL keeps track of the value, and bumps the number up by 1 on each insert, storing the next value in its internal configuration.

    The field that holds the invoice number is marked as 'Unique', meaning that no other rows in the table can contain that value in that field/column.

    That's the most logical explanation I can come up with, given the error that was produced.

    FWIW, sometimes database tables get corrupted, through no one's fault. It just happens. I really doubt it was an uncaught programming error - inserting records using auto-increment columns as a unique key is quite common programming practice.
    Signature

    The 2nd Amendment, 1789 - The Original Homeland Security.

    Gun control means never having to say, "I missed you."

    {{ DiscussionBoard.errors[9120605].message }}
    • Profile picture of the author seasoned
      Originally Posted by SteveJohnson View Post

      The 'dirty bit' is simply a field within the table record, who knows what value it's supposed to hold.

      I *THINK* that repairing the table through the database administration software will probably fix the problem. I think it's probably an issue with the next auto increment value that's stored in the table's records. It's stuck on a value that has already been used. When a field/column is designated as 'auto increment', MySQL keeps track of the value, and bumps the number up by 1 on each insert, storing the next value in its internal configuration.

      The field that holds the invoice number is marked as 'Unique', meaning that no other rows in the table can contain that value in that field/column.

      That's the most logical explanation I can come up with, given the error that was produced.

      FWIW, sometimes database tables get corrupted, through no one's fault. It just happens. I really doubt it was an uncaught programming error - inserting records using auto-increment columns as a unique key is quite common programming practice.
      You're right about the possibility, etc... I would have expected the identity number to be more reliable. Wouldn't such an error trigger a corrupted table error? I forget the exact wording of the error, but there is a special error if a table gets corrupted in some way. The one most likely in a case like this is apparently one that would say:

      Table 'tablename' is
      marked as crashed and should be repaired

      If that IS the error, there is a MYSQL utility that can rebuild it, and I would think would fix the problem. In v5.x, they even made a set of commands for it, that run as SQL.

      Steve
      {{ DiscussionBoard.errors[9120763].message }}
  • Profile picture of the author Dennis Gaskill
    The computer is fixed! The owner did it herself and called today to let me know.

    I was trying to have her poke around in the menus and read the options to me but we didn't get anywhere that way. Later she poked around some more on her own and find an option to repair the database. She hadn't read that one to me. She click it, got a warning not to use it unless she was instructed to do so by support, but she figured "what the heck, it's not working anyway" so she clicked it.

    Long story short, it fixed the problem.

    Thanks for all the ideas, folks. Even though it turned out I didn't have to try any of them, I knew I could count on you. OT people rock!
    Signature

    Just when you think you've got it all figured out, someone changes the rules.

    {{ DiscussionBoard.errors[9121387].message }}
    • Profile picture of the author seasoned
      Originally Posted by Dennis Gaskill View Post

      The computer is fixed! The owner did it herself and called today to let me know.

      I was trying to have her poke around in the menus and read the options to me but we didn't get anywhere that way. Later she poked around some more on her own and find an option to repair the database. She hadn't read that one to me. She click it, got a warning not to use it unless she was instructed to do so by support, but she figured "what the heck, it's not working anyway" so she clicked it.

      Long story short, it fixed the problem.

      Thanks for all the ideas, folks. Even though it turned out I didn't have to try any of them, I knew I could count on you. OT people rock!
      You DID try one of them! Joe Mobley suggested to look for something like that, and I said it was a good point. They DO backup, right?

      Steve
      {{ DiscussionBoard.errors[9121963].message }}
      • Profile picture of the author Dennis Gaskill
        Originally Posted by seasoned View Post

        You DID try one of them! Joe Mobley suggested to look for something like that, and I said it was a good point. They DO backup, right?

        Steve
        Well, sort of... I had her click menu items and read things to me over the phone, but that didn't get us anywhere. She's the one that found the DB repair on her own later.

        I don't know if they have backups or not.
        Signature

        Just when you think you've got it all figured out, someone changes the rules.

        {{ DiscussionBoard.errors[9122617].message }}
        • Profile picture of the author Joe Mobley
          Back in my Database Consultant days, I quickly learned the value of a "Utilities" tab on menus of my projects. I had a "Check Database Files" (my databases would never need "repair". :rolleyes option that saved me many hours of support for the programs.

          Corrupted indexes were the single biggest problem that I encountered. The users were happy because they could repair, ah check the databases on their own.

          Glad it's working out for everyone.

          Joe Mobley
          Signature

          .

          Follow Me on Twitter: @daVinciJoe
          {{ DiscussionBoard.errors[9122742].message }}
  • Profile picture of the author SteveJohnson
    Kool, I love those solutions

    "what the heck, it's not working anyway"
    Signature

    The 2nd Amendment, 1789 - The Original Homeland Security.

    Gun control means never having to say, "I missed you."

    {{ DiscussionBoard.errors[9121455].message }}
    • Profile picture of the author thunderbird
      Originally Posted by SteveJohnson View Post

      Kool, I love those solutions
      That's usually pretty much how solutions are found in my case after exhaustive contacts with support, LOL.
      Signature

      Project HERE.

      {{ DiscussionBoard.errors[9121590].message }}
  • Profile picture of the author garyv
    That's awesome! - It sounds like we were all on the right track. We offtopic people do know a little bit.
    {{ DiscussionBoard.errors[9123190].message }}
    • Profile picture of the author Dennis Gaskill
      Originally Posted by garyv View Post

      That's awesome! - It sounds like we were all on the right track. We offtopic people do know a little bit.
      That's why I posted here instead of the programming forum.
      Signature

      Just when you think you've got it all figured out, someone changes the rules.

      {{ DiscussionBoard.errors[9123262].message }}
  • Profile picture of the author measolutions1
    Banned
    [DELETED]
    {{ DiscussionBoard.errors[9674903].message }}

Trending Topics