vmprof / vmprof-python

vmprof - a statistical program profiler
http://vmprof.com
Other
433 stars 54 forks source link

PPC64: add native profiling support #239

Closed matthiasdiener closed 2 years ago

matthiasdiener commented 3 years ago

Redo #238 for Travis CI

Followup of #237.

mattip commented 3 years ago

close/reopen - third time lucky

mattip commented 3 years ago

Also please disable all the macOS builds. They are very "expensive" on travis-ci.com and will burn our credits very quickly. I don't know if this link is generally visible, it shows the burn rate of our credits. Alternatively, here is a csv file of the two builds so far, they have used up 3,000 of our 10,000 credits. usage_2021-06-02_2021-08-01.csv

mattip commented 3 years ago

I guess we should move everything possible to github actions.

matthiasdiener commented 3 years ago

Also please disable all the macOS builds. They are very "expensive" on travis-ci.com and will burn our credits very quickly. I don't know if this link is generally visible, it shows the burn rate of our credits. Alternatively, here is a csv file of the two builds so far, they have used up 3,000 of our 10,000 credits. usage_2021-06-02_2021-08-01.csv

I've disabled the MacOS Travis builds for now and added the right PYENV version for the ppc64le build.

I guess we should move everything possible to github actions.

Yeah, i think that's a good idea (at least for x64_64 and Mac builds, ppc64 won't work there I think).

matthiasdiener commented 3 years ago

Any idea what this error could mean @mattip ?

$ bash ./travis/script.sh
============================= test session starts ==============================
platform linux -- Python 3.6.12, pytest-6.2.4, py-1.9.0, pluggy-0.13.1 -- /home/travis/virtualenv/python3.6.12/bin/python
cachedir: .pytest_cache
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/home/travis/build/vmprof/vmprof-python/.hypothesis/examples')
rootdir: /home/travis/build/vmprof/vmprof-python, configfile: pytest.ini
plugins: hypothesis-6.14.5
collecting ... collected 39 items
vmprof/test/test_c_source.py::TestStack::test_binary_search_ranges PASSED [  2%]
vmprof/test/test_c_source.py::TestStack::test_ignore_ip PASSED           [  5%]
vmprof/test/test_c_source.py::TestStack::test_read_vmaps PASSED          [  7%]
vmprof/test/test_c_source.py::TestStack::test_self_vmaps PASSED          [ 10%]
vmprof/test/test_c_source.py::TestStack::test_read_vmaps_darwin SKIPPED  [ 12%]
vmprof/test/test_c_source.py::TestStack::test_overflow_vmaps PASSED      [ 15%]
vmprof/test/test_c_symboltable.py::TestSymbolTable::test_resolve_addr PASSED [ 17%]
vmprof/test/test_c_symboltable.py::TestSymbolTable::test_sofile_in_srcfile PASSED [ 20%]
vmprof/test/test_config.py::test_parser_config PASSED                    [ 23%]
vmprof/test/test_config.py::test_parser_arg_precedence PASSED            [ 25%]
vmprof/test/test_config.py::test_parser_without_section PASSED           [ 28%]
vmprof/test/test_reader.py::test_fileobj PASSED                          [ 30%]
vmprof/test/test_reader.py::test_fileobj_wrapper PASSED                  [ 33%]
vmprof/test/test_run.py::test_basic Fatal Python error: Aborted
Current thread 0x0000795d374e4910 (most recent call first):
  File "/home/travis/build/vmprof/vmprof-python/vmprof/test/test_run.py", line 67 in function_foo
  File "/home/travis/build/vmprof/vmprof-python/vmprof/test/test_run.py", line 117 in test_basic
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/_pytest/python.py", line 183 in pytest_pyfunc_call
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/manager.py", line 87 in <lambda>
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/_pytest/python.py", line 1641 in runtest
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/_pytest/runner.py", line 162 in pytest_runtest_call
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/manager.py", line 87 in <lambda>
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/_pytest/runner.py", line 255 in <lambda>
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/_pytest/runner.py", line 311 in from_call
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/_pytest/runner.py", line 255 in call_runtest_hook
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/_pytest/runner.py", line 215 in call_and_report
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/_pytest/runner.py", line 126 in runtestprotocol
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/_pytest/runner.py", line 109 in pytest_runtest_protocol
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/manager.py", line 87 in <lambda>
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/_pytest/main.py", line 348 in pytest_runtestloop
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/manager.py", line 87 in <lambda>
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/_pytest/main.py", line 323 in _main
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/_pytest/main.py", line 269 in wrap_session
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/_pytest/main.py", line 316 in pytest_cmdline_main
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/manager.py", line 87 in <lambda>
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/_pytest/config/__init__.py", line 163 in main
  File "/home/travis/virtualenv/python3.6.12/lib/python3.6/site-packages/_pytest/config/__init__.py", line 185 in console_main
  File "/home/travis/virtualenv/python3.6.12/bin/py.test", line 8 in <module>
./travis/script.sh: line 9:  5169 Aborted                 (core dumped) py.test vmprof/ -vrs
The command "bash ./travis/script.sh" exited with 134.

Also, could you tell me what the purpose of the vmprof_eval function is supposed to do? It does not seem to be documented, so I kind of had to guess its purpose. (It also does not seem to be called at all as far as I can see)

https://github.com/vmprof/vmprof-python/blob/133ad3cef04b054fe2c1a117ed353a0d0a2f7ce7/src/_vmprof.c#L33-L65

Edit: It seems that vmprof_eval is not used anymore.

matthiasdiener commented 2 years ago

This is ready for review @mattip. I had to disable some tests due to CI memory limitations. They work fine on my ppc64le machine.

mattip commented 2 years ago

This will conflict with #242, which is also waiting for any review.

mattip commented 2 years ago

Thanks @matthiasdiener