[OSM-dev] Server 0.6 doesn't answer ...

Shaun McDonald shaun at shaunmcdonald.me.uk
Fri Apr 10 22:52:13 BST 2009


Hi Tim,

Under normal circumstances a 500 error means that there is a problem  
with the server config, or there has been bad data sent to the server,  
which is not handled by the server properly to give another status  
code, and optionally a plain text error message, particularly when the  
error code could mean many different things. There are some edge cases  
that are not yet taken care of, hence the returning of the 500 error.  
There isn't yet documentation on all the error codes, hopefully they  
will be self explanatory.

Shaun

On 10 Apr 2009, at 20:04, Till Harbaum / Lists wrote:

> Hi,
>
> since my main concerns are error messages like 401 ("login failed")  
> and
> 409 ("conflict", e.g. due to version number mismatchs), i'll try to
> output any such error message.
>
> On the other hand writing the ruby stack trace into the log window on
> a tiny portable device doesn't seem to make much sense. So i'd rather
> not output the reply sent with a 500 error.
>
> Does this make sense to you?
>
> Till
>
> Am Freitag 10 April 2009 schrieb Thomas Wood:
>> 2009/4/10 Till Harbaum / Lists <lists at harbaum.org>:
>>> Hi Thomas,
>>>
>>> osm2go now seems to work fine with the test server. I have not  
>>> tested this
>>> very much and will do so the next days. But so far libcurl and your
>>> server seem to cooperate nicely.
>>
>> Fantastic, I did have some worries a while ago whether the requests
>> were getting through to the code properly. The upstream mod_rails
>> upgrade seems to have fixed this nicely.
>>
>>> Are the error messages documented somewhere? I had the problem with
>>> the 0.5 server that some error messages were plain ascii text  
>>> while some
>>> were html. Do you return all error messages in some standard format?
>>
>> Errors are either caught and handled by the OSM software, or not at
>> all and thus caught by Ruby and handled by Rails.
>> When handled by us, I believe we try and return a plain text error
>> message and appropriate status code.
>> When it's a Ruby/Rails exception, it's probably going to return a
>> stack trace in html (focused towards browser use), and the 500
>> internal server error status code.
>>
>>
>>> Thanks,
>>>  Till
>>>
>>> Am Freitag 10 April 2009 schrieb Thomas Wood:
>>>> Thanks for bringing this up, for future reference, the exact  
>>>> error was:
>>>> [2009-04-09 20:39:38.334164 #1380] ArgumentError (Must specify a
>>>> string with one or more characters):
>>>>     /usr/lib/ruby/gems/1.8/gems/libxml-ruby-1.1.3/lib/libxml/ 
>>>> parser.rb:82:in
>>>> `string'
>>>>     /usr/lib/ruby/gems/1.8/gems/libxml-ruby-1.1.3/lib/libxml/ 
>>>> parser.rb:82:in
>>>> `string'
>>>>     /app/models/node.rb:67:in `from_xml'
>>>>     /app/controllers/node_controller.rb:72:in `delete'
>>>>     /usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/ 
>>>> action_controller/base.rb:1166:in
>>>> `send'
>>>> ... more traceback ...
>>>>
>>>> This is related to the change in libxml version, meaning that  
>>>> anything
>>>> we try and parse must not have zero length. A similar issue was  
>>>> fixed
>>>> in r14241.
>>>>
>>>> I'll get to fixing this case also, and seeing if I can find others.
>>>>
>>>> 2009/4/9 Till Harbaum / Lists <lists at harbaum.org>:
>>>>> Hi,
>>>>>
>>>>> you should check your server log again. I just tried to delete a  
>>>>> node without
>>>>> specifying a changeset. The result was a frightening lengthy  
>>>>> mixture of ruby
>>>>> error messages, html error messages etc etc ...
>>>>>
>>>>> Till
>>>>>
>>>>> Am Donnerstag 09 April 2009 schrieb Thomas Wood:
>>>>>> Thanks for the sample request, I've updated the rails module in
>>>>>> apache, and the request seems to be functioning fine for me  
>>>>>> now, do
>>>>>> you want to try again?
>>>>>>
>>>>>> Looking into this error also allowed me to find a bug with the
>>>>>> changeset browing on the website section of the code, too!
>>>>>>
>>>>>> 2009/4/9 Till Harbaum / Lists <lists at harbaum.org>:
>>>>>>> Hi,
>>>>>>>
>>>>>>> i get the same results using the command line curl. I do this:
>>>>>>>
>>>>>>> curl -u mylogin:mypassword -H "Expect:" -i -o result.txt - 
>>>>>>> Tchangeset.xml  http://api06.dev.openstreetmap.org/api/0.6/changeset/create
>>>>>>>
>>>>>>> And the changeset.xml is attached.
>>>>>>>
>>>>>>> I sometimes get server errors 500 with this and sometimes just  
>>>>>>> an empty
>>>>>>> reply. This should be giving me a changeset id in return,  
>>>>>>> shouldn't it?
>>>>>>>
>>>>>>> What's wrong with this request?
>>>>>>>
>>>>>>> Till
>>>>>>>
>>>>>>> Am Donnerstag 09 April 2009 schrieb Thomas Wood:
>>>>>>>> I've done a quick search through the server's log, and can  
>>>>>>>> find 401
>>>>>>>> and 500 responses both logged in the apache log. The rails  
>>>>>>>> log only
>>>>>>>> shows 401 responses and not the 500s, so there's something odd
>>>>>>>> happening between apache and rails.
>>>>>>>>
>>>>>>>> However, other requests to this method this evening have been
>>>>>>>> functioning correctly according to the logs.
>>>>>>>>
>>>>>>>> 2009/4/8 Till Harbaum / Lists <lists at harbaum.org>:
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> sending this request:
>>>>>>>>>
>>>>>>>>> PUT /api/0.6/changeset/create HTTP/1.1
>>>>>>>>> Authorization: Basic xxxxxxxxxxxxxxxxx
>>>>>>>>> User-Agent: osm2go-libcurl/0.6.14
>>>>>>>>> Host: api06.dev.openstreetmap.org
>>>>>>>>> Accept: */*
>>>>>>>>> Content-Length: 163
>>>>>>>>>
>>>>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>>>> <osm>
>>>>>>>>>  <changeset>
>>>>>>>>>    <tag k="created_by" v="osm2go v0.6.14"/>
>>>>>>>>>    <tag k="comment" v="Kommentar"/>
>>>>>>>>>  </changeset>
>>>>>>>>> </osm>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> i either get an "internal server error 500" or no reply at  
>>>>>>>>> all. What is wrong with this request (despite the
>>>>>>>>> Auth i xxx'ed out)?
>>>>>>>>>
>>>>>>>>> Till
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> dev mailing list
>>>>>>>>> dev at openstreetmap.org
>>>>>>>>> http://lists.openstreetmap.org/listinfo/dev
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>
>
>
> _______________________________________________
> dev mailing list
> dev at openstreetmap.org
> http://lists.openstreetmap.org/listinfo/dev





More information about the dev mailing list