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.jacob(a)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_ur...
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.jacob(a)gmail.com
<mailto:joachim.jacob@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://...
>>> 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/