Bug 1231491

Summary: [abrt] webkitgtk4: vmAllocate(): WebKitWebProcess killed by SIGSEGV
Product: [Fedora] Fedora Reporter: Guillaume Poirier-Morency <guillaumepoiriermorency>
Component: webkitgtk4Assignee: Tomas Popela <tpopela>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 22CC: bitlord0xff, fedora, kalevlember, mcatanzaro+wrong-account-do-not-cc, tpopela
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
URL: https://retrace.fedoraproject.org/faf/reports/bthash/8231c0a8c8c50407d8ad152f724ffae6d0f5d0dc
Whiteboard: abrt_hash:12ab81f61b2d65c3380fb290c419dd319867f1d2
Fixed In Version: 2.8.5-2.fc22 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-09-01 12:19:37 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File: backtrace
none
File: cgroup
none
File: core_backtrace
none
File: dso_list
none
File: environ
none
File: limits
none
File: maps
none
File: mountinfo
none
File: namespaces
none
File: open_fds
none
File: proc_pid_status
none
my_backtrace none

Description Guillaume Poirier-Morency 2015-06-13 23:08:18 UTC
Version-Release number of selected component:
webkitgtk4-2.8.3-2.fc22

Additional info:
reporter:       libreport-2.5.1
backtrace_rating: 4
cmdline:        /usr/libexec/webkit2gtk-4.0/WebKitWebProcess 32
crash_function: vmAllocate
executable:     /usr/libexec/webkit2gtk-4.0/WebKitWebProcess
global_pid:     19203
kernel:         4.0.4-303.fc22.x86_64
runlevel:       N 5
type:           CCpp
uid:            1000
var_log_messages: [System Logs]:\n-- Logs begin at sam 2015-06-06 14:32:42 EDT, end at sam 2015-06-13 18:34:45 EDT. --

Truncated backtrace:
Thread no. 1 (10 frames)
 #0 vmAllocate at /usr/src/debug/webkitgtk-2.8.3/Source/bmalloc/bmalloc/VMAllocate.h:127
 #1 create at /usr/src/debug/webkitgtk-2.8.3/Source/bmalloc/bmalloc/SuperChunk.h:49
 #2 bmalloc::VMHeap::grow at /usr/src/debug/webkitgtk-2.8.3/Source/bmalloc/bmalloc/VMHeap.cpp:42
 #3 allocateSmallPage at /usr/src/debug/webkitgtk-2.8.3/Source/bmalloc/bmalloc/VMHeap.h:77
 #4 operator() at /usr/src/debug/webkitgtk-2.8.3/Source/bmalloc/bmalloc/Heap.cpp:211
 #5 bmalloc::Heap::allocateSmallPage at /usr/src/debug/webkitgtk-2.8.3/Source/bmalloc/bmalloc/Heap.cpp:212
 #6 bmalloc::Heap::refillSmallBumpRangeCache at /usr/src/debug/webkitgtk-2.8.3/Source/bmalloc/bmalloc/Heap.cpp:125
 #7 bmalloc::Allocator::allocateBumpRangeSlowCase at /usr/src/debug/webkitgtk-2.8.3/Source/bmalloc/bmalloc/Allocator.cpp:212
 #8 allocateBumpRange at /usr/src/debug/webkitgtk-2.8.3/Source/bmalloc/bmalloc/Allocator.cpp:223
 #9 bmalloc::Allocator::allocateSlowCase at /usr/src/debug/webkitgtk-2.8.3/Source/bmalloc/bmalloc/Allocator.cpp:249

Comment 1 Guillaume Poirier-Morency 2015-06-13 23:08:22 UTC
Created attachment 1038454 [details]
File: backtrace

Comment 2 Guillaume Poirier-Morency 2015-06-13 23:08:23 UTC
Created attachment 1038455 [details]
File: cgroup

Comment 3 Guillaume Poirier-Morency 2015-06-13 23:08:25 UTC
Created attachment 1038456 [details]
File: core_backtrace

Comment 4 Guillaume Poirier-Morency 2015-06-13 23:08:26 UTC
Created attachment 1038457 [details]
File: dso_list

Comment 5 Guillaume Poirier-Morency 2015-06-13 23:08:27 UTC
Created attachment 1038458 [details]
File: environ

Comment 6 Guillaume Poirier-Morency 2015-06-13 23:08:28 UTC
Created attachment 1038459 [details]
File: limits

Comment 7 Guillaume Poirier-Morency 2015-06-13 23:08:30 UTC
Created attachment 1038460 [details]
File: maps

Comment 8 Guillaume Poirier-Morency 2015-06-13 23:08:31 UTC
Created attachment 1038461 [details]
File: mountinfo

Comment 9 Guillaume Poirier-Morency 2015-06-13 23:08:32 UTC
Created attachment 1038462 [details]
File: namespaces

Comment 10 Guillaume Poirier-Morency 2015-06-13 23:08:33 UTC
Created attachment 1038463 [details]
File: open_fds

Comment 11 Guillaume Poirier-Morency 2015-06-13 23:08:34 UTC
Created attachment 1038464 [details]
File: proc_pid_status

Comment 12 Michael Catanzaro 2015-06-14 01:19:12 UTC
I think this is a very rare case of a crash that is actually not a bug. You ran out of memory, which is catastrophic, so crashing is the only reasonable thing to do. This is common behavior for all GLib applications, not just WebKit.

Specifically, you hit this assert:

inline void* vmAllocate(size_t vmAlignment, size_t vmSize)
{
    void* result = tryVMAllocate(vmAlignment, vmSize);
    RELEASE_BASSERT(result);
    return result;
}

Caused by this mmap failure:

inline void* tryVMAllocate(size_t vmSize)
{
    vmValidate(vmSize);
    void* result = mmap(0, vmSize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, BMALLOC_VM_TAG, 0);
    if (result == MAP_FAILED)
        return nullptr;
    return result;
}

Comment 13 Branko Grubić 2015-08-15 03:40:54 UTC
Another user experienced a similar problem:

I'm not sure how to reproduce this, it happened after I logged into bugzilla to add myself into CC list of another bug. I hope the backtrace is useful, if not "we" can always close the report.

reporter:       libreport-2.6.2
backtrace_rating: 4
cmdline:        /usr/libexec/webkit2gtk-4.0/WebKitWebProcess 63
crash_function: vmAllocate
executable:     /usr/libexec/webkit2gtk-4.0/WebKitWebProcess
global_pid:     3826
kernel:         4.1.3-201.fc22.x86_64
package:        webkitgtk4-2.8.5-1.fc22
reason:         WebKitWebProcess killed by SIGSEGV
runlevel:       N 5
type:           CCpp
uid:            1000

Comment 14 Branko Grubić 2015-08-15 03:56:51 UTC
I wanted to report this using abrt, and in the end it found duplicate (it took a lot to download all debug info)
About comment #12 I have ~4GB of RAM + ~4GB of swap, "at the time of crash" there was still about half of RAM free, and all swap free, running out of memory was only possible if some fast memory leak happened so it filled RAM+SWAP and then crashed. Computer almost locked up and it was unresponsive for about a minute, but it could also be because of abrt, the crash generated ~2.8GB of data (mostly coredump), I know this looks like result of running out of memory + using SWAP ..., so not sure if it is caused by abrt and already crashed application or epiphany+webkit+... before crash?

Comment 15 Branko Grubić 2015-08-15 03:58:14 UTC
Created attachment 1063211 [details]
my_backtrace

Comment 16 Michael Catanzaro 2015-08-15 09:32:37 UTC
(In reply to Branko Grubić (bitlord) from comment #13)
> Another user experienced a similar problem:
> 
> I'm not sure how to reproduce this, it happened after I logged into bugzilla
> to add myself into CC list of another bug. I hope the backtrace is useful,
> if not "we" can always close the report.

You hit the issue described in the first comment of https://bugs.webkit.org/show_bug.cgi?id=146793

(The workaround for that issue causes memory allocation to fail here.)

Comment 17 Michael Catanzaro 2015-08-24 19:46:00 UTC
Reopening bugs that are probably caused by the address space limit....

Comment 18 Fedora Update System 2015-08-25 15:39:51 UTC
webkitgtk4-2.8.5-2.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2015-14258

Comment 19 Fedora Update System 2015-08-26 17:27:06 UTC
webkitgtk4-2.8.5-2.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report.\nIf you want to test the update, you can install it with \n su -c 'yum --enablerepo=updates-testing update webkitgtk4'. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-14258

Comment 20 Fedora Update System 2015-09-01 12:19:21 UTC
webkitgtk4-2.8.5-2.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.