Edgewall Software
Modify

Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#7575 closed defect (worksforme)

searching for the "sudo" word leads to disk I/O error

Reported by: bruno@… Owned by:
Priority: normal Milestone:
Component: search system Version: 0.10.4
Severity: major Keywords: needinfo
Cc: bruno@… Branch:
Release Notes:
API Changes:
Internal Changes:

Description

I recently upgraded from 0.9.x to 0.10.4 on my system. I followed the procedure on your Web site (thanks for that :-)

Recently a user realized that now we can't do a search on the word "sudo". Other searches are working ("redhat", "growisofs", …) Nothing else seems having an issue for now.

Way to reproduce: http://trac.mondorescue.org/search?q=sudo&noquickjump=1

Result:

Python Traceback

Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/trac/web/main.py", line 406, in dispatch_request
    dispatcher.dispatch(req)
  File "/usr/lib/python2.5/site-packages/trac/web/main.py", line 237, in dispatch
    resp = chosen_handler.process_request(req)
  File "/usr/lib/python2.5/site-packages/trac/Search.py", line 181, in process_request
    results += list(source.get_search_results(req, terms, filters))
  File "/usr/lib/python2.5/site-packages/trac/ticket/api.py", line 269, in get_search_results
    args + args2)
  File "/usr/lib/python2.5/site-packages/trac/db/util.py", line 50, in execute
    return self.cursor.execute(sql_escape_percent(sql), args)
  File "/usr/lib/python2.5/site-packages/trac/db/sqlite_backend.py", line 56, in execute
    args or [])
  File "/usr/lib/python2.5/site-packages/trac/db/sqlite_backend.py", line 48, in _rollback_on_error
    return function(self, *args, **kwargs)
OperationalError: disk I/O error

Attachments (0)

Change History (6)

comment:1 by robin-trac@…, 16 years ago

Interesting. It also fails for many command shell commands (mkdir, file, sudo).

It seems there's something preculiar going on here.

I don't see the same thing on my Trac 0.12dev-r7389 install.

comment:2 by Christian Boos, 16 years ago

Keywords: needinfo added

Well, it looks like any search that could return many results will fail: examples are and, list, or even mondo. It always when searching tickets (see code) and the search indeed works when you tick off "Ticket".

Most probably you have lots of "big" tickets and SQLite doesn't have enough space on disk for the temporary file it needs for the join. Make sure you have a few Gbytes spare on /tmp and see if that improve things.

comment:3 by bruno@…, 16 years ago

Cc: bruno@… added
Resolution: fixed
Status: newclosed

Indeed it was a space constraint, but on /var :-( Maybe it could be possible to add to the error message that people may check for their FS size using df ?

Thanks for your help.

comment:4 by Emmanuel Blot, 16 years ago

Resolution: fixed
Status: closedreopened

Something weird is that the expected error would be "No space available on device" rather than a disk I/O error…

I don't think this kind of message could be added, as this error message (which is not emitted by Trac but by the pysqlite lib) may be related to a wide set of causes (such as a HW failure). Moreover 'df' is platform-specific.

comment:5 by Emmanuel Blot, 16 years ago

Resolution: worksforme
Status: reopenedclosed

in reply to:  4 comment:6 by Christian Boos, 16 years ago

Replying to eblot:

Something weird is that the expected error would be "No space available on device" rather than a disk I/O error…

Old story ;-) See ticket:6213#comment:2

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The ticket will remain with no owner.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from (none) to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.