Details

    • Type: Sub-task
    • Status: Done/Fixed
    • Priority: Major
    • Resolution: Fixed/Completed
    • Affects Version/s: 4.2.0
    • Fix Version/s: 4.2.0
    • Component/s: Core CiviCRM
    • Labels:
      None

      Description

      When upgrading the dataset from civicrm.org's CiviCRM instance, the upgrade process fails on step "[Error: Upgrade DB to 4.2.alpha1: Price Sets]" with this error:

      ----------

      DB Error: already exists
      #0 [internal function]: CRM_Core_Error::exceptionHandler(Object(DB_Error))
      #1 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/packages/PEAR.php(931): call_user_func(Array, Object(DB_Error))
      #2 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/packages/DB.php(968): PEAR_Error->PEAR_Error('DB Error: alrea...', -5, 16, Array, 'INSERT INTO civ...')
      #3 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/packages/PEAR.php(564): DB_Error->DB_Error(-5, 16, Array, 'INSERT INTO civ...')
      #4 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/packages/DB/common.php(1903): PEAR->raiseError(NULL, -5, NULL, NULL, 'INSERT INTO civ...', 'DB_Error', true)
      #5 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/packages/DB/mysql.php(898): DB_common->raiseError(-5, NULL, NULL, NULL, '1062 ** Duplica...')
      #6 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/packages/DB/mysql.php(327): DB_mysql->mysqlRaiseError()
      #7 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/packages/DB/common.php(1216): DB_mysql->simpleQuery('INSERT INTO civ...')
      #8 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/packages/DB/DataObject.php(2427): DB_common->query('INSERT INTO civ...')
      #9 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/packages/DB/DataObject.php(1055): DB_DataObject->_query('INSERT INTO civ...')
      #10 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/CRM/Core/DAO.php(291): DB_DataObject->insert()
      #11 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/CRM/Price/BAO/Set.php(65): CRM_Core_DAO->save()
      #12 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/CRM/Upgrade/Incremental/php/FourTwo.php(100): CRM_Price_BAO_Set::create(Array)
      #13 [internal function]: CRM_Upgrade_Incremental_php_FourTwo::task_4_2_alpha1_createPriceSets(Object(CRM_Queue_TaskContext))
      #14 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/CRM/Queue/Task.php(79): call_user_func_array(Array, Array)
      #15 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/CRM/Queue/Runner.php(173): CRM_Queue_Task->run(Object(CRM_Queue_TaskContext))
      #16 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/CRM/Queue/Page/AJAX.php(45): CRM_Queue_Runner->runNext(true)
      #17 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/CRM/Queue/ErrorPolicy.php(80):

      {closure}

      ()
      #18 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/CRM/Queue/Page/AJAX.php(52): CRM_Queue_ErrorPolicy->call(Object(Closure))
      #19 [internal function]: CRM_Queue_Page_AJAX::runNext(Array)
      #20 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/CRM/Core/Invoke.php(186): call_user_func(Array, Array)
      #21 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/drupal/civicrm.module(500): CRM_Core_Invoke::invoke(Array)
      #22 [internal function]: civicrm_invoke('upgrade', 'queue', 'ajax', 'runNext')
      #23 /var/www/civicrm.org/public/includes/menu.inc(517): call_user_func_array('civicrm_invoke', Array)
      #24 /var/www/civicrm.org/public/index.php(21): menu_execute_active_handler()
      #25

      {main}

      ----------

      Steps to reproduce:

      1. Copy /var/www/civicrm.org from sushi to local system
      2. Copy DBs (civicrm_main and drupal_main) from sushi to local system
      3. Setup DBs and fix credentials in civicrm.settings.php and settings.php
      4. Setup local Apache instance for civicrm.org
      5. Update /etc/hosts to use the local system (instead of the real civicrm.org)
      6. Enable debugging support in CiviCRM
      7. Switch codebase from 4.1 to trunk; run GenCode
      8. Execute web upgrade

      Specifically, the error arose when preparing price-sets with these names:

      • 'civicon_london'
      • '_bristol_uk_user_and_administrator_training'
      • '_location_developer_and_implementer_training'
      • 'london_user_and_administrator_training'

      I tried hacking the FourTwo upgrader to skip those specific price-sets – to see if the rest of the upgrade worked on this dataset. Unfortunately, there was also an error transitioning contribution #186 (participant #630, event #21).

      ----------
      A fatal error was triggered
      #0 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/CRM/Utils/Type.php(295): CRM_Core_Error::fatal('One of paramete...')
      #1 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/CRM/Core/DAO.php(962): CRM_Utils_Type::validate(NULL, 'Integer')
      #2 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/CRM/Core/DAO.php(884): CRM_Core_DAO::composeQuery(' SELECT cpf.id,...', Array, true)
      #3 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/CRM/Upgrade/Incremental/php/FourTwo.php(223): CRM_Core_DAO::executeQuery(' SELECT cpf.id,...', Array)
      #4 [internal function]: CRM_Upgrade_Incremental_php_FourTwo::task_4_2_alpha1_convertContributions(Object(CRM_Queue_TaskContext), 184, 186)
      #5 /var/www/civicrm.org/public/sites/civicrm.org/modules/civicrm/CRM/Queue/Task.php(79): call_user_func_array(Array, Array)
      ....
      ----------

        Attachments

          Activity

            People

            • Assignee:
              timotten Tim Otten
              Reporter:
              timotten Tim Otten
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: