1

Given complex application like for example chromium, does anyone now convenient (and actually working) method of tracing it's syscalls?

What i am doing

Starting chromium in temporary profile but with several extensions enabled, like ghostery (and several others but one is enough to test)
chromium-browser --temp-profile --enable-plugins --no-first-run --disable-first-run-ui --no-default-browser-check --load-extension=/home/MYPROFILE/.config/chromium/Default/Extensions/mlomiejdfkolichcflejclcbmpeaniij/3.1.48_0

What i want to do

I want to know when, and from which file does chromium run start pages that are created/launched on first run by extensions. Each time chromium runs that temporary profile Ghostery opens two start pages - surveymonkey and it's configuration. Some other extensions do that too. I want that gone :) so I'd be happy with any solution, editing configuration etc.

What i tried

  1. I've checked commandline switches if there is any that could prevent opening any pages by extensions during chromium startup, but I haven't found any.

  2. I've checked that chromium extensions in theirs manifest.json have options.html page, which supposedly is run on first run. I've removed this json entry, yet pages still appeared.

  3. I've tried to strace chromium process, using:
    a) $ strace -F -v -o "/tmp/chromium_run_<backtick>date +%F_%T<backtick>" chromium-browser --temp-profile --enable-plugins --no-first-run --disable-first-run-ui --no-default-browser-check --load-extension=/home/MYPROFILE/.config/chromium/Default/Extensions/mlomiejdfkolichcflejclcbmpeaniij/3.1.48_0 but chromium sandbox was fighting back, saying something like

    Using PPAPI flash. The setuid sandbox is not running as root. Common causes:

    • An unprivileged process using ptrace on it, like a debugger.
    • A parent process set prctl(PR_SET_NO_NEW_PRIVS, ...) Failed to move to new namespace: PID namespaces supported, Network namespace supported, but failed: errno = Operation not permitted

    b) $ sudo strace -F -v -o "/tmp/chromium_run_<backtick>date +%F_%T<backtick>" chromium-browser --temp-profile --enable-plugins --no-first-run --disable-first-run-ui --no-default-browser-check --load-extension=/home/MYPROFILE/.config/chromium/Default/Extensions/mlomiejdfkolichcflejclcbmpeaniij/3.1.48_0 threw no errors, but after several hundred kilobytes of log there was no open or anything on file i was expecting, nor chromium application window appeared as well, it hanged somewhere ( waitpid(3, ).

Any other ideas that come to my mind are both time consuming

  • groking chromium sources to find guilty line
  • setting up chromium build locally and build chromium myself, with symbols and have a try with gdb.

I'd appreciate any advice.

5
  • investigate dtrace or sysdig Commented Nov 26, 2015 at 21:18
  • Well, I suppose perf could do too, but this is like using a cannon to kill a fly... Commented Nov 26, 2015 at 21:22
  • Does your chromium support the --no-sandbox option? Commented Nov 27, 2015 at 10:17
  • You could also try running the strace as root. That way it likely won't disable setuid programs. Something like strace -yourstraceoptions su youruid chromium -yourchromiumoptions Commented Nov 27, 2015 at 10:22
  • Well, funny - chromium said "using not supported flag --no-sandbox" which clearly states that it is supported :) with no-sandbox it started - leaving nice 52MB log to check. Regarding second comment - in point b) I've tried running sudo strace -straceflags chromium -chromiumflags but chromium didn't even start. Commented Nov 27, 2015 at 16:47

0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.