New issue 2945: Build with debug info and continuation support, got "'no_collect' function can trigger collection" error https://bitbucket.org/pypy/pypy/issues/2945/build-with-debug-info-and-continuation
Yuxuan “fishy” Wang: I was trying to build pypy3.5 (from tag `release-pypy3.5-v6.0.0`) with debug info (`-O0`) and continuation support (because that's required by greenlet), this is the command line I used for building: ``` pypy ../../rpython/bin/rpython -O0 --continuation --gc incminimark targetpypystandalone --withmod-_continuation ``` But I got this error after 99%: ``` !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! [CollectAnalyzer] v3737 = malloc((GcStruct tuple4), ({'flavor': 'gc'})): True [CollectAnalyzer] analyze_direct_call((rpython.rlib.rsiphash:206)_half_round): True [CollectAnalyzer] analyze_direct_call((rpython.rlib.rsiphash:215)_double_round): True [152ad] translation-task} [Timer] Timings: [Timer] annotate --- 272.0 s [Timer] rtype_lltype --- 402.3 s [Timer] backendopt_lltype --- 15.9 s [Timer] stackcheckinsertion_lltype --- 128.8 s [Timer] database_c --- 31.4 s [Timer] ========================================== [Timer] Total: --- 850.4 s [translation:info] Error: File "/home/vagrant/pypy/rpython/translator/goal/translate.py", line 318, in main drv.proceed(goals) File "/home/vagrant/pypy/rpython/translator/driver.py", line 554, in proceed result = self._execute(goals, task_skip = self._maybe_skip()) File "/home/vagrant/pypy/rpython/translator/tool/taskengine.py", line 114, in _execute res = self._do(goal, taskcallable, *args, **kwds) File "/home/vagrant/pypy/rpython/translator/driver.py", line 278, in _do res = func() File "/home/vagrant/pypy/rpython/translator/driver.py", line 435, in task_database_c database = cbuilder.build_database() File "/home/vagrant/pypy/rpython/translator/c/genc.py", line 127, in build_database db.complete() File "/home/vagrant/pypy/rpython/translator/c/database.py", line 306, in complete add_dependencies(node.enum_dependencies(), node) File "/home/vagrant/pypy/rpython/translator/c/database.py", line 294, in add_dependencies self.get(value, parent and parent._funccodegen_owner) File "/home/vagrant/pypy/rpython/translator/c/database.py", line 224, in get node = self.getcontainernode(container) File "/home/vagrant/pypy/rpython/translator/c/database.py", line 158, in getcontainernode node = nodefactory(self, T, container, **buildkwds) File "/home/vagrant/pypy/rpython/translator/c/node.py", line 898, in new_funcnode return FuncNode(db, T, obj, name) File "/home/vagrant/pypy/rpython/translator/c/node.py", line 803, in __init__ self.funcgen = make_funcgen(obj.graph, db, exception_policy, ptrname) File "/home/vagrant/pypy/rpython/translator/c/funcgen.py", line 28, in make_funcgen db.gctransformer.transform_graph(graph) File "/home/vagrant/pypy/rpython/memory/gctransform/framework.py", line 754, in transform_graph " %s" % func) [translation:ERROR] Exception: 'no_collect' function can trigger collection: <function _siphash24 at 0x000055e479e4a548> ``` Can someone advise? _______________________________________________ pypy-issue mailing list pypy-issue@python.org https://mail.python.org/mailman/listinfo/pypy-issue