This error comes when running update.php with both 7.x-1.0-alpha5 and 7.x-1.x-dev (April 24) with clean install of latest core.

Tried to run update.php with and without the PM Person module enabled. The only difference is that when enabled the update process does not begin at all with the following message:

Cannot perform update. Please visit PMPERSON_RESOLVE_DEPENDENCIES_LINK to check how to resolve this issue.

In the conflict page there are no conflicts, and following error message prints:

Warning: array_map() expects parameter 1 to be a valid callback, no array or string given in _pmperson_migrate_get_conflicting_email_with_attached_users_table() (line 265 of /opt/lampp/htdocs/multisite_core/sites/all/modules/pm/pmperson/includes/pmperson.migrate.inc).

When PM person module is disabled the update script runs with following messages:

The following updates returned messages

pmperson module
Update #7104
• Failed: DrupalUpdateException: Cannot perform update. Please visit PMPERSON_RESOLVE_DEPENDENCIES_LINK to check how to resolve this issue. in pmperson_update_7104() (line 44 of /opt/lampp/htdocs/multisite_core/sites/all/modules/pm/pmperson/pmperson.install).

pmtimetracking module
Update #7106
• PM Timetracking nodes have been migrated to field_api based fields successfully.

pmticket module
Update #7105
• Failed: PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'module' cannot be null: INSERT INTO {role_permission} (rid, permission, module) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2); Array ( [:db_insert_placeholder_0] => 3 [:db_insert_placeholder_1] => PM permission pmticket: edit if Assigned [:db_insert_placeholder_2] => ) in user_role_grant_permissions() (line 3113 of /opt/lampp/htdocs/multisite_core/modules/user/user.module).

pmexpense module
Update #7200
• PM Note nodes have been migrated to field_api based fields successfully.

pmnote module
Update #7104
• PM Note nodes have been migrated to field_api based fields successfully.

pmtask module
Update #7105
• Failed: PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'module' cannot be null: INSERT INTO {role_permission} (rid, permission, module) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2); Array ( [:db_insert_placeholder_0] => 3 [:db_insert_placeholder_1] => PM permission pmtask: edit if Assigned [:db_insert_placeholder_2] => ) in user_role_grant_permissions() (line 3113 of /opt/lampp/htdocs/multisite_core/modules/user/user.module).

Any ideas?

Comments

d34dman’s picture

Version: 7.x-1.x-dev » 7.x-2.x-dev
Assigned: Unassigned » d34dman

Please keep pmperson turned ON while upgrade is attempted.

Can you please follow this procedure,

1.) On a installation where upgrade to 7.x-2.x have not been attempted.
2.) replace the pm folder with 7.x-2.x.
3.) Drupal Cache clear all.
4.) Take a screenshot of page when you visit "admin/config/pm/pmperson_migration" manually.
5.) Run update.php

Håvard’s picture

  1. Done!
  2. Done!
  3. Done!
  4. ERROR: When visiting the URL manually in Firefox I get access denied. I'm logged in as user 1. When clicking on the person-migration-link in admin/config/pm Firefox immediately returns the default error page which claims that the connection was interrupted while loading.
  5. Not done yet!
d34dman’s picture

Thanks Havard, i have been always carrying out migration tests on a populated instance of 7.x-1.x.

Am i correct in assuming that you are trying this on a installation where there are no pmperson nodes?

Håvard’s picture

My pleasure to help :-)

I have several pmperson nodes. Se error messages on the attached images.

Håvard’s picture

StatusFileSize
new259.26 KB
new244.82 KB
Håvard’s picture

I did not read the messages at once, but have disabled the Edit module now. When that was done, all PM modules was automatically disabled. Perhaps this is because I was missing the Address Field module and Email module. After installing these, I enabled all PM modules. The issue with the admin/config/pm/pmperson_migration is still here.

Håvard’s picture

StatusFileSize
new205.48 KB
Håvard’s picture

Have not run update.php yet. Waiting for confirmation from you.

d34dman’s picture

Can you please clear cache by visiting admin/config/development/performance ( twice or thrice) i was able to replicate the error and clearing it few times helped me fix it.

Håvard’s picture

I have cleared cache twice in both GUI and with Drush, and have even opened the page in both Firefox and Chrome in case of any javascript-caching. The issue is still the same.

Clean URLs is enabled.

Håvard’s picture

I have experienced this issue on 2 out of 2 installs, latest Spark distro and clean core.

d34dman’s picture

StatusFileSize
new538 bytes

Could you please try this patch and see if it gives you access to "admin/config/pm/pmperson_migration"

Håvard’s picture

The patch seems to have completed successfully, but the issue of accessing the "admin/config/pm/pmperson_migration" still lives strong!

d34dman’s picture

can you enable devel module and visit devel/php and check what this function returns pmperson_update_access_allowed()

example usage

dpm(pmperson_update_access_allowed(), 'pmperson_update_access_allowed');

Is it possible to replicate the issue in a different browser?

Håvard’s picture

StatusFileSize
new230.59 KB

Done! See attached image. Yes, same issue in both Firefox and Chrome.

d34dman’s picture

Status: Active » Closed (cannot reproduce)

If anybody could post clear steps to reproduce the error, please do open the issue.

juliangb’s picture

@Håvard Does this work for you now?

If not, which other modules do you have enabled?

Håvard’s picture

StatusFileSize
new28.53 KB

I have never looked back on this issue because I now only work on projects with a clean install of PM 2.x. I solved an other issue with a patch on core Field. Perhaps this is related? https://www.drupal.org/node/1824820

See attached PDF with all my enabled modules.

Thanks for following up my issue :)

juliangb’s picture

As long as the issue is no longer bothering you, that's good.

In that case, I hope that it was just a fluke that only affected you, and we can revisit if anyone else sees it.

Håvard’s picture

StatusFileSize
new21.45 KB

Ooops! Here are enabled modules only :P

Håvard’s picture

Yes it´s ok that we leave this issue for now. I hope no one else experience my problems. Sometimes it's just best to look forward :)

This is perhaps a feature request and off-topic, and I will post some feature requests after completing several projects with PM before christmas, but I would like to mention here that the Workflow module is an essential tool for our clients. It makes it possible to easily add states and actions on the project nodes. It works seamlessly with PM as far as I have experienced, but do you have any thoughts regarding states and actions for the PM 2.x?

juliangb’s picture

@Håvard,

Please do post any thoughts on where we could take PM next (separate issues, one per topic) - I look forward to seeing your thoughts. I too have some thoughts (and should really get round to creating issues for them too.

The advantage of the latest changes to using Fields API, however, is that all integrations with modules such as workflow should "just work". It just relies on the other module using standard integrations as we now do.

roxor’s picture

Hi, I've tryed to upgrade our PM installation into ver.2.x.
I didn't get any migration conflicts before applying database updates, but I've got some errors:

pmproject module
Update #7105
Failed: PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'module' cannot be null: INSERT INTO {role_permission} (rid, permission, module) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2); Array ( [:db_insert_placeholder_0] => 12 [:db_insert_placeholder_1] => PM permission pmproject: delete if Assigned [:db_insert_placeholder_2] => ) v user_role_grant_permissions() (riadok 3154 z C:\inetpub\wwwroot\cms\modules\user\user.module).

pmticket module
Update #7105
Failed: PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'module' cannot be null: INSERT INTO {role_permission} (rid, permission, module) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2); Array ( [:db_insert_placeholder_0] => 12 [:db_insert_placeholder_1] => PM permission pmticket: delete if Assigned [:db_insert_placeholder_2] => ) v user_role_grant_permissions() (riadok 3154 z C:\inetpub\wwwroot\cms\modules\user\user.module).

pmtask module
Update #7105
Failed: PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'module' cannot be null: INSERT INTO {role_permission} (rid, permission, module) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2); Array ( [:db_insert_placeholder_0] => 12 [:db_insert_placeholder_1] => PM permission pmtask: delete if Assigned [:db_insert_placeholder_2] => ) v user_role_grant_permissions() (riadok 3154 z C:\inetpub\wwwroot\cms\modules\user\user.module).

I can't understand, what's the problem ? Thanx

d34dman’s picture

Hi roxor, sorry for the inconvenience, and thanks for reporting it. I have created a new issue to track the bug. Check it out here #2487890: pmproject, pmticket and pmtask migration update throws PDOException Assigned to: d34dman