Forum OpenACS Development: Upgrade xowiki --> error on edit/new page

Hi,

I just upgraded xotcl-core(0.57 to 0.100) and xowiki(0.62 to 0.106.1) running on openacs 5.4.3.

The upgrade it self was painless, and everything seems to work except for edit and create a new xowiki page.

This is the error message:
------------------------------
site_node::get "must pass in either url or node_id"
while executing
"error "site_node::get \"must pass in either url or node_id\"""
(procedure "get" line 4)
invoked from within
"get -url [lindex [get_url_from_object_id -object_id $object_id] 0]"
(procedure "site_node::get_from_object_id" line 3)
invoked from within
"site_node::get_from_object_id -object_id $id"
(procedure "init" line 5)
invoked from within
"next"
(procedure "init" line 4)
::13275 ::xowiki::Package->init
::xowiki::Package ::xotcl::Class->create
invoked from within
"$package_class create ::$package_id -destroy_on_cleanup -id $package_id"
(procedure "require" line 38)
::xowiki::Package ::xo::PackageMgr->require
invoked from within
"::xowiki::Package require $first_instance_id"
(procedure "edit" line 69)
::xotcl::__#38 ::xowiki::Page->edit
invoked from within
"$page edit -new true -autoname $autoname"
(procedure "edit-new" line 31)
::53363 ::xowiki::Package->edit-new
invoked from within
"::53363 edit-new"
("eval" body line 1)
invoked from within
"eval $object $method $options"
(procedure "call" line 7)
::53363 ::xowiki::Package->call
invoked from within
"my call $page $method """
(procedure "invoke" line 12)
::53363 ::xowiki::Package->invoke
invoked from within
"::$package_id invoke -method $m"
invoked from within
"::$package_id reply_to_user [::$package_id invoke -method $m]"
(file "/home/openacs/kmarket/packages/xowiki/www/index.vuh" line 21)
invoked from within
"source [ad_conn file]"
(procedure "rp_handle_tcl_request" line 3)
invoked from within
"$handler"
("uplevel" body line 2)
invoked from within
"uplevel $code"
invoked from within
------------------------------

Is the problem related to the lazy site node caching?
(https://openacs.org/forums/message-view?message%5fid=879594#905753)

I appreciate any thoughts or suggestions on how to solve this.

Regards
Åsmund

Collapse
Posted by Gustaf Neumann on
it can be related to lazy caching. What gives

site_node::get_url_from_object_id -object_id 53363

on your system? It should be something like /xowiki/
(the path, where this xowiki instance is mounted).

Collapse
Posted by Åsmund Realfsen on
site_node::get_url_from_object_id -object_id 53363

results in "/intern/kmq/" which ist the correct path to the mounted xowiki.

Collapse
Posted by Gustaf Neumann on
From the callstack, i see that xowiki tries to initialize a second xowiki instance, namely 13275, which seems to have the problem. What does this give?

site_node::get_url_from_object_id -object_id 13275

Collapse
Posted by Åsmund Realfsen on
This returns an empty string.
Collapse
Posted by Gustaf Neumann on
Well, this is the problem. Maybe this is an half-deleted package instance. I have just now added a change to cvs head and oacs-5-4 to avoid the problem if called from within an xowiki instance. However, The same problem will show up in cases, where a sub-package of xowiki is used.
Collapse
Posted by Gustaf Neumann on
ok, i have updated xotcl-core to be more robust, such that ::xo::Package->first_instance returns only package_ids with site_nodes entries. Maybe, you got caught by an unmounted, but undeleted package instance. After an update of xotcl-core from oacs-5-4 or oacs-head, the problem should be fixed.
Collapse
Posted by Åsmund Realfsen on
That solved it !

Thanks for the help and your extremely quick response.

Regards
Åsmund