-
Notifications
You must be signed in to change notification settings - Fork 27.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Understand how bad URIs can end up in our system #41987
Comments
@adamretter any clues how you got into that state? @jrieken for the URI error, it looks like an entry in quick open is producing a URI which is not valid. Maybe as part of a remote scenario? |
@bpasero What makes you think this? @adamretter will know if he is experimenting with new, proposed api for handling remote resources. |
@jrieken because I would doubt this error comes from a file |
Common mistake which would cause this is when someone calls |
@bpasero @jrieken As far as I know I am just using VSCode in a normal way. I am not doing anything special. I just have some C/C++ extensions and the LLDB extension. I use VSCode as a nice editor for writing C++. NOTE - I have also started with It just happened when I opened VSCode one day. Is there anyway to get a Stack trace for where the error is reported? |
@adamretter yeah I would be interested in the stack trace: Please see if you can find any logged output that could help us find the source of the issue:
Thanks! |
Also, before doing |
@bpasero here is the stack trace from the Developer Tools console:
The output on the terminal from the
@jrieken The screenshot of catching the exception from Developer Tools: |
@adamretter thanks! @jrieken @isidorn this seems to originate from The editor history (where this crash happens) is persisted here using What am I doing wrong? Also, the error seems to happen with a file URI actually: The full path seems to be in the authority? |
I have quite high confidence in |
@jrieken the history service is just accepting URIs from editors to show in the recently opened, there is nothing the history service controls about how the URIs are being created. I can make
|
I am not saying the change is invalid, indeed every of the ~1000 references to What I am saying is that we should really understand why we have a URI like that in the system and not be satisfied with tackling symptoms. |
@jrieken I am trying to understand if an extension could craft a I tried a few things but could not trigger it (via |
You can use Theory: The URIs that are around have no |
I have something like this in mind, but that doesn't reproduce it const uri = vscode.Uri.parse('').with({
scheme: 'file',
authority: '/Users/jrieken/Code/_samples/virtual/snippets/super.code-snippet'
});
return vscode.window.showTextDocument(uri); |
Yeah the thing that is weird is that it is not even a custom schema, but an actual file @adamretter would be nice if you could somehow reproduce this. What I would expect to see is that some action you do that should open a file in the editor, actually does not work and from then on quick open history will also not work. To reproduce this:
|
Also, another thing to try for @adamretter is the dump the stored history. Please do the following: open Developer Tools, select Application, select Local Storage, Files, and enter 'history.entries' into the search box. It will show different key-value pairs for different workspaces. Please locate the workspace in question and share its value with us. Thanks |
@jrieken here is the [{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/transaction.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/transaction.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/transaction.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/utilities/transaction.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/utilities/transaction.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/utilities/transaction.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/transaction_db.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/transaction_db.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/transaction_db.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/portal.h","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/portal.h","path":"/Users/aretter/code/rocksdb/java/rocksjni/portal.h","scheme":"file"}},{"editorInputJSON":{"typeId":"workbench.editorinputs.preferencesEditorInput","deserialized":"{\"name\":\"Workspace Settings\",\"description\":\".vscode\",\"detailsSerialized\":\"{\\\"resource\\\":\\\"vscode://defaultsettings/1/settings.json\\\"}\",\"masterSerialized\":\"{\\\"resource\\\":\\\"file:///Users/aretter/code/rocksdb/.vscode/settings.json\\\",\\\"resourceJSON\\\":{\\\"$mid\\\":1,\\\"fsPath\\\":\\\"/Users/aretter/code/rocksdb/.vscode/settings.json\\\",\\\"external\\\":\\\"file:///Users/aretter/code/rocksdb/.vscode/settings.json\\\",\\\"path\\\":\\\"/Users/aretter/code/rocksdb/.vscode/settings.json\\\",\\\"scheme\\\":\\\"file\\\"},\\\"encoding\\\":\\\"utf8\\\"}\",\"detailsTypeId\":\"workbench.editorinputs.defaultpreferences\",\"masterTypeId\":\"workbench.editors.files.fileEditorInput\"}"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/rocksjni.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/rocksjni.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/rocksjni.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/comparatorjnicallback.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/comparatorjnicallback.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/comparatorjnicallback.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/comparator.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/comparator.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/comparator.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/jnicallback.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/jnicallback.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/jnicallback.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/comparatorjnicallback.h","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/comparatorjnicallback.h","path":"/Users/aretter/code/rocksdb/java/rocksjni/comparatorjnicallback.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/rocksdb.h","external":"file:///Users/aretter/code/rocksdb/rocksdb.h","path":"/Users/aretter/code/rocksdb/rocksdb.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/.vscode/extensions/ms-vscode.cpptools-0.14.2/ReleaseNotes.html","external":"file:///Users/aretter/.vscode/extensions/ms-vscode.cpptools-0.14.2/ReleaseNotes.html","path":"/Users/aretter/.vscode/extensions/ms-vscode.cpptools-0.14.2/ReleaseNotes.html","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/options.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/options.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/options.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/columnfamilyhandle.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/columnfamilyhandle.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/columnfamilyhandle.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/transactions/transaction_base.cc","external":"file:///Users/aretter/code/rocksdb/utilities/transactions/transaction_base.cc","path":"/Users/aretter/code/rocksdb/utilities/transactions/transaction_base.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/db.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/db.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/db.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/include/org_rocksdb_ColumnFamilyDescriptor.h","external":"file:///Users/aretter/code/rocksdb/java/include/org_rocksdb_ColumnFamilyDescriptor.h","path":"/Users/aretter/code/rocksdb/java/include/org_rocksdb_ColumnFamilyDescriptor.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/Makefile","external":"file:///Users/aretter/code/rocksdb/java/Makefile","path":"/Users/aretter/code/rocksdb/java/Makefile","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/src.mk","external":"file:///Users/aretter/code/rocksdb/src.mk","path":"/Users/aretter/code/rocksdb/src.mk","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/column_family.h","external":"file:///Users/aretter/code/rocksdb/db/column_family.h","path":"/Users/aretter/code/rocksdb/db/column_family.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/include/org_rocksdb_Transaction.h","external":"file:///Users/aretter/code/rocksdb/java/include/org_rocksdb_Transaction.h","path":"/Users/aretter/code/rocksdb/java/include/org_rocksdb_Transaction.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/transactions/pessimistic_transaction.h","external":"file:///Users/aretter/code/rocksdb/utilities/transactions/pessimistic_transaction.h","path":"/Users/aretter/code/rocksdb/utilities/transactions/pessimistic_transaction.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/transactions/pessimistic_transaction.cc","external":"file:///Users/aretter/code/rocksdb/utilities/transactions/pessimistic_transaction.cc","path":"/Users/aretter/code/rocksdb/utilities/transactions/pessimistic_transaction.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/transactions/optimistic_transaction.h","external":"file:///Users/aretter/code/rocksdb/utilities/transactions/optimistic_transaction.h","path":"/Users/aretter/code/rocksdb/utilities/transactions/optimistic_transaction.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/rocksdb.cc","external":"file:///Users/aretter/code/rocksdb/rocksdb.cc","path":"/Users/aretter/code/rocksdb/rocksdb.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/advanced_options.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/advanced_options.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/advanced_options.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/options.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/options.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/options.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/sst_file_writerjni.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/sst_file_writerjni.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/sst_file_writerjni.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/loggerjnicallback.h","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/loggerjnicallback.h","path":"/Users/aretter/code/rocksdb/java/rocksjni/loggerjnicallback.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/dbformat.h","external":"file:///Users/aretter/code/rocksdb/db/dbformat.h","path":"/Users/aretter/code/rocksdb/db/dbformat.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/table/sst_file_writer.cc","external":"file:///Users/aretter/code/rocksdb/table/sst_file_writer.cc","path":"/Users/aretter/code/rocksdb/table/sst_file_writer.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/slice.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/slice.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/slice.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/loggerjnicallback.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/loggerjnicallback.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/loggerjnicallback.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/merge_operator.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/merge_operator.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/merge_operator.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/write_batch.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/write_batch.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/write_batch.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/.vscode/c_cpp_properties.json","external":"file:///Users/aretter/code/rocksdb/.vscode/c_cpp_properties.json","path":"/Users/aretter/code/rocksdb/.vscode/c_cpp_properties.json","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/.vscode/launch.json","external":"file:///Users/aretter/code/rocksdb/.vscode/launch.json","path":"/Users/aretter/code/rocksdb/.vscode/launch.json","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/.vscode/extensions/ms-vscode.cpptools-0.13.0/ReleaseNotes.html","external":"file:///Users/aretter/.vscode/extensions/ms-vscode.cpptools-0.13.0/ReleaseNotes.html","path":"/Users/aretter/.vscode/extensions/ms-vscode.cpptools-0.13.0/ReleaseNotes.html","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/WriteBatch.java","external":"file:///Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/WriteBatch.java","path":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/WriteBatch.java","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/writebatchhandlerjnicallback.h","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/writebatchhandlerjnicallback.h","path":"/Users/aretter/code/rocksdb/java/rocksjni/writebatchhandlerjnicallback.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/writebatchhandlerjnicallback.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/writebatchhandlerjnicallback.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/writebatchhandlerjnicallback.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/write_batch.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/write_batch.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/write_batch.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/Makefile","external":"file:///Users/aretter/code/rocksdb/Makefile","path":"/Users/aretter/code/rocksdb/Makefile","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/transactions/transaction_base.h","external":"file:///Users/aretter/code/rocksdb/utilities/transactions/transaction_base.h","path":"/Users/aretter/code/rocksdb/utilities/transactions/transaction_base.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/write_batch.cc","external":"file:///Users/aretter/code/rocksdb/db/write_batch.cc","path":"/Users/aretter/code/rocksdb/db/write_batch.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/env_librados.md","external":"file:///Users/aretter/code/rocksdb/utilities/env_librados.md","path":"/Users/aretter/code/rocksdb/utilities/env_librados.md","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/env_librados.cc","external":"file:///Users/aretter/code/rocksdb/utilities/env_librados.cc","path":"/Users/aretter/code/rocksdb/utilities/env_librados.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/env_mirror.cc","external":"file:///Users/aretter/code/rocksdb/utilities/env_mirror.cc","path":"/Users/aretter/code/rocksdb/utilities/env_mirror.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/CMakeLists.txt","external":"file:///Users/aretter/code/rocksdb/java/CMakeLists.txt","path":"/Users/aretter/code/rocksdb/java/CMakeLists.txt","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/backupablejni.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/backupablejni.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/backupablejni.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/util_merge_operators_test.cc","external":"file:///Users/aretter/code/rocksdb/utilities/util_merge_operators_test.cc","path":"/Users/aretter/code/rocksdb/utilities/util_merge_operators_test.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/write_batch_test.cc","external":"file:///Users/aretter/code/rocksdb/db/write_batch_test.cc","path":"/Users/aretter/code/rocksdb/db/write_batch_test.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/memtable.h","external":"file:///Users/aretter/code/rocksdb/db/memtable.h","path":"/Users/aretter/code/rocksdb/db/memtable.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/write_batch_test.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/write_batch_test.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/write_batch_test.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/memtable.cc","external":"file:///Users/aretter/code/rocksdb/db/memtable.cc","path":"/Users/aretter/code/rocksdb/db/memtable.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/sst_file_writer.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/sst_file_writer.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/sst_file_writer.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/ratelimiterjni.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/ratelimiterjni.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/ratelimiterjni.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/build_tools/build_detect_platform","external":"file:///Users/aretter/code/rocksdb/build_tools/build_detect_platform","path":"/Users/aretter/code/rocksdb/build_tools/build_detect_platform","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/env_options.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/env_options.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/env_options.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/env.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/env.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/env.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/filter.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/filter.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/filter.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/build_tools/make_package.sh","external":"file:///Users/aretter/code/rocksdb/build_tools/make_package.sh","path":"/Users/aretter/code/rocksdb/build_tools/make_package.sh","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/db_test.cc","external":"file:///Users/aretter/code/rocksdb/db/db_test.cc","path":"/Users/aretter/code/rocksdb/db/db_test.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/merge_operators/string_append/stringappend.h","external":"file:///Users/aretter/code/rocksdb/utilities/merge_operators/string_append/stringappend.h","path":"/Users/aretter/code/rocksdb/utilities/merge_operators/string_append/stringappend.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/merge_operators/string_append/stringappend.cc","external":"file:///Users/aretter/code/rocksdb/utilities/merge_operators/string_append/stringappend.cc","path":"/Users/aretter/code/rocksdb/utilities/merge_operators/string_append/stringappend.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/merge_operators.h","external":"file:///Users/aretter/code/rocksdb/utilities/merge_operators.h","path":"/Users/aretter/code/rocksdb/utilities/merge_operators.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/merge_operator.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/merge_operator.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/merge_operator.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/utilities/backupable_db.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/utilities/backupable_db.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/utilities/backupable_db.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/BackupableDBOptions.java","external":"file:///Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/BackupableDBOptions.java","path":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/BackupableDBOptions.java","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/RestoreOptions.java","external":"file:///Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/RestoreOptions.java","path":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/RestoreOptions.java","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/restorejni.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/restorejni.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/restorejni.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/FlushOptions.java","external":"file:///Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/FlushOptions.java","path":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/FlushOptions.java","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/env.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/env.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/env.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/cache.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/cache.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/cache.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/transaction_log.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/transaction_log.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/transaction_log.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/universal_compaction.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/universal_compaction.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/universal_compaction.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/benchmark/src/main/java/org/rocksdb/benchmark/DbBenchmark.java","external":"file:///Users/aretter/code/rocksdb/java/benchmark/src/main/java/org/rocksdb/benchmark/DbBenchmark.java","path":"/Users/aretter/code/rocksdb/java/benchmark/src/main/java/org/rocksdb/benchmark/DbBenchmark.java","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/column_family.cc","external":"file:///Users/aretter/code/rocksdb/db/column_family.cc","path":"/Users/aretter/code/rocksdb/db/column_family.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/utilities/options_util.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/utilities/options_util.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/utilities/options_util.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/utilities/option_change_migration.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/utilities/option_change_migration.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/utilities/option_change_migration.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/options/options_util.cc","external":"file:///Users/aretter/code/rocksdb/utilities/options/options_util.cc","path":"/Users/aretter/code/rocksdb/utilities/options/options_util.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/Documents/exist-versioning-release-v4.md","external":"file:///Users/aretter/Documents/exist-versioning-release-v4.md","path":"/Users/aretter/Documents/exist-versioning-release-v4.md","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc","external":"file:///Users/aretter/code/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc","path":"/Users/aretter/code/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/Documents/exist-versioning-release-v3.md","external":"file:///Users/aretter/Documents/exist-versioning-release-v3.md","path":"/Users/aretter/Documents/exist-versioning-release-v3.md","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/Documents/exist-versioning-release-v2.md","external":"file:///Users/aretter/Documents/exist-versioning-release-v2.md","path":"/Users/aretter/Documents/exist-versioning-release-v2.md","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/Documents/exist-versioning-release.md","external":"file:///Users/aretter/Documents/exist-versioning-release.md","path":"/Users/aretter/Documents/exist-versioning-release.md","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/rate_limiter.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/rate_limiter.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/rate_limiter.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/util/bloom.cc","external":"file:///Users/aretter/code/rocksdb/util/bloom.cc","path":"/Users/aretter/code/rocksdb/util/bloom.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/table.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/table.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/table.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/table.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/table.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/table.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/utilities/leveldb_options.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/utilities/leveldb_options.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/utilities/leveldb_options.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/leveldb_options/leveldb_options.cc","external":"file:///Users/aretter/code/rocksdb/utilities/leveldb_options/leveldb_options.cc","path":"/Users/aretter/code/rocksdb/utilities/leveldb_options/leveldb_options.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/table/plain_table_factory.cc","external":"file:///Users/aretter/code/rocksdb/table/plain_table_factory.cc","path":"/Users/aretter/code/rocksdb/table/plain_table_factory.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/write_batch_with_index.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/write_batch_with_index.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/write_batch_with_index.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/slice.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/slice.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/slice.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/util/slice.cc","external":"file:///Users/aretter/code/rocksdb/util/slice.cc","path":"/Users/aretter/code/rocksdb/util/slice.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/util/coding.h","external":"file:///Users/aretter/code/rocksdb/util/coding.h","path":"/Users/aretter/code/rocksdb/util/coding.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc","external":"file:///Users/aretter/code/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc","path":"/Users/aretter/code/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/WBWIRocksIterator.java","external":"file:///Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/WBWIRocksIterator.java","path":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/WBWIRocksIterator.java","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/utilities/write_batch_with_index.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/utilities/write_batch_with_index.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/utilities/write_batch_with_index.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/Slice.java","external":"file:///Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/Slice.java","path":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/Slice.java","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/src/test/java/org/rocksdb/util/BytewiseComparatorTest.java","external":"file:///Users/aretter/code/rocksdb/java/src/test/java/org/rocksdb/util/BytewiseComparatorTest.java","path":"/Users/aretter/code/rocksdb/java/src/test/java/org/rocksdb/util/BytewiseComparatorTest.java","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/ttl.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/ttl.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/ttl.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/statistics.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/statistics.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/statistics.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/snapshot.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/snapshot.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/snapshot.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/third-party/gtest-1.7.0/fused-src/gtest/gtest.h","external":"file:///Users/aretter/code/rocksdb/third-party/gtest-1.7.0/fused-src/gtest/gtest.h","path":"/Users/aretter/code/rocksdb/third-party/gtest-1.7.0/fused-src/gtest/gtest.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/transaction_log.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/transaction_log.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/transaction_log.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/TransactionLogIterator.java","external":"file:///Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/TransactionLogIterator.java","path":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/TransactionLogIterator.java","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/snapshot_impl.cc","external":"file:///Users/aretter/code/rocksdb/db/snapshot_impl.cc","path":"/Users/aretter/code/rocksdb/db/snapshot_impl.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/adam.patch","external":"file:///Users/aretter/code/rocksdb/adam.patch","path":"/Users/aretter/code/rocksdb/adam.patch","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/comparator1.patch","external":"file:///Users/aretter/code/rocksdb/comparator1.patch","path":"/Users/aretter/code/rocksdb/comparator1.patch","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/include/jni.h","external":"file:///Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/include/jni.h","path":"/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/include/jni.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/utilities/stackable_db.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/utilities/stackable_db.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/utilities/stackable_db.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/include/darwin/jni_md.h","external":"file:///Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/include/darwin/jni_md.h","path":"/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/include/darwin/jni_md.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/status.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/status.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/status.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/util/status.cc","external":"file:///Users/aretter/code/rocksdb/util/status.cc","path":"/Users/aretter/code/rocksdb/util/status.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/db_impl.h","external":"file:///Users/aretter/code/rocksdb/db/db_impl.h","path":"/Users/aretter/code/rocksdb/db/db_impl.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/db_impl.cc","external":"file:///Users/aretter/code/rocksdb/db/db_impl.cc","path":"/Users/aretter/code/rocksdb/db/db_impl.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/tools/db_bench_tool.cc","external":"file:///Users/aretter/code/rocksdb/tools/db_bench_tool.cc","path":"/Users/aretter/code/rocksdb/tools/db_bench_tool.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/db_test_util.h","external":"file:///Users/aretter/code/rocksdb/db/db_test_util.h","path":"/Users/aretter/code/rocksdb/db/db_test_util.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/db_test_util.cc","external":"file:///Users/aretter/code/rocksdb/db/db_test_util.cc","path":"/Users/aretter/code/rocksdb/db/db_test_util.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/compaction_filter.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/compaction_filter.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/compaction_filter.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/transaction_log_impl.cc","external":"file:///Users/aretter/code/rocksdb/db/transaction_log_impl.cc","path":"/Users/aretter/code/rocksdb/db/transaction_log_impl.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/exist-algolia-index/src/main/scala/org/humanistika/exist/index/algolia/AlgoliaStreamListener.scala","external":"file:///Users/aretter/code/exist-algolia-index/src/main/scala/org/humanistika/exist/index/algolia/AlgoliaStreamListener.scala","path":"/Users/aretter/code/exist-algolia-index/src/main/scala/org/humanistika/exist/index/algolia/AlgoliaStreamListener.scala","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/InfoLogLevel.java","external":"file:///Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/InfoLogLevel.java","path":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/InfoLogLevel.java","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/statistics.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/statistics.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/statistics.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/metadata.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/metadata.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/metadata.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/merge_operator.cc","external":"file:///Users/aretter/code/rocksdb/db/merge_operator.cc","path":"/Users/aretter/code/rocksdb/db/merge_operator.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/util/heap.h","external":"file:///Users/aretter/code/rocksdb/util/heap.h","path":"/Users/aretter/code/rocksdb/util/heap.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/merge_operators/uint64add.cc","external":"file:///Users/aretter/code/rocksdb/utilities/merge_operators/uint64add.cc","path":"/Users/aretter/code/rocksdb/utilities/merge_operators/uint64add.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/merge_operators/put.cc","external":"file:///Users/aretter/code/rocksdb/utilities/merge_operators/put.cc","path":"/Users/aretter/code/rocksdb/utilities/merge_operators/put.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/util/event_logger.cc","external":"file:///Users/aretter/code/rocksdb/util/event_logger.cc","path":"/Users/aretter/code/rocksdb/util/event_logger.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/tools/db_bench.cc","external":"file:///Users/aretter/code/rocksdb/tools/db_bench.cc","path":"/Users/aretter/code/rocksdb/tools/db_bench.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/rocksjni/iterator.cc","external":"file:///Users/aretter/code/rocksdb/java/rocksjni/iterator.cc","path":"/Users/aretter/code/rocksdb/java/rocksjni/iterator.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/include/darwin/jni_md.h","external":"file:///Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/include/darwin/jni_md.h","path":"/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/include/darwin/jni_md.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/src/test/java/org/rocksdb/WriteBatchTest.java","external":"file:///Users/aretter/code/rocksdb/java/src/test/java/org/rocksdb/WriteBatchTest.java","path":"/Users/aretter/code/rocksdb/java/src/test/java/org/rocksdb/WriteBatchTest.java","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/merge_operators/native_value_index/either_test.cc.BAK","external":"file:///Users/aretter/code/rocksdb/utilities/merge_operators/native_value_index/either_test.cc.BAK","path":"/Users/aretter/code/rocksdb/utilities/merge_operators/native_value_index/either_test.cc.BAK","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/usr/include/sys/_types/_size_t.h","external":"file:///usr/include/sys/_types/_size_t.h","path":"/usr/include/sys/_types/_size_t.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/src/test/java/org/rocksdb/SliceTest.java","external":"file:///Users/aretter/code/rocksdb/java/src/test/java/org/rocksdb/SliceTest.java","path":"/Users/aretter/code/rocksdb/java/src/test/java/org/rocksdb/SliceTest.java","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/Library/Application Support/Code/User/settings.json","external":"file:///Users/aretter/Library/Application%20Support/Code/User/settings.json","path":"/Users/aretter/Library/Application Support/Code/User/settings.json","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/.vscode/settings.json","external":"file:///Users/aretter/code/rocksdb/.vscode/settings.json","path":"/Users/aretter/code/rocksdb/.vscode/settings.json","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/DBOptions.java","external":"file:///Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/DBOptions.java","path":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/DBOptions.java","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/db_iter.cc","external":"file:///Users/aretter/code/rocksdb/db/db_iter.cc","path":"/Users/aretter/code/rocksdb/db/db_iter.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/db_iterator_test.cc","external":"file:///Users/aretter/code/rocksdb/db/db_iterator_test.cc","path":"/Users/aretter/code/rocksdb/db/db_iterator_test.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/column_family_test.cc","external":"file:///Users/aretter/code/rocksdb/db/column_family_test.cc","path":"/Users/aretter/code/rocksdb/db/column_family_test.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/managed_iterator.cc","external":"file:///Users/aretter/code/rocksdb/db/managed_iterator.cc","path":"/Users/aretter/code/rocksdb/db/managed_iterator.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/iterator.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/iterator.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/iterator.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/manual_compaction_test.cc","external":"file:///Users/aretter/code/rocksdb/db/manual_compaction_test.cc","path":"/Users/aretter/code/rocksdb/db/manual_compaction_test.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/util/rate_limiter.h","external":"file:///Users/aretter/code/rocksdb/util/rate_limiter.h","path":"/Users/aretter/code/rocksdb/util/rate_limiter.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/util/rate_limiter.cc","external":"file:///Users/aretter/code/rocksdb/util/rate_limiter.cc","path":"/Users/aretter/code/rocksdb/util/rate_limiter.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/merge_operators/string_append/stringappend2.cc","external":"file:///Users/aretter/code/rocksdb/utilities/merge_operators/string_append/stringappend2.cc","path":"/Users/aretter/code/rocksdb/utilities/merge_operators/string_append/stringappend2.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"","external":"file://%2Fusers%2Faretter%2Fcode%2Frocksdb%2Fjava%2Frocksjni%2Fportal.h","scheme":"file","authority":"/users/aretter/code/rocksdb/java/rocksjni/portal.h"}},{"resourceJSON":{"$mid":1,"fsPath":"","external":"file://%2Fusers%2Faretter%2Fcode%2Frocksdb%2Finclude%2Frocksdb%2Fstatus.h","scheme":"file","authority":"/users/aretter/code/rocksdb/include/rocksdb/status.h"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/Logger.java","external":"file:///Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/Logger.java","path":"/Users/aretter/code/rocksdb/java/src/main/java/org/rocksdb/Logger.java","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"","external":"file://%2Fusers%2Faretter%2Fcode%2Frocksdb%2Finclude%2Frocksdb%2Futilities%2Fstackable_db.h","scheme":"file","authority":"/users/aretter/code/rocksdb/include/rocksdb/utilities/stackable_db.h"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/utilities/optimistic_transaction_db.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"","external":"file://%2Fusers%2Faretter%2Fcode%2Frocksdb%2Fdb%2Fcolumn_family.h","scheme":"file","authority":"/users/aretter/code/rocksdb/db/column_family.h"}},{"resourceJSON":{"$mid":1,"fsPath":"","external":"file://%2Fusers%2Faretter%2Fcode%2Frocksdb%2Fdb%2Fmemtable.h","scheme":"file","authority":"/users/aretter/code/rocksdb/db/memtable.h"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/comparator.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/comparator.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/comparator.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/util/comparator.cc","external":"file:///Users/aretter/code/rocksdb/util/comparator.cc","path":"/Users/aretter/code/rocksdb/util/comparator.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/dbformat.cc","external":"file:///Users/aretter/code/rocksdb/db/dbformat.cc","path":"/Users/aretter/code/rocksdb/db/dbformat.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"","external":"file://%2Fusers%2Faretter%2Fcode%2Frocksdb%2Fdb%2Fdbformat.h","scheme":"file","authority":"/users/aretter/code/rocksdb/db/dbformat.h"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/port/port_posix.cc","external":"file:///Users/aretter/code/rocksdb/port/port_posix.cc","path":"/Users/aretter/code/rocksdb/port/port_posix.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/table/table_test.cc","external":"file:///Users/aretter/code/rocksdb/table/table_test.cc","path":"/Users/aretter/code/rocksdb/table/table_test.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"","external":"file://%2Fusers%2Faretter%2Fcode%2Frocksdb%2Finclude%2Frocksdb%2Fslice.h","scheme":"file","authority":"/users/aretter/code/rocksdb/include/rocksdb/slice.h"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc","external":"file:///Users/aretter/code/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc","path":"/Users/aretter/code/rocksdb/utilities/merge_operators/string_append/stringappend_test.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/wal_manager_test.cc","external":"file:///Users/aretter/code/rocksdb/db/wal_manager_test.cc","path":"/Users/aretter/code/rocksdb/db/wal_manager_test.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/compact_files_test.cc","external":"file:///Users/aretter/code/rocksdb/db/compact_files_test.cc","path":"/Users/aretter/code/rocksdb/db/compact_files_test.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/compaction_job_test.cc","external":"file:///Users/aretter/code/rocksdb/db/compaction_job_test.cc","path":"/Users/aretter/code/rocksdb/db/compaction_job_test.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/db/compaction_picker_test.cc","external":"file:///Users/aretter/code/rocksdb/db/compaction_picker_test.cc","path":"/Users/aretter/code/rocksdb/db/compaction_picker_test.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/util/log_buffer.cc","external":"file:///Users/aretter/code/rocksdb/util/log_buffer.cc","path":"/Users/aretter/code/rocksdb/util/log_buffer.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/src/test/java/org/rocksdb/StatsCallbackMock.java","external":"file:///Users/aretter/code/rocksdb/java/src/test/java/org/rocksdb/StatsCallbackMock.java","path":"/Users/aretter/code/rocksdb/java/src/test/java/org/rocksdb/StatsCallbackMock.java","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/java/src/test/java/org/rocksdb/StatisticsCollectorTest.java","external":"file:///Users/aretter/code/rocksdb/java/src/test/java/org/rocksdb/StatisticsCollectorTest.java","path":"/Users/aretter/code/rocksdb/java/src/test/java/org/rocksdb/StatisticsCollectorTest.java","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/slice_transform.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/slice_transform.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/slice_transform.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc","external":"file:///Users/aretter/code/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc","path":"/Users/aretter/code/rocksdb/utilities/write_batch_with_index/write_batch_with_index_test.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/include/rocksdb/write_batch_base.h","external":"file:///Users/aretter/code/rocksdb/include/rocksdb/write_batch_base.h","path":"/Users/aretter/code/rocksdb/include/rocksdb/write_batch_base.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/wbwi-merge-test.cc","external":"file:///Users/aretter/code/rocksdb/wbwi-merge-test.cc","path":"/Users/aretter/code/rocksdb/wbwi-merge-test.cc","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"","external":"file://%2Fusers%2Faretter%2Fcode%2Frocksdb%2Fthird-party%2Fgtest-1.7.0%2Ffused-src%2Fgtest%2Fgtest.h","scheme":"file","authority":"/users/aretter/code/rocksdb/third-party/gtest-1.7.0/fused-src/gtest/gtest.h"}},{"resourceJSON":{"$mid":1,"fsPath":"/Users/aretter/code/rocksdb/utilities/merge_operators/string_append/stringappend2.h","external":"file:///Users/aretter/code/rocksdb/utilities/merge_operators/string_append/stringappend2.h","path":"/Users/aretter/code/rocksdb/utilities/merge_operators/string_append/stringappend2.h","scheme":"file"}},{"resourceJSON":{"$mid":1,"fsPath":"","external":"file://%2Fusers%2Faretter%2Fcode%2Frocksdb%2Finclude%2Frocksdb%2Fenv.h","scheme":"file","authority":"/users/aretter/code/rocksdb/include/rocksdb/env.h"}},{"resourceJSON":{"$mid":1,"fsPath":"","external":"file://%2Fusers%2Faretter%2Fcode%2Frocksdb%2Finclude%2Frocksdb%2Fmerge_operator.h","scheme":"file","authority":"/users/aretter/code/rocksdb/include/rocksdb/merge_operator.h"}},{"resourceJSON":{"$mid":1,"fsPath":"","external":"file://%2Fusers%2Faretter%2Fcode%2Frocksdb%2Fdb%2Fcompaction.h","scheme":"file","authority":"/users/aretter/code/rocksdb/db/compaction.h"}}] |
@bpasero I have not been able to reproduce this yet on a different |
@jrieken I think your theory might be right: {
"resourceJSON":{
"$mid":1,
"fsPath":"",
"external":"file://%2Fusers%2Faretter%2Fcode%2Frocksdb%2Fjava%2Frocksjni%2Fportal.h",
"scheme":"file",
"authority":"/users/aretter/code/rocksdb/java/rocksjni/portal.h"
}
} That seems to be a URI where the " I am still not sure how such a URI can be crafted, e.g. tried this:
Also, opening such a URI as editor will fail immediately and as such we remove the history entry again right after, so it should never appear as history entry unless it can be opened properly. Tried with this code from core: const uri = URI.revive({
"$mid": 1,
"fsPath": "",
"external": "file://%2Fusers%2Faretter%2Fcode%2Frocksdb%2Fjava%2Frocksjni%2Fportal.h",
"scheme": "file",
"authority": "/users/aretter/code/rocksdb/java/rocksjni/portal.h"
});
return this.editorService.openEditor({ resource: uri }); |
@adamretter yeah, you can also use our insiders build as a workaround until we pushed the fix to stable. |
It must do that because the
URI 101 - The value of I believe the problem is somewhere else, not in calling toString or toJSON but somehow a URI is constructed with the path as authority.... Question is where/how does happen. @bpasero Are there other ways to get into the history? Does this only happen when an editor has been opened successfully? |
Will check... |
Whenever an editor changes, the history will check if the resource of the editor that was opened can be handled by the file service to decide if the resource should be added to the history or not. This is not a very good check because it is possible to e.g. open a markdown preview on a file and the file that is being previewed would actually be added into the history. Another check is probably required to verify that the editor that opened is a file editor input. Given that, I am able to open a markdown preview from an extension and trick the history from accepting the URI of that preview into the history. However, I am still not able to produce a malformed URI and get it into the history, because the preview will show an error directly when the underlying resource cannot be found. Thing is, the history will remove the resource directly when detecting that the editor failed to open. I will push a change to check for file editor inputs to enter the history but it might not actually fix this issue. @adamretter let us know if you ever see this again with current stable (where the error still exists) and you can remember how you got into that state. |
This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines. Happy Coding! |
@bpasero I haven't seen the issue since I first reported it. So I guess it is fixed. Thanks to everyone who spent time looking into this :-) |
Steps to Reproduce:
Click the
Go
menu, thenGo to File...
An error drop down appears which says:
[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character
.You can only click
Close
on the error.The command drop down is now visible, but it is impossible to close or dismiss.
Does this issue occur when all extensions are disabled?: Yes
The text was updated successfully, but these errors were encountered: