On 19.10.2019 23:06, Branko Čibej wrote:
> On 19.10.2019 19:55, Branko Čibej wrote:
>> On 19.10.2019 11:45, Yasuhito FUTATSUKI wrote:
>>> On 2019/10/18 8:39, Branko Čibej wrote:
>>>> On 17.10.2019 23:46, Branko Čibej wrote:
>>>>> On 17.10.2019 23:01, Daniel Shahaf wrote:
>>>>>> Branko Čibej wrote on Thu, Oct 17, 2019 at 22:56:29 +0200:
>>>>>>> On 17.10.2019 22:37, Daniel Shahaf wrote:
>>>>>>>> Branko Čibej wrote on Thu, 17 Oct 2019 06:49 +00:00:
>>>>>>>>> On 16.10.2019 10:01, Daniel Shahaf wrote:
>>>>>>>>>> Which reminds me: it'd be nice to set up a buildbot to run the
>>>>>>>>>> build and
>>>>>>>>>> test process under Python 3. Any committer can edit the buildbot
>>>>>>>>>> scripts[1], but the question is which of the buildbot slaves
>>>>>>>>>> has Python 3
>>>>>>>>>> installed?
>>>>>>>>> https://ci.apache.org/builders/svn-x64-macosx-local-python3
>>>>>>>>>
>>>>>>>>> Been there, done that, bought the DVD.
>>>>>>>> Why are svnadmin_tests 69 and tree_conflict_tests 26 passing on that
>>>>>>>> bot?  They (currently) fail under python3.
>>>>>>> I don't know. It's possible, I suppose, that the activation of the
>>>>>>> python3 virtual environment has no effect on the test driver. It
>>>>>>> might
>>>>>>> not be a bad idea to have the tests print the Python version in the
>>>>>>> summary and possibly in the log of every test case.
>>>>>> What's the value of $(PYTHON) in Makefile?  That's what the «check»
>>>>>> target uses.
>>>>> Yep, apparently that's the bug ... I'm testing script changes now,
>>>>> along
>>>>> with r1868566 for good measure.
>>>> I've set up this:
>>>> https://ci.apache.org/builders/svn-x64-macosx-local-python3-swig
>>>>
>>>> It will build and test the core libraries and swig-py bindings with
>>>> Python 3 on the swig-py3 branch.
>>>>
>>>> I hope ... build #0 running as we speak.
>>> Unfortunately build #2, which ran after upgrading SWIG and Python, failed
>>> to build SWIG Python bindings because of SWIG 4.0, as reported on
>>> SVN-4818.
>>>
>>> This also affects on trunk with SWIG 4.0.
>>> (e.g. https://ci.apache.org/builders/svn-x64-macosx-full/builds/2418)
>>>
>>> With attached patch on trunk (trunk_build_with_swig4_patch.txt) and
>>> on swig-py3 (swig_py3_build_with_swig4_patch.txt), *.so can be produced,
>>> but the modules don't work correctly.
>>>
>>> It seems they were caused by incompatibility of Python code for proxy
>>> object generated by SWIG, and it can not be resolved so simple....
>>> (importlib module vs simply use 'import', absense of _swig_setattr()
>>> and _swig_getattr(), etc.)
>> My bad. I downgraded to Swig 3.0.12 and restarted the failed builds.
>
> Hm, that did not really help. On the swig-py3 branch:
>
> /bin/sh: line 1: 62481 Segmentation fault: 11  /srv/virtualenv-3/bin/python 
> /srv/buildbot/slave/svn-x64-macosx-local-python3-swig/build/subversion/bindings/swig/python/tests/run_all.py
> make: *** [check-swig-py] Error 139
>
>
> So, the Python bindings seem to have crashed the Python 3 interpreter on
> macOS?

Yes, they did:

Process 28278 stopped
* thread #2, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS 
(code=1, address=0x48)
    frame #0: 0x00007fff373ab746 Python`PyErr_Restore + 61
Python`PyErr_Restore:
->  0x7fff373ab746 <+61>: movq   0x48(%rbx), %rdi
    0x7fff373ab74a <+65>: movq   0x50(%rbx), %r13
    0x7fff373ab74e <+69>: movq   0x58(%rbx), %r12
    0x7fff373ab752 <+73>: movq   %r15, 0x48(%rbx)
Target 0: (Python) stopped.

frame #3: 0x0000000103800fea _core.so`PyInit__core at core.c:40158:12
   40155          m = Py_InitModule((char *) SWIG_name, SwigMethods);
   40156        #endif
   40157          
-> 40158          md = d = PyModule_GetDict(m);
   40159          (void)md;
   40160          
   40161          SWIG_InitializeModule(0);
(lldb) print m
(PyObject *) $0 = 0x000000010279ad70
(lldb) print *m
(PyObject) $1 = {
  ob_refcnt = 785
  ob_type = 0x000000010026ea30
}



Full traceback attached, if that helps.

-- Brane

* thread #2, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS 
(code=1, address=0x48)
  * frame #0: 0x00007fff373ab746 Python`PyErr_Restore + 61
    frame #1: 0x00007fff373ac0fe Python`PyErr_Format + 153
    frame #2: 0x00007fff373561f3 Python`PyModule_GetDict + 78
    frame #3: 0x0000000103800fea _core.so`PyInit__core at core.c:40158:12
    frame #4: 0x00000001001942cc Python`_PyImport_LoadDynamicModuleWithSpec + 
568
    frame #5: 0x0000000100193df9 Python`_imp_create_dynamic + 311
    frame #6: 0x00000001000e9166 Python`_PyMethodDef_RawFastCallDict + 545
    frame #7: 0x00000001000e8765 Python`_PyCFunction_FastCallDict + 44
    frame #8: 0x0000000100177022 Python`_PyEval_EvalFrameDefault + 7367
    frame #9: 0x000000010017e7a6 Python`_PyEval_EvalCodeWithName + 1870
    frame #10: 0x00000001000e8a77 Python`_PyFunction_FastCallKeywords + 225
    frame #11: 0x000000010017def7 Python`call_function + 753
    frame #12: 0x0000000100176c70 Python`_PyEval_EvalFrameDefault + 6421
    frame #13: 0x00000001000e8e8c Python`function_code_fastcall + 112
    frame #14: 0x000000010017def7 Python`call_function + 753
    frame #15: 0x0000000100176c57 Python`_PyEval_EvalFrameDefault + 6396
    frame #16: 0x00000001000e8e8c Python`function_code_fastcall + 112
    frame #17: 0x000000010017def7 Python`call_function + 753
    frame #18: 0x0000000100176d0b Python`_PyEval_EvalFrameDefault + 6576
    frame #19: 0x00000001000e8e8c Python`function_code_fastcall + 112
    frame #20: 0x000000010017def7 Python`call_function + 753
    frame #21: 0x0000000100176d0b Python`_PyEval_EvalFrameDefault + 6576
    frame #22: 0x00000001000e8e8c Python`function_code_fastcall + 112
    frame #23: 0x000000010017def7 Python`call_function + 753
    frame #24: 0x0000000100176d0b Python`_PyEval_EvalFrameDefault + 6576
    frame #25: 0x00000001000e8e8c Python`function_code_fastcall + 112
    frame #26: 0x000000010017def7 Python`call_function + 753
    frame #27: 0x0000000100176d0b Python`_PyEval_EvalFrameDefault + 6576
    frame #28: 0x000000010017e7a6 Python`_PyEval_EvalCodeWithName + 1870
    frame #29: 0x00000001000e8a77 Python`_PyFunction_FastCallKeywords + 225
    frame #30: 0x000000010017def7 Python`call_function + 753
    frame #31: 0x0000000100176c70 Python`_PyEval_EvalFrameDefault + 6421
    frame #32: 0x000000010017e7a6 Python`_PyEval_EvalCodeWithName + 1870
    frame #33: 0x00000001000e8a77 Python`_PyFunction_FastCallKeywords + 225
    frame #34: 0x000000010017def7 Python`call_function + 753
    frame #35: 0x0000000100176c70 Python`_PyEval_EvalFrameDefault + 6421
    frame #36: 0x00000001000e8e8c Python`function_code_fastcall + 112
    frame #37: 0x000000010017def7 Python`call_function + 753
    frame #38: 0x0000000100176d0b Python`_PyEval_EvalFrameDefault + 6576
    frame #39: 0x000000010017e7a6 Python`_PyEval_EvalCodeWithName + 1870
    frame #40: 0x00000001001752b8 Python`PyEval_EvalCode + 51
    frame #41: 0x0000000100172d1e Python`builtin_exec + 554
    frame #42: 0x00000001000e9166 Python`_PyMethodDef_RawFastCallDict + 545
    frame #43: 0x00000001000e8765 Python`_PyCFunction_FastCallDict + 44
    frame #44: 0x0000000100177022 Python`_PyEval_EvalFrameDefault + 7367
    frame #45: 0x000000010017e7a6 Python`_PyEval_EvalCodeWithName + 1870
    frame #46: 0x00000001000e8a77 Python`_PyFunction_FastCallKeywords + 225
    frame #47: 0x000000010017def7 Python`call_function + 753
    frame #48: 0x0000000100176c70 Python`_PyEval_EvalFrameDefault + 6421
    frame #49: 0x00000001000e8e8c Python`function_code_fastcall + 112
    frame #50: 0x000000010017def7 Python`call_function + 753
    frame #51: 0x0000000100176c57 Python`_PyEval_EvalFrameDefault + 6396
    frame #52: 0x00000001000e8e8c Python`function_code_fastcall + 112
    frame #53: 0x000000010017def7 Python`call_function + 753
    frame #54: 0x0000000100176d0b Python`_PyEval_EvalFrameDefault + 6576
    frame #55: 0x00000001000e8e8c Python`function_code_fastcall + 112
    frame #56: 0x000000010017def7 Python`call_function + 753
    frame #57: 0x0000000100176d0b Python`_PyEval_EvalFrameDefault + 6576
    frame #58: 0x00000001000e8e8c Python`function_code_fastcall + 112
    frame #59: 0x00000001000ea262 Python`object_vacall + 267
    frame #60: 0x00000001000ea361 Python`_PyObject_CallMethodIdObjArgs + 168
    frame #61: 0x0000000100193029 Python`PyImport_ImportModuleLevelObject + 1496
    frame #62: 0x000000010017b94b Python`_PyEval_EvalFrameDefault + 26096
    frame #63: 0x000000010017e7a6 Python`_PyEval_EvalCodeWithName + 1870
    frame #64: 0x00000001001752b8 Python`PyEval_EvalCode + 51
    frame #65: 0x0000000100172d1e Python`builtin_exec + 554
    frame #66: 0x00000001000e9166 Python`_PyMethodDef_RawFastCallDict + 545
    frame #67: 0x00000001000e8765 Python`_PyCFunction_FastCallDict + 44
    frame #68: 0x0000000100177022 Python`_PyEval_EvalFrameDefault + 7367
    frame #69: 0x000000010017e7a6 Python`_PyEval_EvalCodeWithName + 1870
    frame #70: 0x00000001000e8a77 Python`_PyFunction_FastCallKeywords + 225
    frame #71: 0x000000010017def7 Python`call_function + 753
    frame #72: 0x0000000100176c70 Python`_PyEval_EvalFrameDefault + 6421
    frame #73: 0x00000001000e8e8c Python`function_code_fastcall + 112
    frame #74: 0x000000010017def7 Python`call_function + 753
    frame #75: 0x0000000100176c57 Python`_PyEval_EvalFrameDefault + 6396
    frame #76: 0x00000001000e8e8c Python`function_code_fastcall + 112
    frame #77: 0x000000010017def7 Python`call_function + 753
    frame #78: 0x0000000100176d0b Python`_PyEval_EvalFrameDefault + 6576
    frame #79: 0x00000001000e8e8c Python`function_code_fastcall + 112
    frame #80: 0x000000010017def7 Python`call_function + 753
    frame #81: 0x0000000100176d0b Python`_PyEval_EvalFrameDefault + 6576
    frame #82: 0x00000001000e8e8c Python`function_code_fastcall + 112
    frame #83: 0x00000001000ea262 Python`object_vacall + 267
    frame #84: 0x00000001000ea361 Python`_PyObject_CallMethodIdObjArgs + 168
    frame #85: 0x0000000100193029 Python`PyImport_ImportModuleLevelObject + 1496
    frame #86: 0x00000001001722d7 Python`builtin___import__ + 124
    frame #87: 0x00000001000e8d54 Python`PyCFunction_Call + 208
    frame #88: 0x0000000100177022 Python`_PyEval_EvalFrameDefault + 7367
    frame #89: 0x000000010017e7a6 Python`_PyEval_EvalCodeWithName + 1870
    frame #90: 0x00000001000e8a77 Python`_PyFunction_FastCallKeywords + 225
    frame #91: 0x000000010017def7 Python`call_function + 753
    frame #92: 0x0000000100176d0b Python`_PyEval_EvalFrameDefault + 6576
    frame #93: 0x000000010017e7a6 Python`_PyEval_EvalCodeWithName + 1870
    frame #94: 0x00000001000e86e5 Python`_PyFunction_FastCallDict + 441
    frame #95: 0x00000001000ea262 Python`object_vacall + 267
    frame #96: 0x00000001000ea361 Python`_PyObject_CallMethodIdObjArgs + 168
    frame #97: 0x0000000100193144 Python`PyImport_ImportModuleLevelObject + 1779
    frame #98: 0x000000010017b94b Python`_PyEval_EvalFrameDefault + 26096
    frame #99: 0x000000010017e7a6 Python`_PyEval_EvalCodeWithName + 1870
    frame #100: 0x00000001001752b8 Python`PyEval_EvalCode + 51
    frame #101: 0x0000000100172d1e Python`builtin_exec + 554
    frame #102: 0x00000001000e9166 Python`_PyMethodDef_RawFastCallDict + 545
    frame #103: 0x00000001000e8765 Python`_PyCFunction_FastCallDict + 44
    frame #104: 0x0000000100177022 Python`_PyEval_EvalFrameDefault + 7367
    frame #105: 0x000000010017e7a6 Python`_PyEval_EvalCodeWithName + 1870
    frame #106: 0x00000001000e8a77 Python`_PyFunction_FastCallKeywords + 225
    frame #107: 0x000000010017def7 Python`call_function + 753
    frame #108: 0x0000000100176c70 Python`_PyEval_EvalFrameDefault + 6421
    frame #109: 0x00000001000e8e8c Python`function_code_fastcall + 112
    frame #110: 0x000000010017def7 Python`call_function + 753
    frame #111: 0x0000000100176c57 Python`_PyEval_EvalFrameDefault + 6396
    frame #112: 0x00000001000e8e8c Python`function_code_fastcall + 112
    frame #113: 0x000000010017def7 Python`call_function + 753
    frame #114: 0x0000000100176d0b Python`_PyEval_EvalFrameDefault + 6576
    frame #115: 0x00000001000e8e8c Python`function_code_fastcall + 112
    frame #116: 0x000000010017def7 Python`call_function + 753
    frame #117: 0x0000000100176d0b Python`_PyEval_EvalFrameDefault + 6576
    frame #118: 0x00000001000e8e8c Python`function_code_fastcall + 112
    frame #119: 0x00000001000ea262 Python`object_vacall + 267
    frame #120: 0x00000001000ea361 Python`_PyObject_CallMethodIdObjArgs + 168
    frame #121: 0x0000000100193029 Python`PyImport_ImportModuleLevelObject + 
1496
    frame #122: 0x000000010017b94b Python`_PyEval_EvalFrameDefault + 26096
    frame #123: 0x000000010017e7a6 Python`_PyEval_EvalCodeWithName + 1870
    frame #124: 0x00000001001752b8 Python`PyEval_EvalCode + 51
    frame #125: 0x00000001001a394b Python`run_mod + 54
    frame #126: 0x00000001001a2975 Python`PyRun_FileExFlags + 163
    frame #127: 0x00000001001a201b Python`PyRun_SimpleFileExFlags + 263
    frame #128: 0x00000001001ba89e Python`pymain_main + 5389
    frame #129: 0x00000001001baf80 Python`_Py_UnixMain + 56
    frame #130: 0x00007fff593843d5 libdyld.dylib`start + 1

Reply via email to