Answers.Body: <p>The problem seemed to be something was corrupted when updating the CiviRules extension when going from 2.40 to 2.41. The next updates (2.42 &amp; 2.43) still did not correct the corruption.</p>
  <p>I Disabled the CiviRules extension in Civi.
  Then I Uninstalled it.
  I checked the file system to be sure all the folders related to CiviRules were removed
  Cleared the cache
  Back in Civi extensions, I Installed CiviRules</p>
  <p>I only had 2 Rules that I cared about so I rebuilt them from scratch in the GUI.
  You might want to download the SQL tables and restore them to get your rules back after the reinstall.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-07-23T12:56:01.573Z
Answers.LastActivityDate: 2022-07-23T14:46:19.713Z
Answers.LastEditDate: 2022-07-23T14:46:19.713Z
Answers.UserDisplayName: Iowa Boy
Answers.Body: <blockquote>
  <p>/extensions/org.civicoop.<strong>civirules-old</strong>/civirules.php</p>
  </blockquote>
  <p>Perhaps it is time to change this to <em>&quot;new&quot;</em> or <em>&quot;the most recent&quot;</em> ?
  Jokes aside, I'd start from checking <em>civirules</em>  extension, looking particularly for   <em>::civicrm_api3_contribution_transact</em> function.
  Perhaps &quot;webform_civicrm&quot; is worth checking as well.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-07-21T14:30:20.313Z
Answers.Text: Yes the "old" might be the problem here if that's an old version or you have two different copies of the extension. Also in the stack trace it seems the query it is trying to run is an empty query `""`, suggesting that the [trigger entity](https://lab.civicrm.org/extensions/civirules/-/blob/e1866fcf9152a9b8bee28d3ea575e5e0547f9b40/CRM/CivirulesConditions/ContributionRecur/PaymentProcessor.php#L34) in your civirule is not correct.
Answers.UserDisplayName: Demerit
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-07-21T23:37:39.357Z
Answers.Text: The civirules_old was my attempt to downgrade the extension. I could not figure out how to do that so I renamed the folder for CiviRules 2.43 to that. Then I uploaded the 2.40 zip file and extracted it. That is what the above logs files were from. However, my problem started when I upgraded from Rules 2.40 to 2.41. Each upgrade since has not fixed it.
Answers.UserDisplayName: Iowa Boy
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-07-21T23:40:11.987Z
Answers.Text: So today, I uninstalled Rules extension and I made sure that all the files in the extension folder were removed as well. Then I reinstalled the extension with 2.43 and it is working. I still get the Deprecated function ::civicrm_api3_contribution_transact, message. But the Fatal Error went away and the Rule is functioning properly again
Answers.UserDisplayName: Iowa Boy
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-07-22T10:37:41.803Z
Answers.Text: @IowaBoy have you tried to update drupal side of things ( webform_civicrm )? normally civicrm reports deprecations if there is a deprecated code somewhere. Assuming your civicrm has the latest version, let's think where else would the old code be?
Answers.UserDisplayName: yurg
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-07-21T08:39:10.753Z
Answers.LastActivityDate: 2022-07-21T08:39:10.753Z
Answers.UserDisplayName: yurg
Body: <p>Drupal 7.90
  CiviCRM 5.51.1
  We use line items &amp; webform civi integration for all contributions.</p>
  <p>We are having random instances where a contribution is made, it is processed in iATS, the contribution table has the information, BUT there is no record in the civicrm_line_item table, and the webform submission also do not show any record. Most of the time it works but several times a week we get these partially completed records.</p>
  <p>I have tried several test contributions and have not been able to duplicate the problem.
  With every (successful or partial contributions) we get a Fatal Error and the Depreciated Function message in the logs. I am hoping that if I take care of the Fatal Error, the random lack of recording to SQL tables goes away.</p>
  <p>$Fatal Error Details = Array ( [callback] =&gt; Array ( [0] =&gt; CRM_Core_Error [1] =&gt; exceptionHandler ) [code] =&gt; -1 [message] =&gt; DB Error: unknown error [mode] =&gt; 16 [debug_info] =&gt; [nativecode=0 **] [type] =&gt; DB_Error [user_info] =&gt; [nativecode=0 **] [to_string] =&gt; [db_error: message=&quot;DB Error: unknown error&quot; code=-1 mode=callback callback=CRM_Core_Error::exceptionHandler prefix=&quot;&quot; info=&quot; [nativecode=0 **]&quot;] )</p>
  <p>Deprecated function ::civicrm_api3_contribution_transact, use The contibution.transact api is unsupported &amp; known to have issues. Please see the section at the bottom of <a href="https://docs.civicrm.org/dev/en/latest/financial/orderAPI/" rel="nofollow noreferrer">https://docs.civicrm.org/dev/en/latest/financial/orderAPI/</a> for getting off it. Array ( [civi.tag] =&gt; deprecated )</p>
  <p>$backTrace = #0 /home/radiusint/secure/sites/all/modules/civicrm/CRM/Core/Error.php(954): CRM_Core_Error::backtrace(&quot;backTrace&quot;, TRUE) <br/>
  #1 .../sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(922): CRM_Core_Error::exceptionHandler(Object(DB_Error)) <br/>
  #2 .../sites/all/modules/civicrm/vendor/pear/db/DB.php(997): PEAR_Error-&gt;__construct(&quot;DB Error: unknown error&quot;, -1, 16, (Array:2), &quot; [nativecode=0 **]&quot;) <br/>
  #3 .../sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(575): DB_Error-&gt;__construct(-1, 16, (Array:2), &quot; [nativecode=0 **]&quot;) <br/>
  #4 .../sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(223): PEAR::_raiseError(Object(DB_mysqli), NULL, -1, 16, (Array:2), &quot; [nativecode=0 **]&quot;, &quot;DB_Error&quot;, TRUE) <br/>
  #5 .../sites/all/modules/civicrm/vendor/pear/db/DB/common.php(1928): PEAR-&gt;__call(&quot;raiseError&quot;, (Array:7)) <br/>
  #6 .../sites/all/modules/civicrm/vendor/pear/db/DB/mysqli.php(936): DB_common-&gt;raiseError(-1, NULL, NULL, &quot; [nativecode=0 **]&quot;, &quot;0 ** &quot;) <br/>
  #7 .../sites/all/modules/civicrm/vendor/pear/db/DB/mysqli.php(406): DB_mysqli-&gt;mysqliRaiseError() <br/>
  #8 .../sites/all/modules/civicrm/vendor/pear/db/DB/common.php(1234): DB_mysqli-&gt;simpleQuery(&quot;&quot;) <br/>
  #9 .../sites/all/modules/civicrm/packages/DB/DataObject.php(2696): DB_common-&gt;query(&quot;&quot;) <br/>
  #10 .../sites/all/modules/civicrm/packages/DB/DataObject.php(1829): DB_DataObject-&gt;_query(&quot;&quot;) <br/>
  #11 .../sites/all/modules/civicrm/CRM/Core/DAO.php(472): DB_DataObject-&gt;query(&quot;&quot;) <br/>
  #12 .../sites/all/modules/civicrm/CRM/Core/DAO.php(1709): CRM_Core_DAO-&gt;query(&quot;&quot;, TRUE) <br/>
  #13 .../sites/default/files/civicrm/extensions/org.civicoop.civirules-old/CRM/CivirulesConditions/ContributionRecur/PaymentProcessor.php(76): CRM_Core_DAO::singleValueQuery(&quot;&quot;, (Array:1)) <br/>
  #14 .../sites/default/files/civicrm/extensions/org.civicoop.civirules-old/CRM/Civirules/Engine.php(299): CRM_CivirulesConditions_ContributionRecur_PaymentProcessor-&gt;isConditionValid(Object(CRM_Civirules_TriggerData_Edit)) <br/>
  #15 .../sites/default/files/civicrm/extensions/org.civicoop.civirules-old/CRM/Civirules/Engine.php(252): CRM_Civirules_Engine::checkCondition((Array:5), Object(CRM_Civirules_TriggerData_Edit)) <br/>
  #16 .../sites/default/files/civicrm/extensions/org.civicoop.civirules-old/CRM/Civirules/Engine.php(32): CRM_Civirules_Engine::areConditionsValid(Object(CRM_Civirules_TriggerData_Edit)) <br/>
  #17 .../sites/default/files/civicrm/extensions/org.civicoop.civirules-old/CRM/Civirules/Trigger/Post.php(123): CRM_Civirules_Engine::triggerRule(Object(CRM_Civirules_Trigger_Post), Object(CRM_Civirules_TriggerData_Edit)) <br/>
  #18 .../sites/default/files/civicrm/extensions/org.civicoop.civirules-old/CRM/Civirules/Trigger/Post.php(107): CRM_Civirules_Trigger_Post-&gt;triggerTrigger(&quot;create&quot;, &quot;Email&quot;, 17442, Object(CRM_Core_DAO_Email), &quot;62d81355930c7&quot;) <br/>
  #19 .../sites/default/files/civicrm/extensions/org.civicoop.civirules-old/civirules.php(485): CRM_Civirules_Trigger_Post::post(&quot;create&quot;, &quot;Email&quot;, 17442, Object(CRM_Core_DAO_Email), &quot;62d81355930c7&quot;) <br/>
  #20 internal function: civirules_call_post_trigger(&quot;create&quot;, &quot;Email&quot;, 17442, Object(CRM_Core_DAO_Email), &quot;62d81355930c7&quot;) <br/>
  #21 .../sites/all/modules/civicrm/Civi/Core/Transaction/Frame.php(198): call_user_func_array(&quot;civirules_call_post_trigger&quot;, (Array:5)) <br/>
  #22 .../sites/all/modules/civicrm/Civi/Core/Transaction/Frame.php(148): Civi\Core\Transaction\Frame-&gt;invokeCallbacks(2) <br/>
  #23 .../sites/all/modules/civicrm/Civi/Core/Transaction/Manager.php(103): Civi\Core\Transaction\Frame-&gt;finish() <br/>
  #24 .../sites/all/modules/civicrm/CRM/Core/Transaction.php(126): Civi\Core\Transaction\Manager-&gt;dec() <br/>
  #25 .../sites/all/modules/civicrm/CRM/Core/Transaction.php(113): CRM_Core_Transaction-&gt;commit() <br/>
  #26 .../sites/all/modules/civicrm/Civi/API/Subscriber/TransactionSubscriber.php(155): CRM_Core_Transaction-&gt;__destruct() <br/>
  #27 .../sites/all/modules/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php(214): Civi\API\Subscriber\TransactionSubscriber-&gt;onApiRespond(Object(Civi\API\Event\RespondEvent), &quot;civi.api.respond&quot;, Object(Civi\Core\CiviEventDispatcher)) <br/>
  #28 .../sites/all/modules/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php(44): Symfony\Component\EventDispatcher\EventDispatcher-&gt;doDispatch((Array:5), &quot;civi.api.respond&quot;, Object(Civi\API\Event\RespondEvent)) <br/>
  #29 .../sites/all/modules/civicrm/Civi/Core/CiviEventDispatcher.php(209): Symfony\Component\EventDispatcher\EventDispatcher-&gt;dispatch(&quot;civi.api.respond&quot;, Object(Civi\API\Event\RespondEvent)) <br/>
  #30 .../sites/all/modules/civicrm/Civi/API/Kernel.php(258): Civi\Core\CiviEventDispatcher-&gt;dispatch(&quot;civi.api.respond&quot;, Object(Civi\API\Event\RespondEvent)) <br/>
  #31 .../sites/all/modules/civicrm/Civi/API/Kernel.php(151): Civi\API\Kernel-&gt;respond(Object(Civi\API\Provider\MagicFunctionProvider), (Array:8), (Array:5)) <br/>
  #32 .../sites/all/modules/civicrm/Civi/API/Kernel.php(81): Civi\API\Kernel-&gt;runRequest((Array:8)) <br/>
  #33 .../sites/all/modules/civicrm/api/api.php(22): Civi\API\Kernel-&gt;runSafe(&quot;email&quot;, &quot;create&quot;, (Array:5)) <br/>
  #34 .../sites/all/modules/webform_civicrm/includes/utils.inc(1666): civicrm_api(&quot;email&quot;, &quot;create&quot;, (Array:5)) <br/>
  #35 .../sites/all/modules/webform_civicrm/includes/wf_crm_webform_postprocess.inc(1802): wf_civicrm_api(&quot;email&quot;, &quot;create&quot;, (Array:5)) <br/>
  #36 .../sites/all/modules/webform_civicrm/includes/wf_crm_webform_postprocess.inc(96): wf_crm_webform_postprocess-&gt;createBillingContact() <br/>
  #37 .../sites/all/modules/webform_civicrm/webform_civicrm.module(698): wf_crm_webform_postprocess-&gt;validate((Array:33), (Array:26)) <br/>
  #38 .../includes/form.inc(1531): wf_crm_validate((Array:33), (Array:26)) <br/>
  #39 .../includes/form.inc(1471): form_execute_handlers(&quot;validate&quot;, (Array:33), (Array:26)) <br/>
  #40 .../includes/form.inc(1193): _form_validate((Array:33), (Array:26), &quot;webform_client_form_21&quot;) <br/>
  #41 .../includes/form.inc(892): drupal_validate_form(&quot;webform_client_form_21&quot;, (Array:33), (Array:26)) <br/>
  #42 .../includes/form.inc(386): drupal_process_form(&quot;webform_client_form_21&quot;, (Array:33), (Array:26)) <br/>
  #43 .../includes/form.inc(131): drupal_build_form(&quot;webform_client_form_21&quot;, (Array:26)) <br/>
  #44 .../sites/all/modules/webform/webform.module(2085): drupal_get_form(&quot;webform_client_form_21&quot;, Object(stdClass), FALSE, FALSE) <br/>
  #45 .../includes/module.inc(965): webform_node_view(Object(stdClass), &quot;full&quot;, &quot;en&quot;) <br/>
  #46 .../modules/node/node.module(1441): module_invoke_all(&quot;node_view&quot;, Object(stdClass), &quot;full&quot;, &quot;en&quot;) <br/>
  #47 .../modules/node/node.module(1336): node_build_content(Object(stdClass), &quot;full&quot;, &quot;en&quot;) <br/>
  #48 .../modules/node/node.module(2669): node_view(Object(stdClass), &quot;full&quot;, &quot;en&quot;) <br/>
  #49 .../modules/node/node.module(1466): node_view_multiple((Array:1), &quot;full&quot;) <br/>
  #50 .../modules/node/node.module(2761): node_show(Object(stdClass)) <br/>
  #51 .../includes/menu.inc(527): node_page_view(Object(stdClass)) <br/>
  #52 .../index.php(21): menu_execute_active_handler() <br/>
  #53 {main}</p>
  
Tags: <error><contributions>
Title: Fatal Error in logs with every contribution
ThreadText: # Fatal Error in logs with every contribution
  
  (Asked by: username_0 on 2022-07-20)
  
  Drupal 7.90
  CiviCRM 5.51.1
  We use line items & webform civi integration for all contributions.
  
  We are having random instances where a contribution is made, it is processed in iATS, the contribution table has the information, BUT there is no record in the civicrm\_line\_item table, and the webform submission also do not show any record. Most of the time it works but several times a week we get these partially completed records.
  
  I have tried several test contributions and have not been able to duplicate the problem.
  With every (successful or partial contributions) we get a Fatal Error and the Depreciated Function message in the logs. I am hoping that if I take care of the Fatal Error, the random lack of recording to SQL tables goes away.
  
  $Fatal Error Details = Array ( [callback] => Array ( [0] => CRM\_Core\_Error [1] => exceptionHandler ) [code] => -1 [message] => DB Error: unknown error [mode] => 16 [debug\_info] => [nativecode=0 \*\*] [type] => DB\_Error [user\_info] => [nativecode=0 \*\*] [to\_string] => [db\_error: message="DB Error: unknown error" code=-1 mode=callback callback=CRM\_Core\_Error::exceptionHandler prefix="" info=" [nativecode=0 \*\*]"] )
  
  Deprecated function ::civicrm\_api3\_contribution\_transact, use The contibution.transact api is unsupported & known to have issues. Please see the section at the bottom of <https://docs.civicrm.org/dev/en/latest/financial/orderAPI/> for getting off it. Array ( [civi.tag] => deprecated )
  
  $backTrace = #0 /home/radiusint/secure/sites/all/modules/civicrm/CRM/Core/Error.php(954): CRM\_Core\_Error::backtrace("backTrace", TRUE)   
  #1 .../sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(922): CRM\_Core\_Error::exceptionHandler(Object(DB\_Error))   
  #2 .../sites/all/modules/civicrm/vendor/pear/db/DB.php(997): PEAR\_Error->\_\_construct("DB Error: unknown error", -1, 16, (Array:2), " [nativecode=0 \*\*]")   
  #3 .../sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(575): DB\_Error->\_\_construct(-1, 16, (Array:2), " [nativecode=0 \*\*]")   
  #4 .../sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(223): PEAR::\_raiseError(Object(DB\_mysqli), NULL, -1, 16, (Array:2), " [nativecode=0 \*\*]", "DB\_Error", TRUE)   
  #5 .../sites/all/modules/civicrm/vendor/pear/db/DB/common.php(1928): PEAR->\_\_call("raiseError", (Array:7))   
  #6 .../sites/all/modules/civicrm/vendor/pear/db/DB/mysqli.php(936): DB\_common->raiseError(-1, NULL, NULL, " [nativecode=0 \*\*]", "0 \*\* ")   
  #7 .../sites/all/modules/civicrm/vendor/pear/db/DB/mysqli.php(406): DB\_mysqli->mysqliRaiseError()   
  #8 .../sites/all/modules/civicrm/vendor/pear/db/DB/common.php(1234): DB\_mysqli->simpleQuery("")   
  #9 .../sites/all/modules/civicrm/packages/DB/DataObject.php(2696): DB\_common->query("")   
  #10 .../sites/all/modules/civicrm/packages/DB/DataObject.php(1829): DB\_DataObject->\_query("")   
  #11 .../sites/all/modules/civicrm/CRM/Core/DAO.php(472): DB\_DataObject->query("")   
  #12 .../sites/all/modules/civicrm/CRM/Core/DAO.php(1709): CRM\_Core\_DAO->query("", TRUE)   
  #13 .../sites/default/files/civicrm/extensions/org.civicoop.civirules-old/CRM/CivirulesConditions/ContributionRecur/PaymentProcessor.php(76): CRM\_Core\_DAO::singleValueQuery("", (Array:1))   
  #14 .../sites/default/files/civicrm/extensions/org.civicoop.civirules-old/CRM/Civirules/Engine.php(299): CRM\_CivirulesConditions\_ContributionRecur\_PaymentProcessor->isConditionValid(Object(CRM\_Civirules\_TriggerData\_Edit))   
  #15 .../sites/default/files/civicrm/extensions/org.civicoop.civirules-old/CRM/Civirules/Engine.php(252): CRM\_Civirules\_Engine::checkCondition((Array:5), Object(CRM\_Civirules\_TriggerData\_Edit))   
  #16 .../sites/default/files/civicrm/extensions/org.civicoop.civirules-old/CRM/Civirules/Engine.php(32): CRM\_Civirules\_Engine::areConditionsValid(Object(CRM\_Civirules\_TriggerData\_Edit))   
  #17 .../sites/default/files/civicrm/extensions/org.civicoop.civirules-old/CRM/Civirules/Trigger/Post.php(123): CRM\_Civirules\_Engine::triggerRule(Object(CRM\_Civirules\_Trigger\_Post), Object(CRM\_Civirules\_TriggerData\_Edit))   
  #18 .../sites/default/files/civicrm/extensions/org.civicoop.civirules-old/CRM/Civirules/Trigger/Post.php(107): CRM\_Civirules\_Trigger\_Post->triggerTrigger("create", "Email", 17442, Object(CRM\_Core\_DAO\_Email), "62d81355930c7")   
  #19 .../sites/default/files/civicrm/extensions/org.civicoop.civirules-old/civirules.php(485): CRM\_Civirules\_Trigger\_Post::post("create", "Email", 17442, Object(CRM\_Core\_DAO\_Email), "62d81355930c7")   
  #20 internal function: civirules\_call\_post\_trigger("create", "Email", 17442, Object(CRM\_Core\_DAO\_Email), "62d81355930c7")   
  #21 .../sites/all/modules/civicrm/Civi/Core/Transaction/Frame.php(198): call\_user\_func\_array("civirules\_call\_post\_trigger", (Array:5))   
  #22 .../sites/all/modules/civicrm/Civi/Core/Transaction/Frame.php(148): Civi\Core\Transaction\Frame->invokeCallbacks(2)   
  #23 .../sites/all/modules/civicrm/Civi/Core/Transaction/Manager.php(103): Civi\Core\Transaction\Frame->finish()   
  #24 .../sites/all/modules/civicrm/CRM/Core/Transaction.php(126): Civi\Core\Transaction\Manager->dec()   
  #25 .../sites/all/modules/civicrm/CRM/Core/Transaction.php(113): CRM\_Core\_Transaction->commit()   
  #26 .../sites/all/modules/civicrm/Civi/API/Subscriber/TransactionSubscriber.php(155): CRM\_Core\_Transaction->\_\_destruct()   
  #27 .../sites/all/modules/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php(214): Civi\API\Subscriber\TransactionSubscriber->onApiRespond(Object(Civi\API\Event\RespondEvent), "civi.api.respond", Object(Civi\Core\CiviEventDispatcher))   
  #28 .../sites/all/modules/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php(44): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch((Array:5), "civi.api.respond", Object(Civi\API\Event\RespondEvent))   
  #29 .../sites/all/modules/civicrm/Civi/Core/CiviEventDispatcher.php(209): Symfony\Component\EventDispatcher\EventDispatcher->dispatch("civi.api.respond", Object(Civi\API\Event\RespondEvent))   
  #30 .../sites/all/modules/civicrm/Civi/API/Kernel.php(258): Civi\Core\CiviEventDispatcher->dispatch("civi.api.respond", Object(Civi\API\Event\RespondEvent))   
  #31 .../sites/all/modules/civicrm/Civi/API/Kernel.php(151): Civi\API\Kernel->respond(Object(Civi\API\Provider\MagicFunctionProvider), (Array:8), (Array:5))   
  #32 .../sites/all/modules/civicrm/Civi/API/Kernel.php(81): Civi\API\Kernel->runRequest((Array:8))   
  #33 .../sites/all/modules/civicrm/api/api.php(22): Civi\API\Kernel->runSafe("email", "create", (Array:5))   
  #34 .../sites/all/modules/webform\_civicrm/includes/utils.inc(1666): civicrm\_api("email", "create", (Array:5))   
  #35 .../sites/all/modules/webform\_civicrm/includes/wf\_crm\_webform\_postprocess.inc(1802): wf\_civicrm\_api("email", "create", (Array:5))   
  #36 .../sites/all/modules/webform\_civicrm/includes/wf\_crm\_webform\_postprocess.inc(96): wf\_crm\_webform\_postprocess->createBillingContact()   
  #37 .../sites/all/modules/webform\_civicrm/webform\_civicrm.module(698): wf\_crm\_webform\_postprocess->validate((Array:33), (Array:26))   
  #38 .../includes/form.inc(1531): wf\_crm\_validate((Array:33), (Array:26))   
  #39 .../includes/form.inc(1471): form\_execute\_handlers("validate", (Array:33), (Array:26))   
  #40 .../includes/form.inc(1193): \_form\_validate((Array:33), (Array:26), "webform\_client\_form\_21")   
  #41 .../includes/form.inc(892): drupal\_validate\_form("webform\_client\_form\_21", (Array:33), (Array:26))   
  #42 .../includes/form.inc(386): drupal\_process\_form("webform\_client\_form\_21", (Array:33), (Array:26))   
  #43 .../includes/form.inc(131): drupal\_build\_form("webform\_client\_form\_21", (Array:26))   
  #44 .../sites/all/modules/webform/webform.module(2085): drupal\_get\_form("webform\_client\_form\_21", Object(stdClass), FALSE, FALSE)   
  #45 .../includes/module.inc(965): webform\_node\_view(Object(stdClass), "full", "en")   
  #46 .../modules/node/node.module(1441): module\_invoke\_all("node\_view", Object(stdClass), "full", "en")   
  #47 .../modules/node/node.module(1336): node\_build\_content(Object(stdClass), "full", "en")   
  #48 .../modules/node/node.module(2669): node\_view(Object(stdClass), "full", "en")   
  #49 .../modules/node/node.module(1466): node\_view\_multiple((Array:1), "full")   
  #50 .../modules/node/node.module(2761): node\_show(Object(stdClass))   
  #51 .../includes/menu.inc(527): node\_page\_view(Object(stdClass))   
  #52 .../index.php(21): menu\_execute\_active\_handler()   
  #53 {main}
  
  **Tags:** error, contributions
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_0 on 2022-07-23. Score: 1 | Accepted answer
  
  The problem seemed to be something was corrupted when updating the CiviRules extension when going from 2.40 to 2.41. The next updates (2.42 & 2.43) still did not correct the corruption.
  
  I Disabled the CiviRules extension in Civi.
  Then I Uninstalled it.
  I checked the file system to be sure all the folders related to CiviRules were removed
  Cleared the cache
  Back in Civi extensions, I Installed CiviRules
  
  I only had 2 Rules that I cared about so I rebuilt them from scratch in the GUI.
  You might want to download the SQL tables and restore them to get your rules back after the reinstall.
  
  
  ---
  
  ### Answer by username_1 on 2022-07-21. Score: 1
  
  > /extensions/org.civicoop.**civirules-old**/civirules.php
  
  Perhaps it is time to change this to *"new"* or *"the most recent"* ?
  Jokes aside, I'd start from checking *civirules* extension, looking particularly for *::civicrm\_api3\_contribution\_transact* function.
  Perhaps "webform\_civicrm" is worth checking as well.
  
  > **Comments:**
  > **username_2**: Yes the "old" might be the problem here if that's an old version or you have two different copies of the extension. Also in the stack trace it seems the query it is trying to run is an empty query `""`, suggesting that the [trigger entity](https://lab.civicrm.org/extensions/civirules/-/blob/e1866fcf9152a9b8bee28d3ea575e5e0547f9b40/CRM/CivirulesConditions/ContributionRecur/PaymentProcessor.php#L34) in your civirule is not correct.  
  > **username_0**: The civirules_old was my attempt to downgrade the extension. I could not figure out how to do that so I renamed the folder for CiviRules 2.43 to that. Then I uploaded the 2.40 zip file and extracted it. That is what the above logs files were from. However, my problem started when I upgraded from Rules 2.40 to 2.41. Each upgrade since has not fixed it.  
  > **username_0**: So today, I uninstalled Rules extension and I made sure that all the files in the extension folder were removed as well. Then I reinstalled the extension with 2.43 and it is working. I still get the Deprecated function ::civicrm_api3_contribution_transact, message. But the Fatal Error went away and the Rule is functioning properly again  
  > **username_1**: @IowaBoy have you tried to update drupal side of things ( webform_civicrm )? normally civicrm reports deprecations if there is a deprecated code somewhere. Assuming your civicrm has the latest version, let's think where else would the old code be?  
  
  ---
  
  