Hmm. Could you try using the command I posted? Because when I do, Brave launches without reporting any errors:
HnkAir:~ hnktong$ open -a '/Applications/Brave Browser.app' --args --disable-gpu
HnkAir:~ hnktong$
but when I do it your way, I get errors
Last login: Thu Feb 27 12:28:38 on ttys000
HnkAir:~ hnktong$ sudo /Applications/Brave\ Browser.app/Contents/MacOS/Brave\ Browser --disable-gpu
Password:
[41892:775:0227/174932.192317:ERROR:dock.mm(168)] persistent_apps is not an NSArray
[41892:38915:0227/174933.157716:ERROR:rewards_service_impl.cc(206)] Failed to read file: /var/root/Library/Application Support/BraveSoftware/Brave-Browser/Default/ledger_state
[41898:775:0227/174933.199581:ERROR:ledger_impl.cc(102)] Failed to initialize wallet
2020-02-27 17:49:36.668 Brave Browser[41892:1236188] Persistent UI failed to open file file:///var/root/Library/Saved%20Application%20State/com.brave.Browser.savedState/window_2.data: No such file or directory (2)
HnkAir:~ hnktong$
Without sudo:
HnkAir:~ hnktong$ /Applications/Brave\ Browser.app/Contents/MacOS/Brave\ Browser --disable-gpu
[41642:44803:0227/172736.228824:ERROR:rewards_service_impl.cc(206)] Failed to read file: /Users/hnktong/Library/Application Support/BraveSoftware/Brave-Browser/Default/ledger_state
[41651:775:0227/172736.347864:ERROR:ledger_impl.cc(102)] Failed to initialize wallet
[41642:775:0227/172740.228213:ERROR:CONSOLE(0)] "Unchecked runtime.lastError: Cannot access contents of url "chrome://components/". Extension manifest must request permission to access this host.", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/_generated_background_page.html (0)
[41642:775:0227/172740.228553:ERROR:CONSOLE(0)] "Unchecked runtime.lastError: Cannot access contents of url "chrome://settings/help". Extension manifest must request permission to access this host.", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/_generated_background_page.html (0)
[41642:775:0227/172740.427487:ERROR:CONSOLE(4)] "Polymer is already defined.", source: chrome://settings/crisper.js (4)
[41642:775:0227/172835.280561:ERROR:gcm_channel_status_request.cc(145)] GCM channel request failed.
[41642:775:0227/172903.696519:ERROR:gcm_channel_status_request.cc(145)] GCM channel request failed.
[41642:775:0227/173001.408869:ERROR:gcm_channel_status_request.cc(145)] GCM channel request failed.
[41642:775:0227/173128.109061:ERROR:gcm_channel_status_request.cc(145)] GCM channel request failed.
[41642:775:0227/173430.795090:ERROR:gcm_channel_status_request.cc(145)] GCM channel request failed.
I’m wondering if by going into the app’s package contents that it’s messing with the way things are called and the permissions the app has. Yes, you’d think using sudo would take care of that, but …
Also, you might try moving your profile folder (usually “Default” unless you created another one you use regularly) out of ~/Library/Application Support/BraveSoftware/Brave-Browser/User Data
to your Documents or something, which protects your bookmarks and such, then delete the Brave-Browser folder and try relaunching Brave normally (from Applications folder or Dock). You probably know this, but the tilde ("~") at the beginning of the path represents your home folder.
My thinking is that if the state of the application when it crashed is somehow being restored at launch, such as by loading the tabs that were present at crash, that this might be what’s preventing it from running properly now.
Also, apologies if this has been asked earlier, but are you running any security, AV, or antimalware software? I run Malware Bytes and CleanMyMac without negative results, but, at least on the Windows side, software like Kaspersky often creates problems for Brave.