When running "mb -d makehashes /srv/upload -t /srv/mirrorbrain/hashes/srv/upload" on the server hosting http://download.sugarlabs.org/, MirrorBrain breaks with the following error:
[...]
2/QueryAll: SELECT filearr.path, hash.file_id
FROM filearr
LEFT JOIN hash
ON hash.file_id = filearr.id
WHERE filearr.path ~ '^services/gcc-c++/[^/]*$'
2/QueryR : SELECT filearr.path, hash.file_id
FROM filearr
LEFT JOIN hash
ON hash.file_id = filearr.id
WHERE filearr.path ~ '^services/gcc-c++/[^/]*$'
2/COMMIT : auto
Traceback (most recent call last):
File "/usr/bin/mb", line 1638, in <module>
r = mirrordoctor.main()
File "/usr/lib/pymodules/python2.6/cmdln.py", line 257, in main
return self.cmd(args)
File "/usr/lib/pymodules/python2.6/cmdln.py", line 280, in cmd
retval = self.onecmd(argv)
File "/usr/lib/pymodules/python2.6/cmdln.py", line 412, in onecmd
return self._dispatch_cmd(handler, argv)
File "/usr/lib/pymodules/python2.6/cmdln.py", line 1100, in _dispatch_cmd
return handler(argv[0], opts, *args)
File "/usr/bin/mb", line 1024, in do_makehashes
for i, j in mb.files.dir_filelist(self.conn, dst_dir_db)]
File "/usr/lib/pymodules/python2.6/mb/files.py", line 160, in dir_filelist
result = conn.Server._connection.queryAll(query)
File "/usr/lib/python2.6/dist-packages/sqlobject/dbconnection.py", line 356, in queryAll
return self._runWithConnection(self._queryAll, s)
File "/usr/lib/python2.6/dist-packages/sqlobject/dbconnection.py", line 256, in _runWithConnection
val = meth(conn, *args)
File "/usr/lib/python2.6/dist-packages/sqlobject/dbconnection.py", line 349, in _queryAll
self._executeRetry(conn, c, s)
File "/usr/lib/python2.6/dist-packages/sqlobject/dbconnection.py", line 335, in _executeRetry
return cursor.execute(query)
psycopg2.DataError: invalid regular expression: quantifier operand invalid
services/gcc-c++ is the name of a directory below /srv/upload:
silbe@sunjammer:~$ ls -d /srv/upload/services/gcc-c++
/srv/upload/services/gcc-c++
MirrorBrain should escape special (regular expression) characters in paths before using them as part of a regular expression.
Additional info:
The host is running MirrorBrain 2.15.0-1 on Ubuntu 10.04:
silbe@sunjammer:~$ lsb_release -ir
Distributor ID: Ubuntu
Release: 10.04
silbe@sunjammer:~$ dpkg -l mirrorbrain|grep ^ii
ii mirrorbrain 2.15.0-1 MirrorBrain is a scalable download redirector and Metalink generator.
|