Fatal Error upgrading from 1.5.7 to 1.5.8 Non-unique widget GUID

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • NetX
    New Member
    • Aug 2005
    • 9
    • 5.1.x

    Fatal Error upgrading from 1.5.7 to 1.5.8 Non-unique widget GUID

    I'm upgrading from 5.1.7 to 5.1.8

    The upgrading process is not being completed, i get this Fatal errorr message:

    final Step #4
    Fatal Error Occurred
    Non-unique widget GUID: "vbulletin-widget_search-4eb423cfd6a5f3.08329785" on /home/myuser/public_html/core/vb/xml/import/widget.php : 62


    Any suggestion?
    Any help on this would be appreciated.


    Server Type Linux
    Web Server Apache v2.4.12 (cgi-fcgi)
    PHP 5.5.26
    MySQL Version 10.0.20-MariaDB
  • emreuygur
    New Member
    • Jan 2006
    • 15
    • 5.1.x

    #2
    Hi,
    Can you help with this? I have that same problem.
    Joomla Turkey - http://www.joomlatr.org

    Comment

    • NetX
      New Member
      • Aug 2005
      • 9
      • 5.1.x

      #3
      For those of you having the same problem.

      How to fix it:


      1) Check the error message and select the last digits for execute a query, for example, my message was this:

      Non-unique widget GUID: "vbulletin-widget_search-4eb423cfd6a5f3.08329785" on /home/myuser/public_html/core/vb/xml/import/widget.php : 62

      So I selected the last 8 digits for the query.

      2) Using phpMyadmin or mysql command execute this:

      Code:
      select * from widget where guid like '%[COLOR=#008000]08329785[/COLOR]%';


      (replace the digits for your owns)

      Check the query results and put attention on the widgetid


      For example: 308 , 309, 310
      3) Then, simply delete them using phpMyadmin

      Or if you are using mysql command, you can do the following:


      SELECT * FROM widgetinstance WHERE widgetid IN (308,309,310)

      If it returns any result, then run the following:

      DELETE FROM widgetinstance WHERE widgetid IN (308,309,310)

      Then, whether the first query returned results or not, run the following:

      DELETE FROM widget WHERE category='customized_copy'

      Please make a database backup before doing this.
      Obviously you should replace "308,309,310" in the first two queries with your own IDs of your custom modules.


      4) Run the upgrade process again

      Comment

      • MasterOfNone
        Member
        • Jul 2022
        • 53
        • 5.7.X

        #4
        I ran into this issue trying to apply the update to 5.6.9 and these steps did not work. I ended up restoring the DB and rolling back. I check the widget table and I have many duplicates there. What would cause so many duplicates in the widget table?

        Comment

        • Trevor Hannant
          vBulletin Support
          • Aug 2002
          • 24325
          • 5.7.X

          #5
          If you have duplicates, does the 'widget' table have AUTO_INCREMENT set against the widgetid column?
          Vote for:

          - Admin Settable Paid Subscription Reminder Timeframe (vB6)
          - Add Admin ability to auto-subscribe users to specific channel(s) (vB6)

          Comment

          • MasterOfNone
            Member
            • Jul 2022
            • 53
            • 5.7.X

            #6
            Originally posted by Trevor Hannant
            If you have duplicates, does the 'widget' table have AUTO_INCREMENT set against the widgetid column?
            Yes auto increment is under the extra column when describing the table:

            Code:
            +---------------+---------------------+------+-----+---------------+----------------+
            | Field         | Type                | Null | Key | Default       | Extra          |
            +---------------+---------------------+------+-----+---------------+----------------+
            | widgetid      | int(10) unsigned    | NO   | PRI | NULL          | auto_increment |
            | template      | varchar(200)        | NO   |     | NULL          |                |
            | admintemplate | varchar(200)        | NO   |     | NULL          |                |
            | icon          | varchar(200)        | NO   |     | NULL          |                |
            | isthirdparty  | tinyint(3) unsigned | NO   |     | NULL          |                |
            | category      | varchar(100)        | NO   |     | uncategorized |                |
            | cloneable     | tinyint(3) unsigned | NO   |     | 1             |                |
            | canbemultiple | tinyint(3) unsigned | NO   |     | 1             |                |
            | product       | varchar(25)         | NO   | MUL | vbulletin     |                |
            | guid          | char(150)           | YES  | UNI | NULL          |                |
            | parentid      | int(10) unsigned    | NO   |     | 0             |                |
            | titlephrase   | varchar(255)        | NO   |     |               |                |
            +---------------+---------------------+------+-----+---------------+----------------+
            12 rows in set (0.001 sec)​
            I'm going to test a backup on my test system. After restoring from backup the duplicates are not there, but when the upgrade failed there were now duplicates.

            Comment

            • Wayne Luke
              vBulletin Technical Support Lead
              • Aug 2000
              • 73981

              #7
              What is the exact error that you're receiving? Just copy and paste the entire error into a reply.
              Translations provided by Google.

              Wayne Luke
              The Rabid Badger - a vBulletin Cloud demonstration site.
              vBulletin 5 API

              Comment

              • MasterOfNone
                Member
                • Jul 2022
                • 53
                • 5.7.X

                #8
                Originally posted by Wayne Luke
                What is the exact error that you're receiving? Just copy and paste the entire error into a reply.
                Running php upgrade.php from the CLI

                Code:
                Processing XML
                ----------------------------------
                Step 1 - Import latest options
                         Importing vbulletin-settings.xml
                         Import Done
                Step 2 - Import latest admin help
                         Importing vbulletin-adminhelp.xml
                         Import Done
                Step 3 - Import latest language
                         Importing vbulletin-language.xml
                         Import Done
                Step 4 - Error Non-unique widget GUID: "vbulletin-widget_1-4eb423cfd68cd8.93414606"
                ## /var/www/html/htguide/public/forum/core/vb/xml/import/widget.php(62) Exception Thrown
                #0 /var/www/html/htguide/public/forum/core/vb/xml/import/widget.php(307): vB_Xml_Import_Widget->getWidgetByGuid()
                #1 /var/www/html/htguide/public/forum/core/vb/xml/import/widget.php(837): vB_Xml_Import_Widget->verifyWidgetInheritanceRules()
                #2 /var/www/html/htguide/public/forum/core/vb/xml/import.php(131): vB_Xml_Import_Widget->import()
                #3 /var/www/html/htguide/public/forum/core/install/includes/class_upgrade_final.php(233): vB_Xml_Import->importFromFile()
                #4 /var/www/html/htguide/public/forum/core/install/includes/class_upgrade.php(2712): vB_Upgrade_final->step_4()
                #5 /var/www/html/htguide/public/forum/core/install/includes/class_upgrade_cli.php(347): vB_Upgrade_Version->execute_step()
                #6 /var/www/html/htguide/public/forum/core/install/includes/class_upgrade_cli.php(309): vB_Upgrade_Cli->execute_step()
                #7 /var/www/html/htguide/public/forum/core/install/includes/class_upgrade_cli.php(177): vB_Upgrade_Cli->process_script()
                #8 /var/www/html/htguide/public/forum/core/install/includes/class_upgrade.php(1104): vB_Upgrade_Cli->init()
                #9 /var/www/html/htguide/public/forum/core/install/includes/class_upgrade_cli.php(90): vB_Upgrade_Abstract->__construct()
                #10 /var/www/html/htguide/public/forum/core/install/includes/class_upgrade.php(123): vB_Upgrade_Cli->__construct()
                #11 /var/www/html/htguide/public/forum/core/install/upgrade.php(158): vB_Upgrade::fetch_library()

                Comment

                • Wayne Luke
                  vBulletin Technical Support Lead
                  • Aug 2000
                  • 73981

                  #9
                  Delete the multiple copies of the widget record with the guid of vbulletin-widget_1-4eb423cfd68cd8.93414606.

                  select * from widget where guid='vbulletin-widget_1-4eb423cfd68cd8.93414606';

                  According to my database, this is the static html module. If the error continues after that, make sure you have a unique index on the guid field.

                  The table structure should look like:
                  Code:
                  CREATE TABLE `widget` (
                  `widgetid` int unsigned NOT NULL AUTO_INCREMENT,
                  `parentid` int unsigned NOT NULL DEFAULT '0',
                  `template` varchar(200) NOT NULL,
                  `admintemplate` varchar(200) NOT NULL,
                  `titlephrase` varchar(255) NOT NULL DEFAULT '',
                  `icon` varchar(200) NOT NULL,
                  `isthirdparty` tinyint unsigned NOT NULL,
                  `category` varchar(100) NOT NULL DEFAULT 'uncategorized',
                  `cloneable` tinyint unsigned NOT NULL DEFAULT '1',
                  `canbemultiple` tinyint unsigned NOT NULL DEFAULT '1',
                  `product` varchar(25) NOT NULL DEFAULT 'vbulletin',
                  `guid` char(150) DEFAULT NULL,
                  PRIMARY KEY (`widgetid`),
                  UNIQUE KEY `guid` (`guid`),
                  KEY `product` (`product`)
                  );​
                  If it continues after all that then redownload vBulletin and replace the /core/install/vbulletin-widgets.xml file.
                  Translations provided by Google.

                  Wayne Luke
                  The Rabid Badger - a vBulletin Cloud demonstration site.
                  vBulletin 5 API

                  Comment

                  • MasterOfNone
                    Member
                    • Jul 2022
                    • 53
                    • 5.7.X

                    #10
                    Originally posted by Wayne Luke
                    Delete the multiple copies of the widget record with the guid of vbulletin-widget_1-4eb423cfd68cd8.93414606.

                    select * from widget where guid='vbulletin-widget_1-4eb423cfd68cd8.93414606';

                    According to my database, this is the static html module. If the error continues after that, make sure you have a unique index on the guid field.

                    The table structure should look like:
                    Code:
                    CREATE TABLE `widget` (
                    `widgetid` int unsigned NOT NULL AUTO_INCREMENT,
                    `parentid` int unsigned NOT NULL DEFAULT '0',
                    `template` varchar(200) NOT NULL,
                    `admintemplate` varchar(200) NOT NULL,
                    `titlephrase` varchar(255) NOT NULL DEFAULT '',
                    `icon` varchar(200) NOT NULL,
                    `isthirdparty` tinyint unsigned NOT NULL,
                    `category` varchar(100) NOT NULL DEFAULT 'uncategorized',
                    `cloneable` tinyint unsigned NOT NULL DEFAULT '1',
                    `canbemultiple` tinyint unsigned NOT NULL DEFAULT '1',
                    `product` varchar(25) NOT NULL DEFAULT 'vbulletin',
                    `guid` char(150) DEFAULT NULL,
                    PRIMARY KEY (`widgetid`),
                    UNIQUE KEY `guid` (`guid`),
                    KEY `product` (`product`)
                    );​
                    If it continues after all that then redownload vBulletin and replace the /core/install/vbulletin-widgets.xml file.
                    What ended up working, is that I did a mysqldump of the DB, dropped the DB and then added the SQL back from the dump. Then the upgrade worked fine. This is what I did in my test environment and that worked. But for some reason doing this on the prod would fail. The only way I moved forward was the dump and restore. I don't know why, but it worked and the site has been happy with no errors reported.

                    Comment

                    • Wayne Luke
                      vBulletin Technical Support Lead
                      • Aug 2000
                      • 73981

                      #11
                      What version of PHP is on the production system? Does this differ from the PHP version on your test system?
                      Translations provided by Google.

                      Wayne Luke
                      The Rabid Badger - a vBulletin Cloud demonstration site.
                      vBulletin 5 API

                      Comment

                      • MasterOfNone
                        Member
                        • Jul 2022
                        • 53
                        • 5.7.X

                        #12
                        Originally posted by Wayne Luke
                        What version of PHP is on the production system? Does this differ from the PHP version on your test system?
                        Sorry for such a late response. The PHP matches between the test and production on the same version of Ubuntu. The version of PHP is 8.1.2
                        Last edited by MasterOfNone; Sun 8 Jan '23, 10:02am.

                        Comment

                        Related Topics

                        Collapse

                        Working...