ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Can only log into Webui once...

asked 2011-09-13 10:32:19 -0500

mkopack gravatar image

Ok, so I followed the directions for getting the web_interface stack installed and configured to talk to my Lego NXT bot.

The first time I hit the web page (from the same machine running the server) it asks me to set a new admin password. I set it to admin again. At that point I'm taken into the UI and can see some of the status stuff and messages and such.

If I close the browser and try to go into the page again though, using the admin/admin (which is what I set the "new" password to) it spins for a while and then I see the following message on the browser:

A copy of this error report has been submitted to the developers. The details of the error report are below. --> --> odb_Exception

DatabaseError("database is locked(INSERT INTO auth_login (uid,username,time,loginType,browserid,ipaddr) VALUES (1,'admin','1315528565.09',1,NULL,''))",) Traceback

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.


  /opt/ros/diamondback/stacks/web_interface/pyclearsilver/src/pyclearsilver/ in start (self=<mod.login.cgibin.signin.SignInPage instance>)
     1. 199 # call page main function!
     2. 200 try:
     3. 201 self.main()
     4. 202 except DisplayDone:
     5. 203 SHOULD_DISPLAY = 0
      * self = <mod.login.cgibin.signin.SignInPage instance>
      * self.main = <bound method SignInPage.main of <mod.login.cgibin.signin.SignInPage instance>>


  /opt/ros/diamondback/stacks/web_interface/pyclearsilver/src/pyclearsilver/ in main (self=<mod.login.cgibin.signin.SignInPage instance>)
     1. 157 __call(self.setup)
     2. 158
     3. 159 self.handle_actions()
     4. 160
     5. 161 __call(self.display)
      * self = <mod.login.cgibin.signin.SignInPage instance>
      * self.handle_actions = <bound method SignInPage.handle_actions of <mod.login.cgibin.signin.SignInPage instance>>


  /opt/ros/diamondback/stacks/web_interface/pyclearsilver/src/pyclearsilver/ in handle_actions (self=<mod.login.cgibin.signin.SignInPage instance>)
     1. 177 method = getattr(self,method_name)
     2. 178 if method.im_func.func_code.co_argcount == 2:
     3. 179 apply(method,[hdf])
     4. 180 else:
     5. 181 apply(method,[])
      * builtin apply = <built-in function apply>
      * method = <bound method SignInPage.Action_Login of <mod.login.cgibin.signin.SignInPage instance>>
      * hdf = <HDFObjectType object>


  /opt/ros/diamondback/stacks/web_interface/webui/src/webui/mod/login/cgibin/ in Action_Login (self=<mod.login.cgibin.signin.SignInPage instance>, hdf=<HDFObjectType object>)
     1. 134
     2. 135 loginRow.loginType = 1
     3. 136
     4. 137
     5. 138 cookieauth.issueLoginCookie(self.ncgi, self.authdb, q_username, userRec.pw_hash, q_persist)
      * loginRow = Row from (auth_login): {'username': u'admin', 'u... 'browserid': None, 'time': 1315528565.0882859}{}
      * = <bound method of Row from (auth_logi...'browserid': None, 'time': 1315528565.0882859}{}>


  /opt/ros/diamondback/stacks/web_interface/pyclearsilver/src/pyclearsilver/ in save (self=Row from (auth_login): {'username': u'admin', 'u... 'browserid': None, 'time': 1315528565.0882859}{}, cursor=None)
     1. 2251
     2. 2252 if self._should_insert:
     3. 2253 toTable.r_insertRow(self,replace=self._should_replace)
     4. 2254 self._should_insert = 0
     5. 2255 self._should_replace ...
edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted

answered 2011-09-14 06:15:55 -0500

As the author of that paper, I can try to help figure out what's going on. I've never seen this particular problem before, but given how WebUI is setup on anything that's not a PR2, problems are bound to crop up.

The first thing I'd check is the permissions on the database (IIRC, webui uses sqlite which is just a single file). Make sure the DB is owned by apache, and apache has rw access.

I'm not too optimistic that that's the solution, but I'd give that a try first.

edit flag offensive delete link more


Ok, cool. I'll give that a try! Thanks! Is it possible to get access to any of the code you guys developed for that project? If not I understand...
mkopack gravatar image mkopack  ( 2011-09-15 03:34:39 -0500 )edit

answered 2011-09-14 04:40:38 -0500

Mac gravatar image

You shouldn't expect this to work, now or ever. Both the web_interface and webui wiki pages say this:

This stack is under development and for internal use only.

And they're not kidding; to my knowledge, it's not even used internally anymore, nor maintained.

edit flag offensive delete link more

answered 2011-09-14 05:03:21 -0500

mkopack gravatar image

Grr. I REALLY need to be able to do web based interface/control for ROS... I'm working on a telepresence robot, and I don't want every user of it to have to install ROS on their machine just to control the bot...

Yes, I know it's marked internal use / dev status, but I also know others have used it before. For instance:,43&as_vis=1

In that paper, they make use of the WebUI package to build a web based interface for their ROS robot. I want to do the same thing.

edit flag offensive delete link more


Tried to respond as a comment, but I ran out of space - see my answer.
Dan Lazewatsky gravatar image Dan Lazewatsky  ( 2011-09-14 06:12:42 -0500 )edit
There are tools for ROS web interfaces that aren't webui; see rosjs, and the various other things from Brown's ROS pkg.
Mac gravatar image Mac  ( 2011-09-16 03:30:10 -0500 )edit

Question Tools


Asked: 2011-09-13 10:32:19 -0500

Seen: 572 times

Last updated: Sep 14 '11