[Lldb-commits] [lldb] r266033 - Restore the lazy initialization of ScriptInterpreterPython, which was lost as part of the SystemLifetimeManager work
Enrico Granata via lldb-commits
lldb-commits at lists.llvm.org
Tue Apr 12 11:12:09 PDT 2016
Is there any failure logs I can look at?
I am gonna guess the issue is simply that the unit test is assuming Python to be initialized. Which is a bad assumption after my change.
Sent from my iPhone
> On Apr 12, 2016, at 2:16 AM, Pavel Labath <labath at google.com> wrote:
>
> This breaks the python unit tests. Doesn't seem hard to fix, it seems we just need some way to "really" initialize python before we run the tests. However, I have reverted this change until that happens to keep to bots green.
>
> pl
>
>> On 12 April 2016 at 02:41, Enrico Granata via lldb-commits <lldb-commits at lists.llvm.org> wrote:
>>
>>> On Apr 11, 2016, at 6:28 PM, Zachary Turner <zturner at google.com> wrote:
>>>
>>> I have a feeling this breaks something, but I'm not sure what. I remember specifically needing this for some reason.
>>
>> If you manage to repro the breakage, let’s work on getting it fixed
>> I’d like to not have to initialize Python eagerly - most users will probably not touch anything Python during debugging, and I have seen a few spin dumps connected to the eager initialization during debugging startup
>>
>>> Did you verify that the gtest suite
>>
>> No - but I believe the bots run it, so I will probably get yelled at soon if I broke something
>>
>>> as well as the dotest suite
>>
>> Yes
>>
>>> and the interactive interpreter all still pass / work?
>>
>> Yes
>>
>>>> On Mon, Apr 11, 2016 at 6:14 PM Enrico Granata via lldb-commits <lldb-commits at lists.llvm.org> wrote:
>>>> Author: enrico
>>>> Date: Mon Apr 11 20:08:35 2016
>>>> New Revision: 266033
>>>>
>>>> URL: http://llvm.org/viewvc/llvm-project?rev=266033&view=rev
>>>> Log:
>>>> Restore the lazy initialization of ScriptInterpreterPython, which was lost as part of the SystemLifetimeManager work
>>>>
>>>>
>>>> Modified:
>>>> lldb/trunk/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
>>>> lldb/trunk/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h
>>>>
>>>> Modified: lldb/trunk/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
>>>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp?rev=266033&r1=266032&r2=266033&view=diff
>>>> ==============================================================================
>>>> --- lldb/trunk/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp (original)
>>>> +++ lldb/trunk/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp Mon Apr 11 20:08:35 2016
>>>> @@ -274,8 +274,8 @@ ScriptInterpreterPython::ScriptInterpret
>>>> m_lock_count(0),
>>>> m_command_thread_state(nullptr)
>>>> {
>>>> - assert(g_initialized && "ScriptInterpreterPython created but InitializePrivate has not been called!");
>>>> -
>>>> + InitializePrivate();
>>>> +
>>>> m_dictionary_name.append("_dict");
>>>> StreamString run_string;
>>>> run_string.Printf ("%s = dict()", m_dictionary_name.c_str());
>>>> @@ -330,8 +330,6 @@ ScriptInterpreterPython::Initialize()
>>>>
>>>> std::call_once(g_once_flag, []()
>>>> {
>>>> - InitializePrivate();
>>>> -
>>>> PluginManager::RegisterPlugin(GetPluginNameStatic(),
>>>> GetPluginDescriptionStatic(),
>>>> lldb::eScriptLanguagePython,
>>>> @@ -3097,7 +3095,9 @@ ScriptInterpreterPython::InitializeInter
>>>> void
>>>> ScriptInterpreterPython::InitializePrivate ()
>>>> {
>>>> - assert(!g_initialized && "ScriptInterpreterPython::InitializePrivate() called more than once!");
>>>> + if (g_initialized)
>>>> + return;
>>>> +
>>>> g_initialized = true;
>>>>
>>>> Timer scoped_timer (__PRETTY_FUNCTION__, __PRETTY_FUNCTION__);
>>>>
>>>> Modified: lldb/trunk/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h
>>>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h?rev=266033&r1=266032&r2=266033&view=diff
>>>> ==============================================================================
>>>> --- lldb/trunk/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h (original)
>>>> +++ lldb/trunk/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h Mon Apr 11 20:08:35 2016
>>>> @@ -372,9 +372,6 @@ public:
>>>> void ResetOutputFileHandle(FILE *new_fh) override;
>>>>
>>>> static void
>>>> - InitializePrivate ();
>>>> -
>>>> - static void
>>>> InitializeInterpreter (SWIGInitCallback python_swig_init_callback,
>>>> SWIGBreakpointCallbackFunction swig_breakpoint_callback,
>>>> SWIGWatchpointCallbackFunction swig_watchpoint_callback,
>>>> @@ -507,6 +504,9 @@ public:
>>>> };
>>>>
>>>> protected:
>>>> + static void
>>>> + InitializePrivate ();
>>>> +
>>>> class SynchronicityHandler
>>>> {
>>>> private:
>>>>
>>>>
>>>> _______________________________________________
>>>> lldb-commits mailing list
>>>> lldb-commits at lists.llvm.org
>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
>>
>>
>> Thanks,
>> - Enrico
>> 📩 egranata@.com ☎️ 27683
>>
>>
>> _______________________________________________
>> lldb-commits mailing list
>> lldb-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20160412/92a45d4b/attachment.html>
More information about the lldb-commits
mailing list