Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Catalog Sources disappear #893

Closed
iandol opened this Issue · 7 comments

3 participants

@iandol

This is fairly recent, but I've noticed with 3928 that when adding a filetype to a custom folder scanner (that may have been coincidental) that every catalog source disappears in the catalog prefs UI, even if QS can still use the catalog. Lion 10.7.4, console output is the following:

17/05/2012 00:10:16.416 Quicksilver: Fetching plugin data from http://qs0.qsapp.com/plugins/info.php?qsversion=14632&sids=com.blacktree.Quicksilver.QSEventTriggersPlugIn
17/05/2012 00:10:17.441 Quicksilver: Downloaded info for 98 plug-in(s) 
17/05/2012 00:10:17.453 Quicksilver: Quicksilver is up to date.
17/05/2012 00:12:08.016 Quicksilver: Invalid URL passed to an open/save panel: '(null)'.  Using 'file://localhost/Volumes/Mac/Users/ian/Documents/Reading/' instead.
17/05/2012 00:12:16.750 Hear: 'QTKitServer-(942) Quick Look Helper' connected (pid=944, path='/System/Library/XPCServices/com.apple.qtkitserver.xpc')
17/05/2012 00:12:35.135 Quicksilver: *** Assertion failure in -[QSOutlineView _expandItemEntry:expandChildren:startLevel:], /SourceCache/AppKit/AppKit-1138.47/TableView.subproj/NSOutlineView.m:1293
17/05/2012 00:12:35.135 Quicksilver: (null) should not be expanded already!
17/05/2012 00:12:35.145 Quicksilver: (
    0   CoreFoundation                      0x941b7a67 __raiseError + 231
    1   libobjc.A.dylib                     0x90d27149 objc_exception_throw + 155
    2   CoreFoundation                      0x9411f289 +[NSException raise:format:arguments:] + 137
    3   Foundation                          0x919af233 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 116
    4   AppKit                              0x9c51666d -[NSOutlineView _expandItemEntry:expandChildren:startLevel:] + 1171
    5   AppKit                              0x9c5161d3 -[NSOutlineView _expandItemEntry:expandChildren:] + 68
    6   AppKit                              0x9c2db434 -[NSOutlineView _uncachedNumberOfRows] + 516
    7   AppKit                              0x9c2db22b -[NSOutlineView numberOfRows] + 33
    8   AppKit                              0x9c360973 -[NSOutlineView frameOfCellAtColumn:row:] + 64
    9   AppKit                              0x9c360756 -[NSTableView drawRow:clipRect:] + 1701
    10  QSInterface                         0x0012abe3 -[QSOutlineView drawRow:clipRect:] + 263
)
17/05/2012 00:12:35.173 Quicksilver: NSOutlineView Warning: reloadData called while in the middle of doing a reloadData (break on NSLog to debug)

http://i50.tinypic.com/rwpj4j.png

@skurfer
Owner

Well, I can’t get this to happen, but the error “reloadData called while in the middle of doing a reloadData” makes me wonder if it’s related to a recent change. @pjrobertson fixed things so the contents would get updated in real-time as you make changes to the entry.

Are you able to do this consistently? Is there a particular type you add that triggers it, or a particular path?

@pjrobertson
Owner
@iandol

In my case, I can still use the catalog contents so this is just a UI issue but everything is missing (Applications, Modules etc.). I've tried reproducing it on another machine and I get reliable crashes doing the following:

Add custom Folder to catalog, add a Type = *.avi — select outside then back into the Type box and I crash. I've sent 2 crash reports with this issue in the comment. I can't reproduce the catalog going blank yet, but in one case I noticed the Prefs window closed but QS was still running (not a full crash) so something is going wront with the prefs catalog UI. The crash is reproducible at the moment so can collect more info if needed.

@skurfer
Owner

Add custom Folder to catalog, add a Type = *.avi — select outside then back into the Type box and I crash.

I can reproduce this by entering *.avi, but you should just enter avi. Not only will that actually do what you intended, but it seems to prevent the crash.

We still need to investigate and fix the crash. I wonder if it’s as simple as removing *. from the input if that’s what someone types.

As for the original issue, it sounds like a rare race condition, so it could be hard to track down.

@skurfer
Owner

I just saw my catalog (in the preferences) go blank as well for a completely different reason. I went into Modules, selected iTunes and hit refresh. Everything disappeared.

From the Console:

2012/05/17 11:06:28.504 AM Quicksilver: *** Assertion failure in -[QSOutlineView _expandItemEntry:expandChildren:startLevel:], /SourceCache/AppKit/AppKit-1138.47/TableView.subproj/NSOutlineView.m:1293
2012/05/17 11:06:28.504 AM Quicksilver: (null) should not be expanded already!
2012/05/17 11:06:28.517 AM Quicksilver: (
    0   CoreFoundation                      0x99595a67 __raiseError + 231
    1   libobjc.A.dylib                     0x951fe149 objc_exception_throw + 155
    2   CoreFoundation                      0x994fd289 +[NSException raise:format:arguments:] + 137
    3   Foundation                          0x9855c233 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 116
    4   AppKit                              0x9c71f66d -[NSOutlineView _expandItemEntry:expandChildren:startLevel:] + 1171
    5   AppKit                              0x9c71f1d3 -[NSOutlineView _expandItemEntry:expandChildren:] + 68
    6   AppKit                              0x9c4e4434 -[NSOutlineView _uncachedNumberOfRows] + 516
    7   AppKit                              0x9c4e422b -[NSOutlineView numberOfRows] + 33
    8   AppKit                              0x9c4e41ef _NSOVRowEntryForRow + 44
    9   AppKit                              0x9c4e4180 -[NSOutlineView itemAtRow:] + 56
    10  AppKit                              0x9c56b52f -[NSOutlineView _dataSourceValueForColumn:row:] + 55
    11  AppKit                              0x9c559e47 -[NSTableView preparedCellAtColumn:row:] + 420
    12  AppKit                              0x9c56b359 -[NSOutlineView preparedCellAtColumn:row:] + 64
    13  AppKit                              0x9c56b23c -[NSTableView _drawContentsAtRow:column:withCellFrame:] + 50
    14  AppKit                              0x9c56b1b0 -[NSOutlineView _drawContentsAtRow:column:withCellFrame:] + 87
    15  AppKit                              0x9c56968d -[NSTableView drawRow:clipRect:] + 1500
    16  QSInterface                         0x0012ac0b -[QSOutlineView drawRow:clipRect:] + 263
)
@iandol

Can reproduce the iTunes > Refresh too...

@pjrobertson
Owner

OK, an easy way for me to reproduce this:

  • Open the Catalog preferences
  • Move ~/Library/Caches/Quicksilver to the trash
  • Open the Quicksilver interface and press ⌘R to rescan the catalog.

The bug seems to be that the QSOutlineView (that shows the catalog entry) isn't being told that the catalog entry is being updated. We probably either need to look out for if the data is 'nil', or use some kind of KVO.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.