Weird crashes on pthread_create/fork returning EAGAIN |
|||
Issue descriptionUserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36 Steps to reproduce the problem: 1. Observe the following on stderr: [3,426748480:10:06:40.278696] Native Client module will be loaded at base address 0x0000524400000000 [29505:29505:0409/120641:ERROR:desktop_window_tree_host_x11.cc(1627)] Not implemented reached in void views::DesktopWindowTreeHostX11::MapWindow(ui::WindowShowState) Fontconfig error: Cannot load default config file Fontconfig error: Cannot load default config file Fontconfig error: Cannot load default config file [29505:29505:0409/121223:ERROR:CONSOLE(0)] "Not allowed to load local resource: file:///tmp/bahn.html", source: https://www.google.com/_/chrome/newtab?espv=2&ie=UTF-8 (0) [29505:29505:0409/121230:ERROR:CONSOLE(72)] "Uncaught TypeError: Cannot read property 'addExtensions' of undefined", source: (72) [29505:29505:0409/121233:ERROR:CONSOLE(72)] "Uncaught TypeError: Cannot read property 'addExtensions' of undefined", source: (72) Fontconfig error: Cannot load default config file [636:636:0409/121318:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [29:29:0409/121320:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [636:636:0409/121321:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [711:711:0409/121518:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [711:711:0409/121518:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [711:711:0409/121518:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [711:711:0409/121518:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [711:711:0409/121518:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [711:711:0409/121518:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [29505:29533:0409/121519:ERROR:zygote_host_impl_linux.cc(385)] Did not receive ping from zygote child [6:6:0409/121519:ERROR:zygote_linux.cc(629)] Zygote could not fork: process_type renderer numfds 5 child_pid -1 [29505:29505:0409/121519:ERROR:child_process_launcher.cc(443)] Failed to launch child process [711:711:0409/121519:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [727:727:0409/121551:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [29605:29605:0409/121551:ERROR:gles2_cmd_decoder.cc(13979)] [.CommandBufferContext.Compositor-0x22a67c2469a0]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name [29605:29605:0409/121551:ERROR:gles2_cmd_decoder.cc(7639)] [.CommandBufferContext.Compositor-0x22a67c2469a0]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [29605:29605:0409/121551:ERROR:gles2_cmd_decoder.cc(13979)] [.CommandBufferContext.Compositor-0x22a67c2469a0]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name [29605:29605:0409/121551:ERROR:gles2_cmd_decoder.cc(7639)] [.CommandBufferContext.Compositor-0x22a67c2469a0]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering. [746:746:0409/121552:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [746:746:0409/121552:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [746:746:0409/121552:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [746:746:0409/121553:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [746:746:0409/121553:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [746:746:0409/121553:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [746:746:0409/121553:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [746:746:0409/121553:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [746:746:0409/121553:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [762:762:0409/121555:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [762:762:0409/121555:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [762:762:0409/121555:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable [29505:29538:0409/121555:ERROR:platform_thread_posix.cc(115)] pthread_create: Resource temporarily unavailable (Not sure where the EAGAINs suddenly come from, but I have recently upgraded from Linux 3.3 to 3.5 (Debian experimental’s -trunk versions; LMK if you need more details). The system is not super loaded: % sudo vmstat 1 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 499648 3448 13607044 0 0 2417 240 173 22 3 5 89 3 0 0 0 0 500636 3448 13607084 0 0 6400 68 2804 6780 2 7 91 0 0 0 0 0 500948 3448 13607080 0 0 6400 0 2789 6870 1 6 93 0 0 1 0 0 499960 3448 13607080 0 0 5120 0 2730 6541 1 5 94 0 0 0 0 0 498824 3448 13607056 0 0 5120 0 2675 6552 1 5 94 0 0 0 0 0 499908 3448 13607020 0 0 6400 0 2662 6329 1 7 92 0 0 2 0 0 499180 3448 13606736 0 0 5120 0 2891 7423 2 5 92 0 0 0 0 0 499660 3448 13606708 0 0 5120 0 2786 6582 1 4 96 0 0 0 0 0 498960 3448 13606708 0 0 6400 0 2776 6883 1 6 93 0 0 A btrfs-send to a LUKS iSCSI volume over Wifi is running in the background, though.) 2. Experience a number of “Aw, Snap!” pages; occassionally reloading works. 3. Click “Report Feedback” 4. Observe “zsh: segmentation fault (core dumped) google-chrome” What is the expected behavior? Everything but a crash, I suppose. What went wrong? Some error handling? Crashed report ID: How much crashed? Whole browser Is it a problem with a plugin? N/A Did this work before? N/A Chrome version: 49.0.2623.112 Channel: dev OS Version: Debian unstable (recently upgraded to Linux 3.5) Flash Version: Shockwave Flash 21.0 r0 I’d like to share the core dump with you but not publicly. PLMK where I can put it if you want to take a look. Alternatively the (actually a; it crashes so often that the most recent ~/core is 19M only) gdb output here: % gdb =google-chrome core GNU gdb (Debian 7.10-1+b1) 7.10 Copyright (C) 2015 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... "/usr/bin/google-chrome": not in executable format: File format not recognized [New LWP 2444] Core was generated by `/opt/google/chrome/chrome --type=utility --channel=1622.45.1381347123 --lang=en'. Program terminated with signal SIGABRT, Aborted. #0 0x00007f41c0362478 in ?? () (gdb) bt #0 0x00007f41c0362478 in ?? () #1 0x00007f41c03638fa in ?? () #2 0x0000000000000020 in ?? () #3 0x0000000000000000 in ?? () (gdb) info threads Id Target Id Frame * 1 LWP 2444 0x00007f41c0362478 in ?? () (gdb)
,
Apr 15 2016
Can you actually consistently reproduce this? If thread creation is failing, that's not a good sign.
,
Apr 18 2016
According to http://man7.org/linux/man-pages/man3/pthread_create.3.html, pthread_create can fail when there are too many threads (based on resource limits and some system-wide limits). It'd be interesting to see how many threads are running on the system when this happens and whether it's close to any of these limits.
,
May 5 2016
Whoops, sorry for the late response, but I have more details now. It turns out that systemd 228 introduced[1] a DefaultMaxTasks setting with a default value of 512. Since my xdm session is getting its own cgroup I can’t spawn no more that 512 tasks in my entire X session (including “daemons” started from ~/.Xsession). I turned that off now which shouldn’t trigger the bug anymore. On pthread_create (or clone() actually) though: a quick search led me to [2] - which predates systemd 228 and indicates that EAGAIN for pthread_create is indeed a thing. And, FWIW, I’ve seen that on my Corp workstation as well - although in a PAM module using glib. I could not reproduce the actual segfaults anymore, but reaching the 512 tasks limit still leads to “Aw, Snap!” pages or just a gray tab / no action when trying to open an URL. Sebastian 1: https://github.com/systemd/systemd/blob/master/NEWS#L373 2: https://bugzilla.redhat.com/show_bug.cgi?id=1068741
,
Jun 3 2016
,
Mar 19 2017
Has there been any progress on this?
,
Aug 4 2017
No comments usually means no progress. So with the DefaultMaxTasks of 512, and some daemons running already, how much room is there left for real user applications? With Chrome's browser processor taking up maybe 30-40 threads, and ~10 per renderer process, the thread count goes up quickly.
,
Aug 6
Issue has not been modified or commented on in the last 365 days, please re-open or file a new bug if this is still an issue. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot |
|||
►
Sign in to add a comment |
|||
Comment 1 by rnimmagadda@chromium.org
, Apr 11 2016