(32-bit system)

Posted a Q/A earlier regarding Chrome crashing because of exhausted limit in open files.

Chrome has since run more smooth, (after increasing limit), but still crashes from time to time.

Crash reports

Looking at the crash reports it repeatedly have something like:

 Segfault happened at: 0xb616c30f:  movl   $0x1337,0x0
 PC (0xb616c30f) ok
 source "$0x1337" ok
 destination "0x0" (0x00000000) not located in a known VMA region (needed writable region)!
 Stack memory exhausted (SP below stack segment)
SegvReason: writing NULL VMA

Watchdog entries in log typically say:

... Watchdog[3100]: segfault at 0 ip b613437f sp af8e8cc0 error 6 in chrome[b20d5000+5689000]

From /proc/[PID]/maps in crash file there is:

bfd58000-bfd78000 rwxp 00000000 00:00 0          [stack]

which concludes 128K stack? (0xbfd78000 - 0xbfd58000 = 131072)

From /proc/[PID]/status in crash file there is:

 FDSize:    1024

though I have set soft limit to 32K.

But guess this is for the process caught in the report and not the children etc.

Limits error

Now, after latest update to Version 40.0.2214.94 there is a new issue. After a while (I'm running chrome from shell) there are repeated entries of:

getrlimit(RLIMIT_NOFILE) failed

I have set limit for open files 32768 by:

ulimit -Sn 32768

lsof counting

I find it hard to detect how many files Chrome actually have open due to spawning and reuse etc. but it looks like it is using quite a few. losof includes anything but out of curiosity I did a test to see how many (greedy) entries was added.

Before starting Chrome losf | wc -l yielded about 55K lines. That was with FireFox open holding 80+ tabs in multiple windows + quite a lot of other applications.

After starting Chrome the lsof count is going kind of high:

                      lsof | wc -l
Pre chrome         :  55,524
 1 window   1 tab  :  79,820
 1 window  15 tabs : 105,308
 2 windows 30 tabs : 141,076
 3 windows 40 tabs : 187,285

Trying to only looking at processes named chrome (now) with 1 window 2 tabs:

sudo lsof -a -p $(pgrep chrome | paste -sd "," -) | wc -l

gives 4380.


My question is if this could have anything to do with the getrlimit errors, (and / or perhaps the SigSegv's).

Is that amount of entries in lsof normal / to be expected for an application like Chrome?

Is there something I can do to "fix" the getrlimit errors?

Is it perhaps because I set soft limit to high?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.