Disabling of automatic sorting in the symbols view breaks column sorting

Open
#7,997 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
cpp

Research direction

Start by reproducing the failure in the Symbols view using a DYLD Shared Cache and a loaded UIKitCore, including disabling and re-enabling automatic sorting. Trace the Symbols view sorting behavior during and after analysis; done means column sorting works again after automatic sorting is re-enabled, including for other binaries.

Written by the indexing model from the issue text.

Description

Component: UI Effort: Low Impact: High UI: Symbols

Version and Platform (required):

  • Binary Ninja Version: 5.3.9208-dev Ultimate (8b909a0c)
  • Edition: Ultimate
  • OS: macOS
  • OS Version: 26.3
  • CPU Architecture: M1

Bug Description:
Sorting symbols in the symbol view by column seems to randomly break, although it is likely caused by automatic sorting being disabled. Re-enabling automatic sorting does not fix this. Its a useful feature to be able to sort symbols in alphabetical order or by address but often I find I can't.

Steps To Reproduce:
I'm not 100% sure if this will reproduce each time as I'm not sure about the exact cause:

  1. Open a copy of the DYLD Shared Cache
  2. Wait for initial analysis to complete
  3. Notice that the symbols view can be sorted by column still
  4. Load UIKitCore
  5. Wait for automatic sorting of the symbols view to be disabled
  6. Notice the column sorting arrow will have disappeared
  7. Wait for analysis to finish
  8. Click on a column in the symbols view and notice that it does nothing
  9. Re-enabled automatic sorting
  10. Observe that sorting by column is still broken

Expected Behavior:
That column sorting in the symbols view can always be done even if it requires re-enabling automatic sorting. Its not a big deal that it can't be during analysis, but afterwards it should work again.

Additional Information:
This applies to other binaries, not just the DYLD Shared Cache, its just an easy example because the initial load doesn't break the sorting but loading certain libraries can.

Dominant language
C++
Stars
1.3k
Forks
298
Avg merge
5d 5h
Merged PRs (30d)
19

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Vector35/binaryninja-api

All issues in Vector35/binaryninja-api

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.