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
