Modify

Opened 14 years ago

Closed 13 years ago

#6925 closed defect (invalid)

Assertion failure in PyGIT.py

Reported by: deb.aelwyn@… Owned by: Herbert Valerio Riedel
Priority: normal Component: GitPlugin
Severity: blocker Keywords:
Cc: Trac Release: 0.11

Description

Somewhere along the line, something happened in my git repository (I have no idea what -- maybe a post-commit-hook failure or something?) and I started getting an assertion failure anytime I try to load any Trac page. I tried using trac-admin resync to no avail, and I have no idea what to do next. Google has no instances of this particular assertion except in commit-diffs and the like, so it looks like no one else has this problem. I'm happy to grab more diagnostic information if someone can help me figure out what to look for.

I can unhook the repository entirely and still get to wiki pages, but (of course) not tickets, so my trac is nearly useless in its current state.

Here's what I see in the log:

2010-04-03 16:51:02,232 Trac[main] DEBUG: Dispatching <Request "GET u'/wiki'">
2010-04-03 16:51:02,250 Trac[git_fs] INFO: detected GIT version 1.6.3.3
2010-04-03 16:51:02,284 Trac[svn_fs] DEBUG: Subversion bindings imported
2010-04-03 16:51:02,285 Trac[PyGIT] DEBUG: PyGIT.Storage instance 140026844498040 constructed
2010-04-03 16:51:02,285 Trac[PyGIT] DEBUG: requested PyGIT.Storage instance 140026844498040 for '/home/git/ifgs'
2010-04-03 16:51:02,286 Trac[git_fs] INFO: enabled CachedRepository for '/home/git/ifgs'
2010-04-03 16:51:02,296 Trac[PyGIT] DEBUG: triggered rebuild of commit tree db for 140026844498040
2010-04-03 16:51:02,319 Trac[main] ERROR: Internal Server Error: 
Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/trac/web/main.py", line 444, in _dispatch_request
    dispatcher.dispatch(req)
  File "/usr/lib/python2.6/dist-packages/trac/web/main.py", line 175, in dispatch
    chosen_handler)
  File "/usr/lib/python2.6/dist-packages/trac/web/main.py", line 295, in _pre_process_request
    chosen_handler = filter_.pre_process_request(req, chosen_handler)
  File "/usr/lib/python2.6/dist-packages/trac/versioncontrol/api.py", line 86, in pre_process_request
    self.get_repository(req.authname).sync()
  File "/usr/lib/python2.6/dist-packages/trac/versioncontrol/cache.py", line 119, in sync
    repos_youngest = self.repos.youngest_rev
  File "/usr/lib/python2.6/dist-packages/trac/versioncontrol/api.py", line 279, in <lambda>
    youngest_rev = property(lambda x: x.get_youngest_rev())
  File "build/bdist.linux-x86_64/egg/tracext/git/git_fs.py", line 192, in get_youngest_rev
    return self.git.youngest_rev()
  File "build/bdist.linux-x86_64/egg/tracext/git/PyGIT.py", line 346, in youngest_rev
    return self.rev_cache[0]
  File "build/bdist.linux-x86_64/egg/tracext/git/PyGIT.py", line 299, in get_rev_cache
    assert len(new_db) == ord_rev
AssertionError: 

I tried digging around in the code, but I don't really understand what this assertion is trying to say, so it's hard to know what other information would be useful in diagnosing it. Again, I'm happy to extract whatever information would be useful if I can get some help in figuring out what that would be. (I'd grab the failing ord_rev and len(new_db) if I had any clue how to do that -- is there a straightforward way to make trac use an exploded-out package for the plugin instead of a .egg file, so I can just tweak the code to debug-log those? I assume that'd be useful.) Thanks!

Attachments (1)

pygitassert.txt (7.6 KB) - added by anonymous 14 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 14 years ago by Herbert Valerio Riedel

could you provide the output of "git rev-list --all --parents"? the code in question builds a commit object graph based on that output based on that output...

comment:2 Changed 14 years ago by anonymous

e754116493d1d93bd1179691322b825bdf01a3b5 33e152bc53e752cf44d97644f62cbfdb34755131
33e152bc53e752cf44d97644f62cbfdb34755131 c24e87e64d4b3089a7db5e20315e765f01cc86f7
c24e87e64d4b3089a7db5e20315e765f01cc86f7 d2a7bb97bfbbc93daf9df646fcf2034f3587d881
d2a7bb97bfbbc93daf9df646fcf2034f3587d881 b655dd60cd167f62a518f81e1c60ae19f9f8db19
b655dd60cd167f62a518f81e1c60ae19f9f8db19 95633c07cc978e8052c683712798a199005630b5
95633c07cc978e8052c683712798a199005630b5 fb433ed57861d028a2df6b5002ae9202d7552297 0368a12f3fc7bc4158107bba9fd2a18fda992c80
fb433ed57861d028a2df6b5002ae9202d7552297 094c48133bf450964331b8f633dfb3e51f74fadd
094c48133bf450964331b8f633dfb3e51f74fadd 0e5286906be99882215a9f2771ccfdf351bc629a
0e5286906be99882215a9f2771ccfdf351bc629a 4026ebc88aa8d91188a2b66508010654f068cf5e
4026ebc88aa8d91188a2b66508010654f068cf5e e234f9748051269058843fb142683580ed8a425b
0368a12f3fc7bc4158107bba9fd2a18fda992c80 c51cc334c1073b98fa9ab6ff263fd0f49d28f676
c51cc334c1073b98fa9ab6ff263fd0f49d28f676 501e852af9f303bd07f46df7fe91d0a548b7adb4
501e852af9f303bd07f46df7fe91d0a548b7adb4 e8bb8a6b339a1e0f001401283da5f172d957d1d9
e8bb8a6b339a1e0f001401283da5f172d957d1d9 c90cd51c209b2934004138499c0ac2b2d7c98891
c90cd51c209b2934004138499c0ac2b2d7c98891 47c637b63724dc2765a613f22448765696684121 e234f9748051269058843fb142683580ed8a425b
e234f9748051269058843fb142683580ed8a425b 2fe063ad47dad1499f78b91484647b8e28cf3feb 1adc62033d5ecda7f0e2e6baac3bb5ac4a0b1c9d
2fe063ad47dad1499f78b91484647b8e28cf3feb 0b79910b6ed169227f9aa3a4803509d36055f390
47c637b63724dc2765a613f22448765696684121 1cbe79919a11c03591dfe51d46192e0c1942637c
1cbe79919a11c03591dfe51d46192e0c1942637c 2fe99cb455dbb40d03a3fa1f2fe3f8377b9f2906
2fe99cb455dbb40d03a3fa1f2fe3f8377b9f2906 2fd67531922710f7276e2478c17e543ff31d0adb
0b79910b6ed169227f9aa3a4803509d36055f390 cc5f35330d5d8f7abd65a8e8ab80ae5e4ef8ed25
2fd67531922710f7276e2478c17e543ff31d0adb 91436722985c0e45edb7db6f4eaa4a6190c9a08a 1adc62033d5ecda7f0e2e6baac3bb5ac4a0b1c9d
1adc62033d5ecda7f0e2e6baac3bb5ac4a0b1c9d cc5f35330d5d8f7abd65a8e8ab80ae5e4ef8ed25
cc5f35330d5d8f7abd65a8e8ab80ae5e4ef8ed25 5a05bbe49915aa95c711c070411a613610cec943
91436722985c0e45edb7db6f4eaa4a6190c9a08a 260403edc4742ea34d187c37e0844d9cf5e94844 5a05bbe49915aa95c711c070411a613610cec943
260403edc4742ea34d187c37e0844d9cf5e94844 ecbddd8e9166f04df531b98889a321a00b2f7bd4
ecbddd8e9166f04df531b98889a321a00b2f7bd4 5987925fee7c4d66726ad74ec4bcd2c3992d472f
5a05bbe49915aa95c711c070411a613610cec943 7b9476851e9e924bc09ef33d620afe13334651cc
7b9476851e9e924bc09ef33d620afe13334651cc a8c4339f2f3165d1cace08bb3612e2e763ed9188 3d26a26ae751353b492c8a10cd1490e94b0f0f71
a8c4339f2f3165d1cace08bb3612e2e763ed9188 c1e8b27d4b57ad966860504ba7912689f666ca83
3d26a26ae751353b492c8a10cd1490e94b0f0f71 41b86bfb3ac579278c98e854f1158f4bdbffd56d
41b86bfb3ac579278c98e854f1158f4bdbffd56d 916f9116ce49e15f3ae8ade8d6d44db7989d73f2
916f9116ce49e15f3ae8ade8d6d44db7989d73f2 a44c9162264d56ac384aefb6a078b4365f952364
c1e8b27d4b57ad966860504ba7912689f666ca83 1f1007ddd3453d323596e2013cf7a3efa1cdeeb7
1f1007ddd3453d323596e2013cf7a3efa1cdeeb7 96f5cdf99693a1ed93b1ce11e0b36fa10acf7447 a44c9162264d56ac384aefb6a078b4365f952364
96f5cdf99693a1ed93b1ce11e0b36fa10acf7447 4f300ede0aa1eff87a467cdd29db5498eaa8f64d
5987925fee7c4d66726ad74ec4bcd2c3992d472f 17f4fde7150746e54358b094a8cee469d0eeef51 a44c9162264d56ac384aefb6a078b4365f952364
17f4fde7150746e54358b094a8cee469d0eeef51 f188420598ad09c025c6a2c4673b8eadc19f98cc
f188420598ad09c025c6a2c4673b8eadc19f98cc 532c486e8157f9275a788c3d1997d4c8cf6ef79b
a44c9162264d56ac384aefb6a078b4365f952364 a83642624d1d2409a914cd8289de808a907132d1
4f300ede0aa1eff87a467cdd29db5498eaa8f64d 5dd7530d80da4f6cce8b41e896045e24ca9ba0c3
a83642624d1d2409a914cd8289de808a907132d1 5dd7530d80da4f6cce8b41e896045e24ca9ba0c3
5dd7530d80da4f6cce8b41e896045e24ca9ba0c3 53900a6fbfdfc057ad776beb3f8d5073595aec72
53900a6fbfdfc057ad776beb3f8d5073595aec72 0b8acf798b215e43abdf55f6d9e6641732702c94
0b8acf798b215e43abdf55f6d9e6641732702c94 d659c465bf67384330ce8a9fb9769430391fb47b 2cf9b25e6d0d1e19ba293f6b3dedfb84c43dbae7
d659c465bf67384330ce8a9fb9769430391fb47b 999dd461576ad2406bed5d95ade50c9ec289b9a8
532c486e8157f9275a788c3d1997d4c8cf6ef79b f44f3e3c56e547285940eaf8d6f2c00b69e06c95 2cf9b25e6d0d1e19ba293f6b3dedfb84c43dbae7
f44f3e3c56e547285940eaf8d6f2c00b69e06c95 f8e929dffdb607b59e5dcdf46dc81b44b3596afb
2cf9b25e6d0d1e19ba293f6b3dedfb84c43dbae7 7b318a15133fb517eaa075129c2bc0dbc3846940
7b318a15133fb517eaa075129c2bc0dbc3846940 c2d6b15826802923d4b9ac8e7c3b2d87a6531121
999dd461576ad2406bed5d95ade50c9ec289b9a8 c2d6b15826802923d4b9ac8e7c3b2d87a6531121
c2d6b15826802923d4b9ac8e7c3b2d87a6531121 d1b49f21bcb2056568dde6a016b9e7aad8fa67b7
d1b49f21bcb2056568dde6a016b9e7aad8fa67b7 ef20bd958887a10fc0dd2aac42083fe2b0ffbaab
ef20bd958887a10fc0dd2aac42083fe2b0ffbaab be4b25c825cd5e661053e39686b4f7e100f83707
be4b25c825cd5e661053e39686b4f7e100f83707 9586b8d09b06a7282264653b74f4109f13f005c6
9586b8d09b06a7282264653b74f4109f13f005c6 f8e929dffdb607b59e5dcdf46dc81b44b3596afb
f8e929dffdb607b59e5dcdf46dc81b44b3596afb dbd1bfb1434f036ffee796ad0c3da06740778ac1
dbd1bfb1434f036ffee796ad0c3da06740778ac1 cd42f801e293710c7361f6ff9254749c6a5b7bbe
cd42f801e293710c7361f6ff9254749c6a5b7bbe 3fd5873bef3d0ccfafbcc1c3d9d1464576eae13b
3fd5873bef3d0ccfafbcc1c3d9d1464576eae13b accbac0e29668c57564266e0fa563860458951ac 21f6c848f921fd4bafa53658a066d7b2df278f2a
accbac0e29668c57564266e0fa563860458951ac aaad8ff5943ed6f8954822e462b27cf504c3beed
21f6c848f921fd4bafa53658a066d7b2df278f2a 239010e12b9e6498240b0866d3f39a70a8357e9d
239010e12b9e6498240b0866d3f39a70a8357e9d 3f9b15393230427bbaab471a120126a1f67e92d2
3f9b15393230427bbaab471a120126a1f67e92d2 de4ef5e63b1d6679f471872cd932668e9673687d
de4ef5e63b1d6679f471872cd932668e9673687d ae80f4641b4d25e029d5cdf8838f24486342b5ba
ae80f4641b4d25e029d5cdf8838f24486342b5ba 29cd2d4937adfc835ca1b3313d27f2cb8ca933f5
29cd2d4937adfc835ca1b3313d27f2cb8ca933f5 db271cb4e592846387758080420fff123df2cdc1 aaad8ff5943ed6f8954822e462b27cf504c3beed
db271cb4e592846387758080420fff123df2cdc1 34b7d8e50c1e4b70d9818d9c61a4f1458e40e864
aaad8ff5943ed6f8954822e462b27cf504c3beed cf7c208bdcbd1e1e12f968cfb9591610240062cd
cf7c208bdcbd1e1e12f968cfb9591610240062cd 34b7d8e50c1e4b70d9818d9c61a4f1458e40e864
34b7d8e50c1e4b70d9818d9c61a4f1458e40e864 7469d2da4b9f42ec5c950dedf37eb6c730150810
7469d2da4b9f42ec5c950dedf37eb6c730150810 3609489a5d6041121cad5a38efe71afd8768794c
3609489a5d6041121cad5a38efe71afd8768794c ab123673c11772ee11956d1fe32b6424a8bf91a2
ab123673c11772ee11956d1fe32b6424a8bf91a2 fa4edbfddc15364dd4a5b4ef8a9c71dc2f87570c
fa4edbfddc15364dd4a5b4ef8a9c71dc2f87570c 08c2db7131b5f1fabf0193f1d7090db12797f36f
08c2db7131b5f1fabf0193f1d7090db12797f36f 6501372d13756d9c2f83c7ec012a4a3155c215c5
6501372d13756d9c2f83c7ec012a4a3155c215c5 d88bc1bd16d7e54c1738ad4f5d6e577eb2dc983a
d88bc1bd16d7e54c1738ad4f5d6e577eb2dc983a fcaa1ccee94e7bbc2fb54523688d3309c7a03f2d
fcaa1ccee94e7bbc2fb54523688d3309c7a03f2d 72e6c29f2a8a18b2b6b2bc278fd78b32cc334102
72e6c29f2a8a18b2b6b2bc278fd78b32cc334102 9374bbdf6b59adb0ebde64c66ef583f39ef354bc
9374bbdf6b59adb0ebde64c66ef583f39ef354bc 7dda408c9499b4702f0488baa5e6e7b584711eb4
7dda408c9499b4702f0488baa5e6e7b584711eb4 280e0e8ae6219ec1024d739c0222d057e78c79ce
280e0e8ae6219ec1024d739c0222d057e78c79ce ccc0cdcd992972340ea2ef8c2f13a65bfaf951d7
ccc0cdcd992972340ea2ef8c2f13a65bfaf951d7 847051f2de13464f52374af7c72048e32bc5f322
847051f2de13464f52374af7c72048e32bc5f322 9befbddae7740a921011b344cfe772b929c203da
9befbddae7740a921011b344cfe772b929c203da 3a7fe9a1a992dbe7c67ce0bbabf5a3b729e08eca
3a7fe9a1a992dbe7c67ce0bbabf5a3b729e08eca 3374a8f7a7d915ca15e86b6eb14076d2b6b018ff
3374a8f7a7d915ca15e86b6eb14076d2b6b018ff 0620bb99a19a1709123be1470aa1799161576b38
0620bb99a19a1709123be1470aa1799161576b38

Please let me know if there's anything else that'd be useful.

Changed 14 years ago by anonymous

Attachment: pygitassert.txt added

comment:3 Changed 14 years ago by anonymous

I also added it as an attachment, since I'm not convinced that the formatting didn't do something to it. This is what I got from doing this:

(host:/path/to/git/repository )> git rev-list --all --parents > ~/pygitassert.txt

comment:4 Changed 14 years ago by Penis Enlargement

Cc: Le Mans added; anonymous removed

Oh throw that you so much for your enter at beneficial time. It helped me in my assignment. Thanks Alot

comment:5 Changed 13 years ago by Herbert Valerio Riedel

Cc: anonymous added; Le Mans removed

Alas I couldn't reproduce this problem with plugin version 0.12.0.3, because the git rev-list output did not cause that exception of yours :-/

comment:6 Changed 13 years ago by Herbert Valerio Riedel

Resolution: invalid
Status: newclosed

I'll close the bug for now; please reopen if you can provide more information (or maybe retest with the latest version)

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Herbert Valerio Riedel.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.