Skip to content

Fatal process out of memory: DateTimePatternGeneratorCache::CreateGenerator #125

@skvav

Description

@skvav

Hi! Please take a look at this crash.
python 3.11
on macos 15.2 as well as in Docker container tiangolo/uvicorn-gunicorn-fastapi:python3.11

import STPyV8

with STPyV8.JSContext() as ctx:
    ctx.eval("new Intl.DateTimeFormat()")
<--- Last few GCs --->


<--- JS stacktrace --->



#
# Fatal process out of memory: DateTimePatternGeneratorCache::CreateGenerator
#
==== C stack trace ===============================

    0   _STPyV8.cpython-311-darwin.so       0x0000000110054db8 v8::base::debug::StackTrace::StackTrace() + 24
    1   _STPyV8.cpython-311-darwin.so       0x000000011005bcdc v8::platform::(anonymous namespace)::PrintStackTrace() + 24
    2   _STPyV8.cpython-311-darwin.so       0x0000000110048998 v8::base::FatalOOM(v8::base::OOMType, char const*) + 68
    3   _STPyV8.cpython-311-darwin.so       0x0000000110063d9c v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) + 616
    4   _STPyV8.cpython-311-darwin.so       0x000000011049dda0 v8::internal::(anonymous namespace)::DateTimePatternGeneratorCache::CreateGenerator(v8::internal::Isolate*, icu_74::Locale const&) + 748
    5   _STPyV8.cpython-311-darwin.so       0x000000011049bff8 v8::internal::JSDateTimeFormat::CreateDateTimeFormat(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, v8::internal::JSDateTimeFormat::RequiredOption, v8::internal::JSDateTimeFormat::DefaultsOption, char const*) + 1344
    6   _STPyV8.cpython-311-darwin.so       0x00000001100d3038 v8::internal::Builtin_DateTimeFormatConstructor(int, unsigned long*, v8::internal::Isolate*) + 232
    7   _STPyV8.cpython-311-darwin.so       0x00000001115feef4 Builtins_CEntry_Return1_ArgvOnStack_BuiltinExit + 84
    8   _STPyV8.cpython-311-darwin.so       0x00000001115658a8 construct_stub_invoke_deopt_addr + 256
    9   _STPyV8.cpython-311-darwin.so       0x00000001116e5c28 Builtins_ConstructHandler + 872
    10  _STPyV8.cpython-311-darwin.so       0x0000000111564bd8 Builtins_InterpreterEntryTrampoline + 280
    11  _STPyV8.cpython-311-darwin.so       0x000000011156284c Builtins_JSEntryTrampoline + 172
    12  _STPyV8.cpython-311-darwin.so       0x00000001115624f0 Builtins_JSEntry + 176
    13  _STPyV8.cpython-311-darwin.so       0x00000001101a92b4 v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) + 1576
    14  _STPyV8.cpython-311-darwin.so       0x00000001101a98c0 v8::internal::Execution::CallScript(v8::internal::Isolate*, v8::internal::Handle<v8::internal::JSFunction>, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>) + 132
    15  _STPyV8.cpython-311-darwin.so       0x0000000110069c3c v8::Script::Run(v8::Local<v8::Context>, v8::Local<v8::Data>) + 680
    16  _STPyV8.cpython-311-darwin.so       0x000000011000f5f8 CEngine::ExecuteScript(v8::Local<v8::Script>) + 100
    17  _STPyV8.cpython-311-darwin.so       0x000000011000f014 CScript::Run() + 88
    18  _STPyV8.cpython-311-darwin.so       0x00000001100064f4 CContext::EvaluateW(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t>> const&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t>>, int, int) + 260
    19  _STPyV8.cpython-311-darwin.so       0x000000011000cea8 _object* boost::python::detail::invoke<boost::python::to_python_value<boost::python::api::object const&>, boost::python::api::object (CContext::*)(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t>> const&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t>>, int, int), boost::python::arg_from_python<CContext&>, boost::python::arg_from_python<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t>> const&>, boost::python::arg_from_python<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t>>>, boost::python::arg_from_python<int>, boost::python::arg_from_python<int>>(boost::python::detail::invoke_tag_<false, true>, boost::python::to_python_value<boost::python::api::object const&> const&, boost::python::api::object (CContext::*&)(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t>> const&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t>>, int, int), boost::python::arg_from_python<CContext&>&, boost::python::arg_from_python<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t>> const&>&, boost::python::arg_from_python<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t>>>&, boost::python::arg_from_python<int>&, boost::python::arg_from_python<int>&) + 276
    20  _STPyV8.cpython-311-darwin.so       0x000000011000cb9c boost::python::detail::caller_arity<5u>::impl<boost::python::api::object (CContext::*)(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t>> const&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t>>, int, int), boost::python::default_call_policies, boost::mpl::vector6<boost::python::api::object, CContext&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t>> const&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t>>, int, int>>::operator()(_object*, _object*) + 232
    21  libboost_python311.dylib            0x00000001014abb84 boost::python::objects::function::call(_object*, _object*) const + 756
    22  libboost_python311.dylib            0x00000001014ae1e4 boost::detail::function::void_function_ref_invoker<boost::python::objects::(anonymous namespace)::bind_return, void>::invoke(boost::detail::function::function_buffer&) + 28
    23  libboost_python311.dylib            0x00000001014b3774 boost::python::detail::exception_handler::operator()(boost::function_n<void> const&) const + 88
    24  _STPyV8.cpython-311-darwin.so       0x000000011001d034 boost::detail::function::function_obj_invoker<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<CJavascriptException, void (*)(CJavascriptException const&)>, boost::_bi::list<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(CJavascriptException const&)>>>, bool, boost::python::detail::exception_handler const&, boost::function_n<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function_n<void> const&) + 28
    25  libboost_python311.dylib            0x00000001014b34c8 boost::python::handle_exception_impl(boost::function_n<void>) + 56
    26  libboost_python311.dylib            0x00000001014adccc boost::python::objects::function_call(_object*, _object*, _object*) + 72
    27  Python                              0x0000000100c2c964 _PyObject_MakeTpCall + 128
    28  Python                              0x0000000100d08a8c _PyEval_EvalFrameDefault + 41220
    29  Python                              0x0000000100c440a4 gen_send_ex2 + 208
    30  _asyncio.cpython-311-darwin.so      0x0000000100a48490 task_step_impl + 440
    31  _asyncio.cpython-311-darwin.so      0x0000000100a48264 task_step + 52
    32  Python                              0x0000000100c2c964 _PyObject_MakeTpCall + 128
    33  Python                              0x0000000100d274d8 context_run + 92
    34  Python                              0x0000000100c77d70 cfunction_vectorcall_FASTCALL_KEYWORDS + 76
    35  Python                              0x0000000100d0a718 _PyEval_EvalFrameDefault + 48528
    36  Python                              0x0000000100cfddbc PyEval_EvalCode + 168
    37  Python                              0x0000000100d545bc run_eval_code_obj + 84
    38  Python                              0x0000000100d54520 run_mod + 112
    39  Python                              0x0000000100d54360 pyrun_file + 148
    40  Python                              0x0000000100d53db0 _PyRun_SimpleFileObject + 268
    41  Python                              0x0000000100d5373c _PyRun_AnyFileObject + 216
    42  Python                              0x0000000100d700d8 pymain_run_file_obj + 220
    43  Python                              0x0000000100d6fa1c pymain_run_file + 72
    44  Python                              0x0000000100d6f2e8 Py_RunMain + 704
    45  Python                              0x0000000100d70428 Py_BytesMain + 40
    46  dyld                                0x000000018cda8274 start + 2840
zsh: trace trap  python main.py

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions