Edgewall Software
Modify

Opened 17 years ago

Closed 16 years ago

#5788 closed defect (worksforme)

Trac 0.10.4 requires resync on solaris after every commit

Reported by: d1capelis@… Owned by: Christian Boos
Priority: low Milestone:
Component: version control Version: 0.10.4
Severity: major Keywords: solaris needinfo
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:

Description (last modified by Christian Boos)

I poked folks in the #trac channel about this one and they told me to file it. Took me a bit because I was trying to verify again that it isn't my own fault. :) The short summary isn't entirely accurate…. as sometimes with *small* repositories we don't get the error thrown, but large repos still require a resync every time. I just get the dreaded No such revision message (specifying the revision that was just committed) and it doesn't go away until I resync. I've had to install SVN hooks to resync after post-commit to make trac workable for us for now. (Love the software, just this bug tends to really interfere in workflow.) We're running trac on solaris and so it's not as well integrated as it is on linux. Frankly, even after me checking it, the bug might be an installation issue still as we had to do some pretty odd things to get it all installed.

Some details of what it's running:

python 2.3
solaris 9
trac 0.10.4
subversion 1.4.3 + bindings
openidplugin from trac-hacks

Slight code modification that seemed to be necessary with the openid plugin. (found this code change recommended in another bug on a similar issue a few version back) However, I'm pretty sure this isn't the cause of the bug: (Old code commented, my code the line above)

From trac-0.10.4/trac/db/sqlite_backend.py:

        if have_pysqlite == 2:
            self._active_cursors = weakref.WeakKeyDictionary()
            timeout = int(params.get('timeout', 10.0))
            cnx = sqlite.connect(path, detect_types=sqlite.PARSE_DECLTYPES,
                                 check_same_thread=False,
#                                 check_same_thread=sqlite_version < 30301,
                                 timeout=timeout)

Yeah, I know it's a hack, but apparently it was needed…

Anyways, back to the bug. I also get the no such revision found error whenever I view a changeset above a certain size (not sure whether it's number of files or amount of data yet) specifying that it can't find that revision. I don't get this on revisions with only a few changed lines or only a few files. But on commits with lots of things added, it seems to always throw an error, but unlike the symptom described above where after every commit, the entire trac just shows an error, this only happens when you click on a large commit and doesn't go away after a resync.

Thanks folks, keep up the good work. :)

Attachments (0)

Change History (12)

comment:1 by ThurnerRupert, 17 years ago

we run it for more than 2 yrs now on solaris 8 and 10 and i never saw this. could you give the http://blastwave.org version a try?

we noticed trac throwing an exception while trying to display a 250 files all together bigger than 1GB changeset.

comment:2 by d1capelis@…, 17 years ago

We're using the entire blastwave toolset except for the trac modules themselves which we've compiled against the python2.3 blastwave has. Then we simply installed the 0.10.4 version over the blastwave one. (Which didn't work for us, it couldn't find the subversion bindings.)

comment:3 by Christian Boos, 17 years ago

Component: generalversion control
Keywords: solaris needinfo added
Milestone: 0.10.5
Owner: changed from Jonas Borgström to Christian Boos

Make sure you're using a thread-safe SQLite. Best is to rebuild it yourself and then rebuild the latest PySqlite (check that page for download and build instructions).

comment:4 by ThurnerRupert, 17 years ago

we are using default blastwave including sqlite. to my knowledge blastwave compiles the software for sol8, which then runs on 8, 9, 10.

comment:5 by ThurnerRupert, 17 years ago

marked #5967 as duplicated, this time on ubuntu?

comment:6 by Tim Hatch, 17 years ago

Description: modified (diff)

Formatting fix

comment:7 by Christian Boos, 17 years ago

Description: modified (diff)

in reply to:  3 comment:8 by sid, 17 years ago

RE: cboos comment:

Make sure you're using a thread-safe SQLite. Best is to rebuild it yourself and then rebuild the latest PySqlite (check that page for download and build instructions).

Did these suggestions help you out? It has been a while since this ticket was updated, but I don't want to just close it without giving you a little more time to respond.

comment:9 by d1capelis@…, 17 years ago

My apologies, I thought I had replied to this.

We did rebuild with the latest pysqlite and that didn't seem to help… I'm fairly certain I checked to make sure that the SQLite was threadsafe, but honestly I'm going to have to look again.

We're using a messy system involve SVN hooks for now, so if you want to close this as an installation specific issue I'll file again if these issues are still present in .11? Is anyone else is seeing this problem?

These machines are honestly pretty odd setups, so it may be some obscure library issue.

in reply to:  9 comment:10 by anonymous, 17 years ago

Replying to d1capelis@ucsd.edu:

My apologies, I thought I had replied to this.

We did rebuild with the latest pysqlite and that didn't seem to help… I'm fairly certain I checked to make sure that the SQLite was threadsafe, but honestly I'm going to have to look again.

We're using a messy system involve SVN hooks for now, so if you want to close this as an installation specific issue I'll file again if these issues are still present in .11? Is anyone else is seeing this problem?

These machines are honestly pretty odd setups, so it may be some obscure library issue.

We are seeing the same issue here. On a pretty freshly built Solaris 10 machine. I installed trac via pkg-get -i trac . pkg-get said I had some old libraries so wanted me to do a pkg-get upgrade to upgrade all installed packages. I did that and then Trac installed and ran fine. The only issue we are seeing is this resync issue.

comment:11 by Christian Boos, 17 years ago

Well, using pkg-get don't give you any guarantee that you have the right thread-safe build of SQLite. Please follow the advices given above in comment:3.

comment:12 by Christian Boos, 16 years ago

Resolution: worksforme
Status: newclosed

Assuming it works with SQLite and pysqlite correctly built.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Christian Boos.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from Christian Boos 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.