Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Electron5 (WIP) #1361

Merged
merged 7 commits into from Apr 26, 2019

Conversation

Projects
None yet
1 participant
@pfrazee
Copy link
Member

commented Mar 25, 2019

Updates Beaker to use Electron v5

Todos:

  • Update node-spellchecker to compile correctly
  • Startup crash (electron/electron#17539) - has been mitigated
  • Free-before-alloc segfault
  • Run tests
@pfrazee

This comment has been minimized.

Copy link
Member Author

commented Mar 25, 2019

Crash during startup issue: electron/electron#17539

@pfrazee

This comment has been minimized.

Copy link
Member Author

commented Mar 27, 2019

Getting a segfault at random:

Electron(24043,0x700006e82000) malloc: *** error for object 0x7f89feb5d608: pointer being freed was not allocated
Electron(24043,0x700006e82000) malloc: *** set a breakpoint in malloc_error_break to debug
Received signal 6
0   libbase.dylib                       0x000000010e62e991 base::debug::CollectStackTrace(void**, unsigned long) + 33
1   libbase.dylib                       0x000000010e30a95b base::debug::StackTrace::StackTrace(unsigned long) + 75
2   libbase.dylib                       0x000000010e30a9ad base::debug::StackTrace::StackTrace(unsigned long) + 29
3   libbase.dylib                       0x000000010e2fe395 base::debug::StackTrace::StackTrace() + 37
4   libbase.dylib                       0x000000010e62e811 base::debug::(anonymous namespace)::StackDumpSignalHandler(int, __siginfo*, void*) + 1393
5   libsystem_platform.dylib            0x00007fff5a843b3d _sigtramp + 29
6   ???                                 0x000000018b1da000 0x0 + 6628941824
7   libsystem_c.dylib                   0x00007fff5a7011c9 abort + 127
8   libsystem_malloc.dylib              0x00007fff5a8106e2 malloc_vreport + 545
9   libsystem_malloc.dylib              0x00007fff5a8104a3 malloc_report + 152
10  libgin.dylib                        0x0000000163078bfd gin::ArrayBufferAllocator::Free(void*, unsigned long) + 29
11  libv8.dylib                         0x0000000161bfdd8f _ZNSt4__Cr10__function16__policy_invokerIFvvEE11__call_implINS0_12__alloc_funcIZN2v88internal20ArrayBufferCollector15FreeAllocationsEvE3$_1NS_9allocatorIS9_EES2_EEEEvPKNS0_16__policy_storageE + 415
12  libnode_lib.dylib                   0x000000016b2fd763 node::(anonymous namespace)::PlatformWorkerThread(void*) + 835
13  libsystem_pthread.dylib             0x00007fff5a84c305 _pthread_body + 126
14  libsystem_pthread.dylib             0x00007fff5a84f26f _pthread_start + 70
15  libsystem_pthread.dylib             0x00007fff5a84b415 thread_start + 13
[end of stack trace]
Abort trap: 6
@pfrazee

This comment has been minimized.

Copy link
Member Author

commented Mar 27, 2019

I'm getting a fair number of random segfaults due to unallocated memory getting freed. It's a different stack every time. Here's another:

Electron(24219,0x107a6e5c0) malloc: *** error for object 0x7fdec8752d88: pointer being freed was not allocated
Electron(24219,0x107a6e5c0) malloc: *** set a breakpoint in malloc_error_break to debug
Received signal 6
0   libbase.dylib                       0x0000000105367991 base::debug::CollectStackTrace(void**, unsigned long) + 33
1   libbase.dylib                       0x000000010504395b base::debug::StackTrace::StackTrace(unsigned long) + 75
2   libbase.dylib                       0x00000001050439ad base::debug::StackTrace::StackTrace(unsigned long) + 29
3   libbase.dylib                       0x0000000105037395 base::debug::StackTrace::StackTrace() + 37
4   libbase.dylib                       0x0000000105367811 base::debug::(anonymous namespace)::StackDumpSignalHandler(int, __siginfo*, void*) + 1393
5   libsystem_platform.dylib            0x00007fff5a843b3d _sigtramp + 29
6   ???                                 0x00007ffeeaf5f310 0x0 + 140732840407824
7   libsystem_c.dylib                   0x00007fff5a7011c9 abort + 127
8   libsystem_malloc.dylib              0x00007fff5a8106e2 malloc_vreport + 545
9   libsystem_malloc.dylib              0x00007fff5a8104a3 malloc_report + 152
10  libgin.dylib                        0x00000001633eebfd gin::ArrayBufferAllocator::Free(void*, unsigned long) + 29
11  libv8.dylib                         0x0000000161d8d14b v8::internal::ArrayBufferTracker::ProcessBuffers(v8::internal::Page*, v8::internal::ArrayBufferTracker::ProcessingMode) + 1387
12  libv8.dylib                         0x0000000161f5acfc v8::internal::ArrayBufferTrackerUpdatingItem::Process() + 316
13  libv8.dylib                         0x0000000161f5bd04 v8::internal::PointersUpdatingTask::RunInParallel() + 420
14  libv8.dylib                         0x0000000161dd283e v8::internal::ItemParallelJob::Task::RunInternal() + 94
15  libv8.dylib                         0x0000000161dd2e95 v8::internal::ItemParallelJob::Run(std::__Cr::shared_ptr<v8::internal::Counters> const&) + 1221
16  libv8.dylib                         0x0000000161defe1b v8::internal::MarkCompactCollector::UpdatePointersAfterEvacuation() + 4235
17  libv8.dylib                         0x0000000161dda925 v8::internal::MarkCompactCollector::Evacuate() + 1909
18  libv8.dylib                         0x0000000161dd50dc v8::internal::MarkCompactCollector::CollectGarbage() + 252
19  libv8.dylib                         0x00000001616f8e96 v8::internal::Heap::MarkCompact() + 438
20  libv8.dylib                         0x00000001616f5e37 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) + 1159
21  libv8.dylib                         0x00000001616f3f71 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) + 1505
22  libv8.dylib                         0x00000001616fee56 v8::internal::Heap::FinalizeIncrementalMarkingIfComplete(v8::internal::GarbageCollectionReason) + 374
23  libv8.dylib                         0x0000000161dc9505 v8::internal::IncrementalMarkingJob::Task::RunInternal() + 357
24  libnode_lib.dylib                   0x000000016b6753bb node::PerIsolatePlatformData::RunForegroundTask(std::__Cr::unique_ptr<v8::Task, std::__Cr::default_delete<v8::Task> >) + 139
25  libnode_lib.dylib                   0x000000016b6742a8 node::PerIsolatePlatformData::FlushForegroundTasksInternal() + 568
26  libnode_lib.dylib                   0x000000016b674030 node::PerIsolatePlatformData::FlushTasks(uv_async_s*) + 32
27  libnode_lib.dylib                   0x000000016b8a7acf uv__async_io + 783
28  libnode_lib.dylib                   0x000000016b8c6120 uv__io_poll + 4048
29  libnode_lib.dylib                   0x000000016b8a81af uv_run + 207
30  Electron Framework                  0x000000010950ab0d atom::NodeBindings::UvRunOnce() + 461
31  Electron Framework                  0x000000010950b9ef void base::internal::FunctorTraits<void (atom::NodeBindings::*)(), void>::Invoke<void (atom::NodeBindings::*)(), base::WeakPtr<atom::NodeBindings> >(void (atom::NodeBindings::*)(), base::WeakPtr<atom::NodeBindings>&&) + 127
32  Electron Framework                  0x000000010950b8da void base::internal::InvokeHelper<true, void>::MakeItSo<void (atom::NodeBindings::*)(), base::WeakPtr<atom::NodeBindings> >(void (atom::NodeBindings::*&&)(), base::WeakPtr<atom::NodeBindings>&&) + 106
33  Electron Framework                  0x000000010950b842 void base::internal::Invoker<base::internal::BindState<void (atom::NodeBindings::*)(), base::WeakPtr<atom::NodeBindings> >, void ()>::RunImpl<void (atom::NodeBindings::*)(), std::__Cr::tuple<base::WeakPtr<atom::NodeBindings> >, 0ul>(void (atom::NodeBindings::*&&)(), std::__Cr::tuple<base::WeakPtr<atom::NodeBindings> >&&, std::__Cr::integer_sequence<unsigned long, 0ul>) + 66
34  Electron Framework                  0x000000010950b75e base::internal::Invoker<base::internal::BindState<void (atom::NodeBindings::*)(), base::WeakPtr<atom::NodeBindings> >, void ()>::RunOnce(base::internal::BindStateBase*) + 62
35  libbase.dylib                       0x000000010502ac7c base::OnceCallback<void ()>::Run() && + 92
36  libbase.dylib                       0x0000000105044c19 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) + 729
37  libbase.dylib                       0x00000001050df34b base::MessageLoopImpl::RunTask(base::PendingTask*) + 811
38  libbase.dylib                       0x00000001050df909 base::MessageLoopImpl::DeferOrRunPendingTask(base::PendingTask) + 89
39  libbase.dylib                       0x00000001050e0407 base::MessageLoopImpl::DoWork() + 455
40  libbase.dylib                       0x00000001053cc17c base::MessagePumpCFRunLoopBase::RunWork() + 124
41  libbase.dylib                       0x00000001053cc0ec ___ZN4base24MessagePumpCFRunLoopBase13RunWorkSourceEPv_block_invoke + 28
42  libbase.dylib                       0x000000010502955a base::mac::CallWithEHFrame(void () block_pointer) + 10
43  libbase.dylib                       0x00000001053cb175 base::MessagePumpCFRunLoopBase::RunWorkSource(void*) + 101
44  CoreFoundation                      0x00007fff2d428395 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
45  CoreFoundation                      0x00007fff2d42833b __CFRunLoopDoSource0 + 108
46  CoreFoundation                      0x00007fff2d40bdd1 __CFRunLoopDoSources0 + 195
47  CoreFoundation                      0x00007fff2d40b37a __CFRunLoopRun + 1219
48  CoreFoundation                      0x00007fff2d40ac64 CFRunLoopRunSpecific + 463
49  HIToolbox                           0x00007fff2c6a1ab5 RunCurrentEventLoopInMode + 293
50  HIToolbox                           0x00007fff2c6a17eb ReceiveNextEventCommon + 618
51  HIToolbox                           0x00007fff2c6a1568 _BlockUntilNextEventMatchingListInModeWithFilter + 64
52  AppKit                              0x00007fff2a95c363 _DPSNextEvent + 997
53  AppKit                              0x00007fff2a95b102 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1362
54  AppKit                              0x00007fff2a955165 -[NSApplication run] + 699
55  libbase.dylib                       0x00000001053cd7f1 base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate*) + 305
56  libbase.dylib                       0x00000001053ca873 base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) + 131
57  libbase.dylib                       0x00000001050deba0 base::MessageLoopImpl::Run(bool) + 512
58  libbase.dylib                       0x000000010518a172 base::RunLoop::Run() + 946
59  libcontent.dylib                    0x0000000112849e78 content::BrowserMainLoop::MainMessageLoopRun() + 536
60  libcontent.dylib                    0x0000000112849b4d content::BrowserMainLoop::RunMainMessageLoopParts() + 365
61  libcontent.dylib                    0x000000011284ee58 content::BrowserMainRunnerImpl::Run() + 344
62  libcontent.dylib                    0x0000000112843988 content::BrowserMain(content::MainFunctionParams const&) + 200
63  libcontent.dylib                    0x00000001151c2056 content::RunBrowserProcessMain(content::MainFunctionParams const&, content::ContentMainDelegate*) + 134
64  libcontent.dylib                    0x00000001151c3727 content::ContentMainRunnerImpl::RunServiceManager(content::MainFunctionParams&, bool) + 1271
65  libcontent.dylib                    0x00000001151c313b content::ContentMainRunnerImpl::Run(bool) + 603
66  libcontent.dylib                    0x00000001151bfae9 content::ContentServiceManagerMainDelegate::RunEmbedderProcess() + 57
67  libembedder.dylib                   0x000000017e363367 service_manager::Main(service_manager::MainParams const&) + 1607
68  libcontent.dylib                    0x00000001151c1f89 content::ContentMain(content::ContentMainParams const&) + 89
69  Electron Framework                  0x0000000107a9d300 AtomMain + 112
70  Electron                            0x0000000104c93d54 main + 84
71  libdyld.dylib                       0x00007fff5a658ed9 start + 1
72  ???                                 0x0000000000000002 0x0 + 2
[end of stack trace]
Abort trap: 6
@pfrazee

This comment has been minimized.

Copy link
Member Author

commented Apr 26, 2019

Great news, electron5's final release is running with no issues! Merging!

@pfrazee pfrazee merged commit bb80da5 into master Apr 26, 2019

0 of 2 checks passed

continuous-integration/travis-ci/pr The Travis CI build is in progress
Details
continuous-integration/travis-ci/push The Travis CI build is in progress
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.