-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Opaque Numba compilation error messages #36
Comments
I formatted post a little bit to make it easier to read. Hint: you can use triple-backtick like so: ``` stuff I want fixed format text ``` to mark blocks of code or computer output. I do agree that it can be confusing to read a long error message. It doesn't make it easier when some tools put the most important stuff at the beginning and others put the most important information towards the end. |
Thank you for letting me know. I will keep that in mind for the future!
Best,
Pamela Vazquez De La Cruz
…On Fri, Jan 15, 2021 at 11:21 AM Donald Nguyen ***@***.***> wrote:
I formatted post a little bit to make it easier to read. Hint: you can use
triple-backtick like so:
```
stuff I want fixed format text
```
to mark blocks of code or computer output.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#36 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AGLXAH42FPW6OZQWUULIBODS2B2SVANCNFSM4WEKYOYQ>
.
|
And to make things worse the most important part here is I think I might need to push some changes up stream to allow better error messages. As far as I know there isn't really a way to make type errors produce simple messages for user defined functions (like we add). I guess this leads to a question: @pamvc Could you have debugged this yourself if it had said the following?
Making this happen should be possible with the available information. The changes needed would be:
|
Yes, that would have definitely helped debug the issue way faster!
…On Sat, Jan 16, 2021 at 4:08 PM Arthur Peters ***@***.***> wrote:
I do agree that it can be confusing to read a long error message. It
doesn't make it easier when some tools put the most important stuff at the
beginning and others put the most important information towards the end.
And to make things worse the most important part here is overload_PropertyGraph_edges(PropertyGraph,
reflected list(int64)<iv=None>) and it's in the *middle*. Numba has the
worst error messages.
I think I might need to push some changes up stream to allow better error
messages. As far as I know there isn't really a way to make type errors
produce simple messages for user defined functions (like we add). I guess
this leads to a question:
@pamvc <https://github.com/pamvc> Could you have debugged this yourself
if it had said the following?
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/pamvazquez/katana/_skbuild/linux-x86_64-3.8/cmake-install/python/galois/lonestar/analytics/average_neighbor_degree.py", line 68, in average_neighbor_degree
result_array = helper(graph, deg_array, weight)
File "/home/pamvazquez/katana/_skbuild/linux-x86_64-3.8/cmake-install/python/galois/lonestar/analytics/average_neighbor_degree.py", line 45, in helper
do_all(
File "_loops.pyx", line 2373, in galois._loops.do_all
File "/home/pamvazquez/katana/_skbuild/linux-x86_64-3.8/cmake-install/python/galois/numba_support/closure.py", line 258, in instantiate
return self._builder.bind(self._args, unbound_argument_types)
File "/home/pamvazquez/katana/_skbuild/linux-x86_64-3.8/cmake-install/python/galois/numba_support/closure.py", line 216, in bind
inst = self._generate(arg_types, unbound_argument_types)
File "/home/pamvazquez/katana/_skbuild/linux-x86_64-3.8/cmake-install/python/galois/numba_support/closure.py", line 207, in _generate
inst = _ClosureInstance(
File "/home/pamvazquez/katana/_skbuild/linux-x86_64-3.8/cmake-install/python/galois/numba_support/closure.py", line 74, in __init__
wrapper = self._build_wrapper(func, load_struct, return_type, bound_args, unbound_args)
File "/home/pamvazquez/katana/_skbuild/linux-x86_64-3.8/cmake-install/python/galois/numba_support/closure.py", line 118, in _build_wrapper
exec(src, exec_glbls)
File "<string>", line 3, in <module>
File "/home/pamvazquez/katana/_skbuild/linux-x86_64-3.8/cmake-install/python/galois/numba_support/galois_compiler.py", line 82, in wrapper
res.compile()
numba.core.errors.TypingError:: Argument 1 of PropertyGraph.edges must be int. Was reflected list(int64). At:
File "_skbuild/linux-x86_64-3.8/cmake-install/python/galois/lonestar/analytics/average_neighbor_degree.py", line 20:
def sum_neighbor_degree(graph: PropertyGraph, nid, result_array, deg_array, weight):
<source elided>
#for edge connected to curr node:
for edge in graph.edges(nid):
^
Making this happen should be possible with the available information. The
changes needed would be:
- Track methods, so numba can report the method instead of the
underlying function that implements it.
- Prune the stack to remove python calls inside the numba compiler.
- Simplify the error message to include less information about the
internals of the compiler. (All the information currently included is still
needed for debugging the compiler and plugins to it, but it can be disabled
by default.)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#36 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AGLXAH4WOQSQ7X5JGNHB26DS2IE6LANCNFSM4WEKYOYQ>
.
|
Hello my name is Pamela Vazquez, a current wintern designing graph algorithms in order to get a graphs' average neighbor degree and its degree connectivity.
During my time of testing, I have run into error messages that left me confused just because they were long and convoluted.
For example, when I tried to test my code with this order of parameters:
I received this error message:
As a newbie in python, I was confused and asked for help from Arthur. Which resulted in recognizing that the error was simply from having my parameters in the wrong order, but it was hard to tell from the opaque error message.
Thank you for your time!
The text was updated successfully, but these errors were encountered: