Joachim Jacob
Contact details: http://www.bits.vib.be/index.php/about/80-team


On 09/30/2013 02:15 PM, Greg Von Kuster wrote:
Hello Joachim,

What version of Galaxy / Tool Shed code are you using?
[galaxy@galaxy galaxy-dist]$ hg tip
changeset:   10411:c42567f43aa7


On Sep 30, 2013, at 8:05 AM, Joachim Jacob | VIB | <joachim.ja...@vib.be> wrote:

Hi Greg,


Sorry to dig up this unsolved thread from a few months back.

Recap of the bug: I have developed a small tool. I have put it in my local 
Toolshed, and installed it. After applying some changes to the tool, I 'hg 
push'ed the changes to my repository on my toolshed. I uninstalled the tool, 
and reinstalled it. Since I work with job handlers, I have to restart Galaxy. 
Since I had about ~4 committed changes, I have repeated these steps about 4 
times.

What process do you use for "applying some changes to the tool"?  Do you make 
these changes in a separate development repository and push them to your repository in 
your tool shed?  Or are you making changes to the installed repository in your Galaxy 
instance and attempting to push them back to the repository in your Tool Shed?

First I develop an XML, README, and tool_dependencies.xml in a development directory. When finished, I put them in a tool shed repo, by uploading a tar ball of these files. I clone the tool shed repo, and delete my development directory. I adjust files in that cloned tool shed repo (e.g. fixing typos, adding help,...) and push them back to the tool shed repo.

Now, I did some changes to the tool_dependencies.xml and pushed them back to the tool shed. Next I update or remove/reinstall the tool via the Admin menu. I try to install the dependencies.

That's how I work. I have a feeling that I know what's coming next. :-)

The bug: the tool appears multiple times in the tool management window. 2 times 
as new, and 1 time as uninstalled (since I uninstalled it). The tool is still 
available in the toolbox, although it should not. The 2 installed tools have an 
option 'install', but when I click this I get an internal server error 500.

Galaxy version:
*************
[galaxy@galaxy galaxy-dist]$ hg tip
changeset:   10411:c42567f43aa7
tag:         tip
user:        greg
date:        Mon Aug 19 13:19:56 2013 -0400
summary:     Filter invalid objects when generating the list of 
repository_dependencies objects that are associated with a tool shed repository 
installed into Galaxy.
*************

As per your request: the web log of this internal server error.

****************
193.191.128.2 - - [30/Sep/2013:13:15:19 +0200] "GET 
/admin_toolshed/prepare_for_install?tool_shed_url=http://toolshed.bits.vib.be/&repository_ids=968205d9ed31733d&changeset_revisions=e08a6d9e97a3
 HTTP/1.1" 500 - "http://galaxy.bits.vib.be/admin_toolshed/browse_repositories"; "Mozilla/5.0 
(X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/28.0.1500.71 Chrome/28.0.1500.71 
Safari/537.36"
Debug at: http://galaxy.bits.vib.be/_debug/view/1380535486

When you point your browser to the above "Debug URL", what is the stack trace 
that is displayed?
URL: http://galaxy.bits.vib.be/admin_toolshed/prepare_for_install?tool_shed_url=http://toolshed.bits.vib.be/&repository_ids=968205d9ed31733d&changeset_revisions=e08a6d9e97a3 File '/home/galaxy/galaxy-dist/eggs/WebError-0.8a-py2.6.egg/weberror/evalexception/middleware.py', line 364 in respond
  app_iter = self.application(environ, detect_start_response)
File '/home/galaxy/galaxy-dist/eggs/Paste-1.7.5.1-py2.6.egg/paste/recursive.py', line 84 in __call__
  return self.application(environ, start_response)
File '/home/galaxy/galaxy-dist/eggs/Paste-1.7.5.1-py2.6.egg/paste/httpexceptions.py', line 633 in __call__
  return self.application(environ, start_response)
File '/home/galaxy/galaxy-dist/lib/galaxy/web/framework/base.py', line 132 in __call__
  return self.handle_request( environ, start_response )
File '/home/galaxy/galaxy-dist/lib/galaxy/web/framework/base.py', line 190 in handle_request
  body = method( trans, **kwargs )
File '/home/galaxy/galaxy-dist/lib/galaxy/web/framework/__init__.py', line 221 in decorator
  return func( self, trans, *args, **kwargs )
File '/home/galaxy/galaxy-dist/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py', line 840 in prepare_for_install
  raw_text = common_util.tool_shed_get( trans.app, tool_shed_url, url )
File '/home/galaxy/galaxy-dist/lib/tool_shed/util/common_util.py', line 110 in tool_shed_get
  response = urlopener.open( uri )
File '/usr/lib64/python2.6/urllib2.py', line 397 in open
  response = meth(req, response)
File '/usr/lib64/python2.6/urllib2.py', line 510 in http_response
  'http', request, response, code, msg, hdrs)
File '/usr/lib64/python2.6/urllib2.py', line 435 in error
  return self._call_chain(*args)
File '/usr/lib64/python2.6/urllib2.py', line 369 in _call_chain
  result = func(*args)
File '/usr/lib64/python2.6/urllib2.py', line 518 in http_error_default
  raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 500: Internal Server Error

****************

The postgres database shows:

************************
galaxydb=>              select id, tool_shed, name, owner, 
installed_changeset_revision, status, error_message from tool_shed_repository 
where name = 'transpose';
id |      tool_shed       |   name    |  owner  | installed_changeset_revision 
|   status    | error_message
----+----------------------+-----------+---------+------------------------------+-------------+---------------
45 | toolshed.bits.vib.be | transpose | joachim | cee0157acee1                 
| Uninstalled |
44 | toolshed.bits.vib.be | transpose | joachim | 2fa0462b9303                 
| New         |
43 | toolshed.bits.vib.be | transpose | joachim | e08a6d9e97a3                 
| New         |
(3 rows)
************************

These repositories in the "New" state look like the so-called "white ghosts" 
that cropped up for a time.  The issues that resulted in their creation have been resolved, but 
some of the fixes will not be available in the distribution until the next Galaxy release, which is 
not yet scheduled.


How should I proceed ?
You'll undoubtedly need to manually fix your database with sql - delete these records in 
the "New" state and all associated recoirds defined by foreign keys.
OK, thanks.



This is the second time I experience this. On a last note: I have noted also 
that I managed to get a repository with different branches in this tool shed 
repository, by mixing 'hg push' and uploading a tarball. There seems no easy 
way to fixing this.


Kind regards,
Joachim

Joachim Jacob
Contact details: http://www.bits.vib.be/index.php/about/80-team


On 06/14/2013 04:15 PM, Greg Von Kuster wrote:
Hello Joachim,

What version of Galaxy are your running?

What does the tool shed paster go show for the 500 Internal Server Error?

Also, run the following sql manually in your Galaxy database and send the 
results.

select id, tool_shed, name, owner, installed_changeset_revision, status, 
error_message from tool_shed_repository;

Thanks,

Greg Von Kuster


On Jun 14, 2013, at 3:41 AM, Joachim Jacob <joachim.ja...@gmail.com 
<mailto:joachim.ja...@gmail.com>> wrote:

Hi all,

I have developed a tool in our local Galaxy, and imported it in a local 
toolshed. I next removed the 'dev' version of the tool in Galaxy, and installed 
it now via het Tool Shed Manager.

I got an error that the dependencies could not be installed. If figured it out 
that it (needed to add an extra shell_command in the tool_dependencies) (and 
the mount point on my system needs to have exec permissions of course).

So I updated the tool in the toolshed. BUT, then I uninstalled the tool from 
Galaxy, and reinstalled it from the Tool Shed ... instead of just updating. 
Anyway, it has happened.

Now I have the tool listed in my 'Install Tool Shed Repositories', and when I 
click on it, it says 'this tool is not installed'. The only action I can apply 
on this installed tool shed repository is 'Install' (...). But clicking on that 
'install' button, leads me to an error page (http error 500).

******************************
URL: 
http://localhost/admin_toolshed/prepare_for_install?tool_shed_url=http://localhost:9009/&repository_ids=84cbaf0b6bf7a1a9&changeset_revisions=fc2339abcab7
Module weberror.evalexception.middleware:364 in respond view
  app_iter = self.application(environ, detect_start_response)
Module paste.recursive:84 in __call__          view
  return self.application(environ, start_response)
Module paste.httpexceptions:633 in __call__ view
  return self.application(environ, start_response)
Module galaxy.web.framework.base:132 in __call__          view
  return self.handle_request( environ, start_response )
Module galaxy.web.framework.base:190 in handle_request          view
  body = method( trans, **kwargs )
Module galaxy.web.framework:221 in decorator view
  return func( self, trans, *args, **kwargs )
Module galaxy.webapps.galaxy.controllers.admin_toolshed:825 in 
prepare_for_install          view
  raw_text = common_util.tool_shed_get( trans.app, tool_shed_url, url )
Module tool_shed.util.common_util:110 in tool_shed_get          view
  response = urlopener.open( uri )
Module urllib2:397 in open          view
  response = meth(req, response)
Module urllib2:510 in http_response          view
  'http', request, response, code, msg, hdrs)
Module urllib2:435 in error          view
  return self._call_chain(*args)
Module urllib2:369 in _call_chain          view
  result = func(*args)
Module urllib2:518 in http_error_default          view
  raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 500: Internal Server Error
************************************

The same happens when I go to the Tool Shed, and try to install the tool from 
there: Galaxy detects that the tool has been installed before, and points me to 
that 500 error page.

Any help is heartily appreciated,

Thanks,
Joachim

--
Joachim Jacob
Contact details: http://www.bits.vib.be/index.php/about/80-team
--
@joachimjacob
___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:
http://lists.bx.psu.edu/

To search Galaxy mailing lists use the unified search at:
http://galaxyproject.org/search/mailinglists/


___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:
   http://lists.bx.psu.edu/

To search Galaxy mailing lists use the unified search at:
   http://galaxyproject.org/search/mailinglists/



___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:
 http://lists.bx.psu.edu/

To search Galaxy mailing lists use the unified search at:
 http://galaxyproject.org/search/mailinglists/

Reply via email to