[Lldb-commits] [lldb] r266033 - Restore the lazy initialization of ScriptInterpreterPython, which was lost as part of the SystemLifetimeManager work
Zachary Turner via lldb-commits
lldb-commits at lists.llvm.org
Tue Apr 12 11:20:46 PDT 2016
I think todd did some work to get the gtests working in Xcode. Is that not
working?
On Tue, Apr 12, 2016 at 11:12 AM Enrico Granata <egranata at apple.com> wrote:
> 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/3ee9b35c/attachment-0001.html>
More information about the lldb-commits
mailing list