After deleting the normal page /mypage I am getting Missing argument 2 for pm_uid_arg_load()

vb - October 27, 2009 - 16:20
Project:Chaos tool suite
Version:6.x-1.2
Component:Code
Category:bug report
Priority:critical
Assigned:Unassigned
Status:active
Description

After deleting the normal page /mypage I am getting

* The page has been deleted.
* See the getting started guide for more information.

* warning: Missing argument 2 for pm_uid_arg_load(), called in /home/vb/domains/probattle.org/public_html/includes/menu.inc on line 410 and defined in /home/vb/domains/probattle.org/public_html/sites/all/modules/ctools/page_manager/page_manager.module on line 862.
* warning: Missing argument 3 for pm_uid_arg_load(), called in /home/vb/domains/probattle.org/public_html/includes/menu.inc on line 410 and defined in /home/vb/domains/probattle.org/public_html/sites/all/modules/ctools/page_manager/page_manager.module on line 862.

and nothing can help me to get rid of this messges and fix the bug, nor clearing chashes, update.php, exporting this page back from backup.
What can I do.

#1

merlinofchaos - October 27, 2009 - 16:23

Hmm. What custom pages do you have (did you recently have?) that have a 'user: uid' argument? Was it the page you just deleted?

Have you specifically rebuilt the menu cache? (You can do this with devel.module or visit admin/build/modules)

#2

vb - October 27, 2009 - 16:57

I have reproduced this bug two times restoring db.
Rebuilding menu chache does not help.
Yes, the case seems in user id argument, just before deleting this page I have deleted the page /user/%user/mytabpage (no warings)
Right now I have installled last 24.10 dev ctools and changed the deleting order, page first, user page after, and it gives no error.
But this very dangerous bug because it is no way out if it occurs.

#3

merlinofchaos - October 27, 2009 - 17:09

Ok, let me make sure I understand this:

1) You deleted the page user/%user/mytabpage
2) You deleted /mypage

These warnings appear.

Is that right?

#4

vb - October 27, 2009 - 18:03

Yes, that is right.

#5

merlinofchaos - October 27, 2009 - 18:20

Is there still an entry in the menu_router table for user/%/mytabpage ? (the word after the % will not appear in the path actually stored there)

If there is, is there still an entry in page_manager_pages for this path (which will include the %user unlike menu_router)

#6

vb - October 28, 2009 - 09:20

menu_router

user/%/battling a:1:{i:1;s:15:"pm_uid_arg_load";} a:1:{i:1;s:17:"pm_uid_arg_to_arg";} 0 a:0:{} page_manager_user_view a:1:{i:0;i:1;} 5 3 user/%/battling

and in menu_links also there was the entry

No entries in page_manager_pages

after deleting all these entries in menu_router, menu_links tables and clearing caches the warnings have gone away.

#7

vb - October 28, 2009 - 20:18

It is not all.
I think I guess.
The tabtimer.module saved in variable table entry 'tabtamer_tab_settings' with user/%pm_uid_arg/battling
and it should be deleted too.
But page manager does not know about that and not obliged.
Now we know how to fix this.

#8

vb - October 28, 2009 - 22:08

#9

vb - October 28, 2009 - 22:07

#10

merlinofchaos - October 28, 2009 - 23:02

Interesting. It is possible that tabtimer does not respect that perhaps menu items can go away? If it was modifying the item via hook_menu_alter and was re-adding it even though page manager was no longer offering it to the menu system, something like this could occur.

 
 

Drupal is a registered trademark of Dries Buytaert.