🧰 iBrowe Build & Launch Troubleshooting Guide

This document outlines common problems developers may encounter during iBrowe development and how to resolve them efficiently. Adapted from Brave’s engineering docs.


❌ Startup or Build Failures

1. Database Lock Errors

Sample log:


\[48058:82435:0827/195241.326071\:ERROR\:database.cc(1821)] Web sqlite error 5, errno 0: database is locked, sql: SELECT COUNT(\*) FROM sqlite\_master
\[48058:82435:0827/195241.326160\:FATAL\:statement.cc(50)] Cannot call mutating statements on an invalid statement.

🛠️ Solution:

Check if another browser instance is using the same profile:

ps aux | grep iBrowe-Browser-Development

Kill any existing processes:

pkill -f iBrowe-Browser-Development

Or reboot your machine and try again.


2. Git Initialization: badTimezone Error

Error example:

error: object ...: badTimezone: invalid author/committer line - bad time zone

🛠️ Fix: Ensure your ~/.gitconfig does not contain:

[transfer]
    fsckobjects = true
[fetch]
    fsckobjects = true
[receive]
    fsckobjects = true

3. Proxy Warnings from depot_tools

Warning:

NOTICE: You have PROXY values set in your environment...

🛠️ Fix: Add this to your ~/.bashrc:

export NO_AUTH_BOTO_CONFIG="${HOME}/.boto"

Then create ~/.boto with:

[Boto]

4. npm run sync -- --all Fails

🧩 Did you forget to pull the latest code?

git pull origin main

Still broken? Try deleting build output:

rm -rf src/out

5. Rustup Build Error

Failure output:

FAILED: gen/challenge_bypass_ristretto/.../libchallenge_bypass_ristretto.a
python ../../ibrowe/script/cargo.py ...
Traceback ...

🛠️ Fix: Clean up and re-init:

rm -rf src/out src/ibrowe/vendor src/ibrowe/build
npm run init
npm run build

6. Rust Toolchain Mismatch

If Rust version bumps break builds:

rm -rf src/ibrowe/build/rustup
npm run sync

7. GitHub Connection Dropped

Error:

Connection to github.com closed by remote host

🛠️ Fix: Update your SSH config (~/.ssh/config):

Host github.com
    ServerAliveInterval 60
    ServerAliveCountMax 100

📎 Source: Rewritten and restructured from Brave’s internal troubleshooting playbook, adapted for iBrowe development workflows.