Re: Odd sconsdb related test failure

William Blevins <[email protected]>
Newsgroups gmane.comp.programming.tools.scons.devel
Message-ID <CALJHx11MgzyCV93Uecrw3TYwMZ5gaF7icBTq6JLVLjQTCqvZTg@mail.gmail.com>
Daniel,

Thanks for looking at this. I'll make a quick patch that just stores the
variable in the locally.

V/R,
William

On Mon, Sep 19, 2016 at 9:43 PM, Daniel Holth <[email protected]> wrote:

> A quick fix would be to change L124 to self._pickle_dump(self._dict, f,
> PICKLE_PROTOCOL or -1)
>
> My suspicion is that dblite's __del__ method is being called during
> interpreter teardown which would explain why the module-level constant
> PICKLE_PROTOCOL is None and why pdb doesn't work here, and then it decides
> to *write itself to disk* inside __del__().
>
> Actually on further reading I see dblite expects this, and keeps copies of
> various constants in its own class. It could do the same with
> PICKLE_PROTOCOL.
>
> A less quick fix would be to figure out whether dblite could be made into
> a context manager or something and not rely on persistence during
> interpreter cleanup.
>
> Daniel
>
> On Mon, Sep 19, 2016 at 7:57 PM William Blevins <[email protected]>
> wrote:
>
>> Daniel,
>>
>> Apt (Debian package manager) shows 2.7.11-2. Python version shows
>> 2.7.12+. I assume this happens on stable versions also.
>>
>> V/R,
>> William
>>
>> On Mon, Sep 19, 2016 at 6:38 PM, Daniel Holth <[email protected]> wrote:
>>
>>> Is the requested pickle protocol something other than an int here? Del
>>> can call sync. Just regular python 2.7? https://bitbucket.org/scons/
>>> scons/pull-requests/348/centralize-the-preferred-
>>> pickle-protocol/diff#Lsrc/engine/SCons/dblite.pyT124
>>>
>>> On Sat, Sep 17, 2016, 22:58 William Blevins <[email protected]>
>>> wrote:
>>>
>>>> Not sure if Daniel is on the dev-list, so I'll start a direct chat and
>>>> see if he has any thoughts.
>>>>
>>>> On Sat, Sep 17, 2016 at 8:23 PM, James Corey <[email protected]>
>>>> wrote:
>>>>
>>>>> Yes, that test also fails for me, on debian and fedora.
>>>>>
>>>>>
>>>>> On Sat, Sep 17, 2016 at 3:14 PM, William Blevins <
>>>>> [email protected]> wrote:
>>>>> > It appears that the pickle patch from earlier this week is causing a
>>>>> test
>>>>> > failure.
>>>>> >
>>>>> > https://bitbucket.org/scons/scons/pull-requests/348/
>>>>> centralize-the-preferred-pickle-protocol/diff
>>>>> >
>>>>> >> 1/1 (100.00%) /usr/bin/python -tt test/Interactive/variant_dir.py
>>>>> >> STDOUT
>>>>> >> ============================================================
>>>>> =============
>>>>> >> scons: Entering directory `/tmp/testcmd.2983.M_iWAJ/work'
>>>>> >> scons>>> scons: building associated VariantDir targets: build
>>>>> >> gcc -o build/hello.o -c sub1/hello.c
>>>>> >> gcc -o build/hello build/hello.o
>>>>> >> scons: `sub1' is up to date.
>>>>> >> scons>>> Touch("/tmp/testcmd.2983.M_iWAJ/markers/1")
>>>>> >> scons>>> scons: building associated VariantDir targets: build
>>>>> >> gcc -o build/hello.o -c sub1/hello.c
>>>>> >> gcc -o build/hello build/hello.o
>>>>> >> scons: `sub1' is up to date.
>>>>> >> scons>>> Touch("/tmp/testcmd.2983.M_iWAJ/markers/2")
>>>>> >> scons>>>
>>>>> >>
>>>>> >> STDERR
>>>>> >> ============================================================
>>>>> =============
>>>>> >> 0a1
>>>>> >> > Exception TypeError: 'an integer is required' in <bound method
>>>>> >> > dblite.__del__ of <SCons.dblite.dblite object at 0x7fcb33c5ee90>>
>>>>> ignored
>>>>> >> FAILED test of .../SCons/scons/src/script/scons.py
>>>>> >>      at line 620 of .../SCons/scons/QMTest/TestCommon.py
>>>>> (_complete)
>>>>> >>      from line 674 of .../SCons/scons/QMTest/TestCommon.py (finish)
>>>>> >>      from line 109 of test/Interactive/variant_dir.py
>>>>> >
>>>>> > Anyone else seeing this issue?
>>>>> >
>>>>> > V/R,
>>>>> > William
>>>>> >
>>>>> > _______________________________________________
>>>>> > Scons-dev mailing list
>>>>> > [email protected]
>>>>> > https://pairlist2.pair.net/mailman/listinfo/scons-dev
>>>>> >
>>>>> _______________________________________________
>>>>> Scons-dev mailing list
>>>>> [email protected]
>>>>> https://pairlist2.pair.net/mailman/listinfo/scons-dev
>>>>>
>>>>
>>>> _______________________________________________
>>>> Scons-dev mailing list
>>>> [email protected]
>>>> https://pairlist2.pair.net/mailman/listinfo/scons-dev
>>>>
>>>
>>> _______________________________________________
>>> Scons-dev mailing list
>>> [email protected]
>>> https://pairlist2.pair.net/mailman/listinfo/scons-dev
>>>
>>>
>> _______________________________________________
>> Scons-dev mailing list
>> [email protected]
>> https://pairlist2.pair.net/mailman/listinfo/scons-dev
>>
>
> _______________________________________________
> Scons-dev mailing list
> [email protected]
> https://pairlist2.pair.net/mailman/listinfo/scons-dev
>
>

_______________________________________________
Scons-dev mailing list
[email protected]
https://pairlist2.pair.net/mailman/listinfo/scons-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.