10

System

CiviCRM 4.6.6
Wordpress 4.2.2

Goal

I want to be able to register for a CiviEvent with the default Civi-form.

Problem

When registering for a CiviEvent I get this message:

enter image description here

And this error is logged:

PHP Fatal error:  Uncaught CRM_Core_Exception: [0: Transaction integrity error: Expected to find active frame
thrown in .../wp-content/plugins/civicrm/civicrm/Civi/Core/Transaction/Manager.php on line 107

The code in Manager.php that throws the error is:

if (!isset($this->frames[0]) || $this->frames[0]->isEmpty()) {
      throw new \CRM_Core_Exception('Transaction integrity error: Expected to find active frame');
}

Despite this error, the registration actually was successful, it's just that I don't get redirected to the success-page. Does someone have any idea about what's going wrong?

For completeness, a backtrace from the point of the thrown exception.

0 - Manager.php - Line: 106 - dnn_backtrace () - .../wp-content/plugins/civicrm/civicrm/Civi/Core/Transaction/Manager.php

1 - Transaction.php - Line: 142 - dec () - .../wp-content/plugins/civicrm/civicrm/CRM/Core/Transaction.php

2 - Transaction.php - Line: 129 - commit () - .../wp-content/plugins/civicrm/civicrm/CRM/Core/Transaction.php

3 - TransactionSubscriber.php - Line: 158 - __destruct () - .../wp-content/plugins/civicrm/civicrm/Civi/API/Subscriber/TransactionSubscriber.php

4 - - Line: - onApiRespond () - 

5 - EventDispatcher.php - Line: 164 - call_user_func () - .../wp-content/plugins/civicrm/civicrm/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php

6 - EventDispatcher.php - Line: 53 - doDispatch () - .../wp-content/plugins/civicrm/civicrm/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php

7 - Kernel.php - Line: 221 - dispatch () - .../wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php

8 - Kernel.php - Line: 98 - respond () - .../wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php

9 - api.php - Line: 23 - run () - .../wp-content/plugins/civicrm/civicrm/api/api.php

10 - Relationship.php - Line: 939 - civicrm_api () - .../wp-content/plugins/civicrm/civicrm/CRM/Contact/BAO/Relationship.php

11 - Utils.php - Line: 385 - setIsActive () - .../wp-content/plugins/civicrm/civicrm/CRM/Contact/BAO/Contact/Utils.php

12 - Utils.php - Line: 350 - currentEmployerRelatedMembership () - .../wp-content/plugins/civicrm/civicrm/CRM/Contact/BAO/Contact/Utils.php

13 - Contact.php - Line: 247 - createCurrentEmployerRelationship () - .../wp-content/plugins/civicrm/civicrm/CRM/Contact/BAO/Contact.php

14 - Contact.php - Line: 328 - add () - .../wp-content/plugins/civicrm/civicrm/CRM/Contact/BAO/Contact.php

15 - Contact.php - Line: 1894 - create () - .../wp-content/plugins/civicrm/civicrm/CRM/Contact/BAO/Contact.php

16 - Confirm.php - Line: 1206 - createProfileContact () - .../wp-content/plugins/civicrm/civicrm/CRM/Event/Form/Registration/Confirm.php

17 - Register.php - Line: 1300 - updateContactFields () - .../wp-content/plugins/civicrm/civicrm/CRM/Event/Form/Registration/Register.php

18 - Register.php - Line: 1222 - processRegistration () - .../wp-content/plugins/civicrm/civicrm/CRM/Event/Form/Registration/Register.php

19 - Form.php - Line: 345 - postProcess () - .../wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php

20 - Upload.php - Line: 166 - mainProcess () - .../wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Upload.php

21 - Upload.php - Line: 133 - realPerform () - .../wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Upload.php

22 - Controller.php - Line: 203 - perform () - .../wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php

23 - Page.php - Line: 103 - handle () - .../wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php

24 - Controller.php - Line: 353 - handle () - .../wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php

25 - Invoke.php - Line: 312 - run () - .../wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php

26 - Invoke.php - Line: 86 - runItem () - .../wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php

27 - Invoke.php - Line: 54 - _invoke () - .../wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php

28 - civicrm.php - Line: 1189 - invoke () - .../wp-content/plugins/civicrm/civicrm.php

29 - civicrm.basepage.php - Line: 134 - invoke () - .../wp-content/plugins/civicrm/includes/civicrm.basepage.php

30 - - Line: - basepage_handler () - 

31 - plugin.php - Line: 571 - call_user_func_array () - .../wp-includes/plugin.php

32 - class-wp.php - Line: 622 - do_action_ref_array () - .../wp-includes/class-wp.php

33 - functions.php - Line: 877 - main () - .../wp-includes/functions.php

34 - wp-blog-header.php - Line: 14 - wp () - .../wp-blog-header.php

35 - index.php - Line: 19 - require () - .../index.php
1
+100

Do you have any extensions enabled? I once ran into this Error message and my notes say that disabling certain/specific extensions that this client had installed fixed it.

If not extensions - look for Custom php code overrides.

I also recommend you look to upgrade your 4.6.x - if you get payments for Events working - you're a couple of security upgrades behind.

As a slight side note: the "transaction integrity error" means it's a database problem, as does the "DB: syntax error". If you look in your civicrm log (e.g. using this extension: https://civicrm.org/extensions/civicrm-log-viewer) the you should be able to see the specific sql that caused the problem and it might help narrow down where to fix things.

Also, your backtrace suggests it was something reacting to the setting of the employer-employee relationship, likely related to the permissioning that goes along with that.

0

I just ran into this error on CiviCRM 5.3. From the stack-trace, it is a different scenario, but since this is a top-hit for this generic error message... I thought I would post it.

I had a working event registration page. I added a new custom field to contacts and proceeded to ad it to the profile used on the registration page. Actually, I ran into the problem whether the custom field was added to the Contact or to the Participant record. The outcome was the same... this exception is thrown.

Looking in ConfigAndLog and the stack-trace, revealed that the problem arose when Civi was trying to create a LocBlock. I have no idea why the changes I made triggered this erroneous code-path. There were no loc-block fields on the profile (or anywhere on this free-event registration). However, the Exception gods were appeased when I added a phone number field to the profile as well.

Hopefully this work-around helps someone... and maybe someone brave enough will go hunting for the bug.

Tying it back to the original post, one could theorize that a required field for the Relationship was not being specified. It looks like the customization was looking for a related membership. Probably something was going awry with locating that membership. So, if you are getting this error on a form using profiles, look for fields that are implicitly required and are missing from your profile.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.