Excessive CPU Usage

Server crashing frequently, Mac logs indicate excessive CPU usage.
Is this what is causing Plex to shutdown?

Date/Time: 2020-09-02 11:02:27 +0200
End time: 2020-09-02 11:03:58 +0200
OS Version: Mac OS X 10.15.6 (Build 19G2021)
Architecture: x86_64h
Report Version: 29
Incident Identifier: 22F52118-7DD5-452F-B1A7-EC0BA60D88F8

Data Source: Microstackshots
Shared Cache: 0x2c72000 CA94BB38-08AC-348A-A007-160F03DFEF8C

Command: Plex Media Server
Path: /Applications/Plex Media Server.app/Contents/MacOS/Plex Media Server
Identifier: com.plexapp.plexmediaserver
Version: 1.20.1 (1.20.1.3252)
PID: 11808

Event: cpu usage
Action taken: none
CPU: 90 seconds cpu time over 92 seconds (98% cpu average), exceeding limit of 50% cpu over 180 seconds
CPU limit: 90s
Limit duration: 180s
CPU used: 90s
CPU duration: 92s
Duration: 91.89s
Duration Sampled: 89.25s
Steps: 54

Hardware model: Macmini8,1
Active cpus: 4
Boot args: chunklist-security-epoch=0 -chunklist-no-rev2-dev

Heaviest stack for the target process:
54 thread_start + 15 (libsystem_pthread.dylib + 7051) [0x7fff69e92b8b]
54 _pthread_start + 148 (libsystem_pthread.dylib + 24841) [0x7fff69e97109]
54 ??? (libboost_thread.dylib + 12235) [0x111bbafcb]
54 ElasticThreadPool::run() + 71 (Plex Media Server + 12601543) [0x10e8578c7]
54 unsigned long boost::asio::io_context::run_one_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) + 152 (Plex Media Server + 12607384) [0x10e858f98]
54 boost::asio::detail::scheduler::wait_one(long, boost::system::error_code&) + 196 (Plex Media Server + 12607844) [0x10e859164]
54 boost::asio::detail::scheduler::do_wait_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, long, boost::system::error_code const&) + 1063 (Plex Media Server + 12609159) [0x10e859687]
54 boost::asio::detail::executor_op<boost::asio::detail::work_dispatcher<boost::_bi::bind_t<void, boost::_mfi::mf3<void, ElasticThreadPool, boost::function0, void*, std::__1::shared_ptrboost::asio::io_context::work >, boost::_bi::list4<boost::_bi::value<ElasticThreadPool*>, boost::_bi::value<boost::function0 >, boost::_bi::value<void*>, boost::_bi::value<std::__1::shared_ptrboost::asio::io_context::work > > > >, std::__1::allocator, boost::asio::detail::scheduler_operation>::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) + 166 (Plex Media Server + 12603782) [0x10e858186]
54 void boost::asio::system_executor::dispatch<boost::_bi::bind_t<void, boost::_mfi::mf3<void, ElasticThreadPool, boost::function0, void*, std::__1::shared_ptrboost::asio::io_context::work >, boost::_bi::list4<boost::_bi::value<ElasticThreadPool*>, boost::_bi::value<boost::function0 >, boost::_bi::value<void*>, boost::_bi::value<std::__1::shared_ptrboost::asio::io_context::work > > >, std::__1::allocator >(boost::_bi::bind_t<void, boost::_mfi::mf3<void, ElasticThreadPool, boost::function0, void*, std::__1::shared_ptrboost::asio::io_context::work >, boost::_bi::list4<boost::_bi::value<ElasticThreadPool*>, boost::_bi::value<boost::function0 >, boost::_bi::value<void*>, boost::_bi::value<std::__1::shared_ptrboost::asio::io_context::work > > >&&, std::__1::allocator const&) const + 112 (Plex Media Server + 12604320) [0x10e8583a0]
54 void boost::_bi::list4<boost::_bi::value<ElasticThreadPool*>, boost::_bi::value<boost::function0 >, boost::_bi::value<void*>, boost::_bi::value<std::__1::shared_ptrboost::asio::io_context::work > >::operator()<boost::_mfi::mf3<void, ElasticThreadPool, boost::function0, void*, std::__1::shared_ptrboost::asio::io_context::work >, boost::_bi::list0>(boost::_bi::type, boost::_mfi::mf3<void, ElasticThreadPool, boost::function0, void*, std::__1::shared_ptrboost::asio::io_context::work >&, boost::_bi::list0&, int) + 138 (Plex Media Server + 12604602) [0x10e8584ba]
54 boost::_mfi::mf3<void, ElasticThreadPool, boost::function0, void*, std::__1::shared_ptrboost::asio::io_context::work >::operator()(ElasticThreadPool*, boost::function0, void*, std::__1::shared_ptrboost::asio::io_context::work) const + 156 (Plex Media Server + 12604908) [0x10e8585ec]
54 ElasticThreadPool::runner(boost::function0, void*, std::__1::shared_ptrboost::asio::io_context::work) + 43 (Plex Media Server + 12599691) [0x10e85718b]
51 ButlerRequestHandler::execute() + 329 (Plex Media Server + 475657) [0x10dcc7209]
51 ButlerQueueSubTaskGenerator::executeSubTask() + 51 (Plex Media Server + 546275) [0x10dcd85e3]
51 ButlerSubTaskGeneratorGenerateIntroMarkers::executeSubTaskItem(int const&) + 175 (Plex Media Server + 611615) [0x10dce851f]
51 IntroDetectorManager::Run(std::__1::shared_ptr const&, bool) + 103 (Plex Media Server + 4607623) [0x10e0b7e87]
51 IntroDetector::run(std::__1::vector<std::__1::shared_ptr, std::__1::allocator<std::__1::shared_ptr > >&, std::__1::map<int, std::__1::shared_ptr, std::__1::less, std::__1::allocator<std::__1::pair<int const, std::__1::shared_ptr > > >&, float, bool) + 3354 (Plex Media Server + 4604106) [0x10e0b70ca]
7 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 2152 (Plex Media Server + 4593848) [0x10e0b48b8]

Powerstats for: Plex Media Server [11808]
UUID: 82FF4C3A-FCF0-3358-857D-A01121A4D9D3
Path: /Applications/Plex Media Server.app/Contents/MacOS/Plex Media Server
Architecture: x86_64
Footprint: 40.18 MB -> 2063.16 MB (+2022.98 MB)
Pageins: 34 pages
Start time: 2020-09-02 11:02:28 +0200
End time: 2020-09-02 11:03:57 +0200
Num samples: 54 (100%)
CPU Time: 87.772s
Primary state: 51 samples Non-Frontmost App, Non-Suppressed, User mode, Effective Thread QoS Default, Requested Thread QoS Default, Override Thread QoS Unspecified
User Activity: 54 samples Idle, 0 samples Active
Power Source: 0 samples on Battery, 54 samples on AC
54 thread_start + 15 (libsystem_pthread.dylib + 7051) [0x7fff69e92b8b]
54 _pthread_start + 148 (libsystem_pthread.dylib + 24841) [0x7fff69e97109]
54 ??? (libboost_thread.dylib + 12235) [0x111bbafcb]
54 ElasticThreadPool::run() + 71 (Plex Media Server + 12601543) [0x10e8578c7]
54 unsigned long boost::asio::io_context::run_one_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) + 152 (Plex Media Server + 12607384) [0x10e858f98]
54 boost::asio::detail::scheduler::wait_one(long, boost::system::error_code&) + 196 (Plex Media Server + 12607844) [0x10e859164]
54 boost::asio::detail::scheduler::do_wait_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, long, boost::system::error_code const&) + 1063 (Plex Media Server + 12609159) [0x10e859687]
54 boost::asio::detail::executor_op<boost::asio::detail::work_dispatcher<boost::_bi::bind_t<void, boost::_mfi::mf3<void, ElasticThreadPool, boost::function0, void*, std::__1::shared_ptrboost::asio::io_context::work >, boost::_bi::list4<boost::_bi::value<ElasticThreadPool*>, boost::_bi::value<boost::function0 >, boost::_bi::value<void*>, boost::_bi::value<std::__1::shared_ptrboost::asio::io_context::work > > > >, std::__1::allocator, boost::asio::detail::scheduler_operation>::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) + 166 (Plex Media Server + 12603782) [0x10e858186]
54 void boost::asio::system_executor::dispatch<boost::_bi::bind_t<void, boost::_mfi::mf3<void, ElasticThreadPool, boost::function0, void*, std::__1::shared_ptrboost::asio::io_context::work >, boost::_bi::list4<boost::_bi::value<ElasticThreadPool*>, boost::_bi::value<boost::function0 >, boost::_bi::value<void*>, boost::_bi::value<std::__1::shared_ptrboost::asio::io_context::work > > >, std::__1::allocator >(boost::_bi::bind_t<void, boost::_mfi::mf3<void, ElasticThreadPool, boost::function0, void*, std::__1::shared_ptrboost::asio::io_context::work >, boost::_bi::list4<boost::_bi::value<ElasticThreadPool*>, boost::_bi::value<boost::function0 >, boost::_bi::value<void*>, boost::_bi::value<std::__1::shared_ptrboost::asio::io_context::work > > >&&, std::__1::allocator const&) const + 112 (Plex Media Server + 12604320) [0x10e8583a0]
54 void boost::_bi::list4<boost::_bi::value<ElasticThreadPool*>, boost::_bi::value<boost::function0 >, boost::_bi::value<void*>, boost::_bi::value<std::__1::shared_ptrboost::asio::io_context::work > >::operator()<boost::_mfi::mf3<void, ElasticThreadPool, boost::function0, void*, std::__1::shared_ptrboost::asio::io_context::work >, boost::_bi::list0>(boost::_bi::type, boost::_mfi::mf3<void, ElasticThreadPool, boost::function0, void*, std::__1::shared_ptrboost::asio::io_context::work >&, boost::_bi::list0&, int) + 138 (Plex Media Server + 12604602) [0x10e8584ba]
54 boost::_mfi::mf3<void, ElasticThreadPool, boost::function0, void*, std::__1::shared_ptrboost::asio::io_context::work >::operator()(ElasticThreadPool*, boost::function0, void*, std::__1::shared_ptrboost::asio::io_context::work) const + 156 (Plex Media Server + 12604908) [0x10e8585ec]
54 ElasticThreadPool::runner(boost::function0, void*, std::__1::shared_ptrboost::asio::io_context::work) + 43 (Plex Media Server + 12599691) [0x10e85718b]
51 ButlerRequestHandler::execute() + 329 (Plex Media Server + 475657) [0x10dcc7209]
51 ButlerQueueSubTaskGenerator::executeSubTask() + 51 (Plex Media Server + 546275) [0x10dcd85e3]
51 ButlerSubTaskGeneratorGenerateIntroMarkers::executeSubTaskItem(int const&) + 175 (Plex Media Server + 611615) [0x10dce851f]
51 IntroDetectorManager::Run(std::__1::shared_ptr const&, bool) + 103 (Plex Media Server + 4607623) [0x10e0b7e87]
51 IntroDetector::run(std::__1::vector<std::__1::shared_ptr, std::__1::allocator<std::__1::shared_ptr > >&, std::__1::map<int, std::__1::shared_ptr, std::__1::less, std::__1::allocator<std::__1::pair<int const, std::__1::shared_ptr > > >&, float, bool) + 3354 (Plex Media Server + 4604106) [0x10e0b70ca]
7 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 2152 (Plex Media Server + 4593848) [0x10e0b48b8]
5 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6616 (Plex Media Server + 4598312) [0x10e0b5a28]
4 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6767 (Plex Media Server + 4598463) [0x10e0b5abf]
3 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6704 (Plex Media Server + 4598400) [0x10e0b5a80]
2 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6829 (Plex Media Server + 4598525) [0x10e0b5afd]
2
2 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6758 (Plex Media Server + 4598454) [0x10e0b5ab6]
2 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6685 (Plex Media Server + 4598381) [0x10e0b5a6d]
2 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6681 (Plex Media Server + 4598377) [0x10e0b5a69]
2 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6652 (Plex Media Server + 4598348) [0x10e0b5a4c]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6890 (Plex Media Server + 4598586) [0x10e0b5b3a]
1 void std::__1::vector<ScoredOffset, std::__1::allocator >::__emplace_back_slow_path<float&, int&, unsigned long>(float&, int&, unsigned long&&) + 232 (Plex Media Server + 4617480) [0x10e0ba508]
1 _platform_memmove$VARIANT$Haswell + 41 (libsystem_platform.dylib + 2345) [0x7fff69e88929]
1
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6800 (Plex Media Server + 4598496) [0x10e0b5ae0]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6744 (Plex Media Server + 4598440) [0x10e0b5aa8]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6729 (Plex Media Server + 4598425) [0x10e0b5a99]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6712 (Plex Media Server + 4598408) [0x10e0b5a88]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6710 (Plex Media Server + 4598406) [0x10e0b5a86]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6696 (Plex Media Server + 4598392) [0x10e0b5a78]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6692 (Plex Media Server + 4598388) [0x10e0b5a74]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6674 (Plex Media Server + 4598370) [0x10e0b5a62]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6672 (Plex Media Server + 4598368) [0x10e0b5a60]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6667 (Plex Media Server + 4598363) [0x10e0b5a5b]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6664 (Plex Media Server + 4598360) [0x10e0b5a58]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6658 (Plex Media Server + 4598354) [0x10e0b5a52]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6626 (Plex Media Server + 4598322) [0x10e0b5a32]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 6608 (Plex Media Server + 4598304) [0x10e0b5a20]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 2307 (Plex Media Server + 4594003) [0x10e0b4953]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 2211 (Plex Media Server + 4593907) [0x10e0b48f3]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 2181 (Plex Media Server + 4593877) [0x10e0b48d5]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 2176 (Plex Media Server + 4593872) [0x10e0b48d0]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 2161 (Plex Media Server + 4593857) [0x10e0b48c1]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 2157 (Plex Media Server + 4593853) [0x10e0b48bd]
1 IntroDetector::GetTimestamps(EpisodeFile const&, EpisodeFile const&, float) + 2144 (Plex Media Server + 4593840) [0x10e0b48b0]
3 ButlerRequestHandler::execute() + 207 (Plex Media Server + 475535) [0x10dcc718f]
3 ButlerRequestHandler::createTaskGenerator() + 436 (Plex Media Server + 478468) [0x10dcc7d04]
3 ButlerSubTaskGeneratorChapterThumbs::start() + 246 (Plex Media Server + 568774) [0x10dcdddc6]
3 MetadataItem::FindAllWhereLambda(Database const&, boost::function<void (MetadataItem const&)>, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, int) + 730 (Plex Media Server + 6277018) [0x10e24f79a]
3 ButlerSubTaskGeneratorChapterThumbs::testAndAddToIds(MetadataItem const&) + 299 (Plex Media Server + 569755) [0x10dcde19b]
3 MediaItem::needsChapterThumbnails(Database const&) + 40 (Plex Media Server + 5798872) [0x10e1dabd8]
1 Tagging::FindByTagTypeMetadataItemId(Database const&, int, int) + 312 (Plex Media Server + 7224664) [0x10e336d58]
1 soci::details::statement_impl::dec_ref() + 31 (libsoci_core.dylib + 126303) [0x10f814d5f]
1 soci::details::statement_impl::~statement_impl() + 15 (libsoci_core.dylib + 111567) [0x10f8113cf]
1 soci::details::statement_impl::clean_up() + 70 (libsoci_core.dylib + 111846) [0x10f8114e6]
1 soci::values::clean_up() + 29 (Plex Media Server + 1448573) [0x10ddb4a7d]
1 soci::row::~row() + 18 (libsoci_core.dylib + 40450) [0x10f7ffe02]
1 soci::row::clean_up() + 88 (libsoci_core.dylib + 39560) [0x10f7ffa88]
1 nanov2_free_definite_size + 37 (libsystem_malloc.dylib + 7640) [0x7fff69e49dd8]
1 Tagging::FindByTagTypeMetadataItemId(Database const&, int, int) + 298 (Plex Media Server + 7224650) [0x10e336d4a]
1 void Database::GetList(soci::statement&, std::__1::vector<std::__1::shared_ptr, std::__1::allocator<std::__1::shared_ptr > >&, Tagging&) + 391 (Plex Media Server + 6220551) [0x10e241b07]
1 soci::details::statement_impl::fetch() + 80 (libsoci_core.dylib + 120400) [0x10f813650]
1 soci::sqlite3_statement_backend::loadRS(int) + 339 (libsoci_sqlite3.dylib + 35299) [0x10f83c9e3]
1 sqlite3_step + 2446 (libsqlite3.dylib + 64446) [0x1108ddbbe]
1 ??? (libsqlite3.dylib + 301705) [0x110917a89]
1 ??? (libsqlite3.dylib + 359089) [0x110925ab1]
1 Tagging::FindByTagTypeMetadataItemId(Database const&, int, int) + 198 (Plex Media Server + 7224550) [0x10e336ce6]
1 soci::details::statement_impl::statement_impl(soci::details::prepare_temp_type const&) + 514 (libsoci_core.dylib + 110818) [0x10f8110e2]
1 soci::sqlite3_statement_backend::prepare(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, soci::details::statement_type) + 133 (libsoci_sqlite3.dylib + 34517) [0x10f83c6d5]
1 sqlite3_prepare_v2 + 28 (libsqlite3.dylib + 99180) [0x1108e636c]
1 ??? (libsqlite3.dylib + 104425) [0x1108e77e9]
1 ??? (libsqlite3.dylib + 113800) [0x1108e9c88]
1 ??? (libsqlite3.dylib + 469536) [0x110940a20]
1 ??? (libsqlite3.dylib + 516578) [0x11094c1e2]

Binary Images:
0x10dc53000 - 0x10ec53fff com.plexapp.plexmediaserver 1.20.1 (1.20.1.3252) <82FF4C3A-FCF0-3358-857D-A01121A4D9D3> /Applications/Plex Media Server.app/Contents/MacOS/Plex Media Server
0x10f7f6000 - 0x10f819fff libsoci_core.dylib (0) /Applications/Plex Media Server.app/Contents/Frameworks/libsoci_core.dylib
0x10f834000 - 0x10f840fff libsoci_sqlite3.dylib (0) <8DDE7CCE-4759-3344-96F5-9088B023A886> /Applications/Plex Media Server.app/Contents/Frameworks/libsoci_sqlite3.dylib
0x1108ce000 - 0x1109fffff libsqlite3.dylib (0) <94D58B3B-80B4-3B2D-9A10-CF88D5B3FA49> /Applications/Plex Media Server.app/Contents/Frameworks/libsqlite3.dylib
0x111bb8000 - 0x111bc5fff libboost_thread.dylib (0) <6FCD4484-7C64-302F-A626-76D8CB38AC6F> /Applications/Plex Media Server.app/Contents/Frameworks/libboost_thread.dylib
0x7fff69e48000 - 0x7fff69e6ffff libsystem_malloc.dylib (283.100.6) <8549294E-4C53-36EB-99F3-584A7393D8D5> /usr/lib/system/libsystem_malloc.dylib
0x7fff69e88000 - 0x7fff69e90fff libsystem_platform.dylib (220.100.1) <009A7C1F-313A-318E-B9F2-30F4C06FEA5C> /usr/lib/system/libsystem_platform.dylib
0x7fff69e91000 - 0x7fff69e9bfff libsystem_pthread.dylib (416.100.3) <62CB1A98-0B8F-31E7-A02B-A1139927F61D> /usr/lib/system/libsystem_pthread.dylib

Suggest you pull the Plex server logs and post to the thread. Then someone familiar with running Plex on a Mac can assist.

See support documents for details, but here’s the basic steps:

  1. Set your Plex server for debug, not verbose, logs.
  2. Wait for the problem to occur.
  3. Pull Plex logs and attach entire ZIP file to the thread, or manually zip/compress the Plex logfile directory and attach to thread.

I have 2 Mac servers both crashing, I rolled both back to v 1.19.4 which seems to have cured the problem for now, will keep monitoring.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.