ngs-lang / ngs

Next Generation Shell (NGS)
https://ngs-lang.org/
GNU General Public License v3.0
1.4k stars 43 forks source link

Consider improving pmap error reporting #589

Closed ilyash-b closed 1 year ago

ilyash-b commented 1 year ago

When pmap() fails it's difficult to understand which items have failed.

To think first: is that something that should be add to pmap() at all or orthogonal facility?

ilyash-b commented 1 year ago

Sample output:

[ERROR 2022-09-30 23:09:58 +04] +----------------------------------------------------+
[ERROR 2022-09-30 23:09:58 +04] | Some of the computations failed: pmap had failures |
[ERROR 2022-09-30 23:09:58 +04] | Total computations: 11                             |
[ERROR 2022-09-30 23:09:58 +04] | Succeeded: 9                                       |
[ERROR 2022-09-30 23:09:58 +04] | Failed: 2                                          |
[ERROR 2022-09-30 23:09:58 +04] +----------------------------------------------------+
[ERROR 2022-09-30 23:09:58 +04] Exception of type ResultsException occurred
[ERROR 2022-09-30 23:09:58 +04] Info: message = String of length 17: pmap had failures
[ERROR 2022-09-30 23:09:58 +04] Info: results:
[ERROR 2022-09-30 23:09:58 +04]   Results of size 11
[ERROR 2022-09-30 23:09:58 +04]     [0] = <Success val=null>
[ERROR 2022-09-30 23:09:58 +04]     [1] = <Success val=null>
[ERROR 2022-09-30 23:09:58 +04]     [2] = <Success val=null>
[ERROR 2022-09-30 23:09:58 +04]     [3] = <Success val=null>
[ERROR 2022-09-30 23:09:58 +04]     [4] = <Failure val=<RetryFail backtrace=<Backtrace frames=[{ip=149649, closure=<UserDefinedMethod <anonymous>(t_arg:Any) at...
[ERROR 2022-09-30 23:09:58 +04]     [5] = <Failure val=<RetryFail backtrace=<Backtrace frames=[{ip=149649, closure=<UserDefinedMethod <anonymous>(t_arg:Any) at...
[ERROR 2022-09-30 23:09:58 +04]     [6] = <Success val=null>
[ERROR 2022-09-30 23:09:58 +04]     [7] = <Success val=null>
[ERROR 2022-09-30 23:09:58 +04]     [8] = <Success val=null>
[ERROR 2022-09-30 23:09:58 +04]     [9] = <Success val=null>
[ERROR 2022-09-30 23:09:58 +04]     [10] = <Success val=null>
[ERROR 2022-09-30 23:09:58 +04] Frame 0: <builtin-stdlib>:8148:2 - 8148:35
[ERROR 2022-09-30 23:09:58 +04] Frame 1: <builtin-stdlib>:8122:21 - 8122:30 [in bootstrap_exception_catch_wrapper]
[ERROR 2022-09-30 23:09:58 +04] Frame 2: <builtin-stdlib>:8060:8 - 8060:22 [in bootstrap]
[ERROR 2022-09-30 23:09:58 +04] Frame 3: <builtin-stdlib>:8048:7 - 8048:23 [in run_subcommand]
[ERROR 2022-09-30 23:09:58 +04] Frame 4: /usr/local/lib/ngs/autoload/globals/bootstrap_invoke.ngs:27:44 - 43:2 [in bootstrap_invoke]
[ERROR 2022-09-30 23:09:58 +04] Frame 5: <builtin-stdlib>:173:4 - 173:6 [in block]
[ERROR 2022-09-30 23:09:58 +04] Frame 6: /usr/local/lib/ngs/autoload/globals/bootstrap_invoke.ngs:34:24 - 34:28
[ERROR 2022-09-30 23:09:58 +04] Frame 7: <builtin-stdlib>:2432:11 - 2432:13 [in each]
[ERROR 2022-09-30 23:09:58 +04] Frame 8: /usr/local/lib/ngs/autoload/globals/bootstrap_invoke.ngs:34:29 - 34:49
[ERROR 2022-09-30 23:09:58 +04] Frame 9: /usr/local/lib/ngs/autoload/globals/bootstrap_invoke.ngs:16:7 - 16:8 [in bootstrap_try_method]
[ERROR 2022-09-30 23:09:58 +04] Frame 10: ./ngsfile:23:13 - 23:17 [in env_amis]
[ERROR 2022-09-30 23:09:58 +04] Frame 11: <builtin-stdlib>:4748:27 - 4748:43 [in pmap]
[ERROR 2022-09-30 23:09:58 +04]   Results exception #1
[ERROR 2022-09-30 23:09:58 +04]     +---------------------------------------------+
[ERROR 2022-09-30 23:09:58 +04]     | Unfortunately the exception had no message. |
[ERROR 2022-09-30 23:09:58 +04]     | Exception type might give a hint: RetryFail |
[ERROR 2022-09-30 23:09:58 +04]     +---------------------------------------------+
[ERROR 2022-09-30 23:09:58 +04]     Exception of type RetryFail occurred
[ERROR 2022-09-30 23:09:58 +04]     Frame 0: <builtin-stdlib>:4650:4 - 4650:5
[ERROR 2022-09-30 23:09:58 +04]     Frame 1: /usr/local/lib/ngs/autoload/globals/ThreadedExecutor.ngs:15:8 - 15:14 [in _executor_thread]
[ERROR 2022-09-30 23:09:58 +04]     Frame 2: <builtin-stdlib>:3765:11 - 3765:14 [in Result]
[ERROR 2022-09-30 23:09:58 +04]     Frame 3: <builtin-stdlib>:4744:16 - 4744:22
[ERROR 2022-09-30 23:09:58 +04]     Frame 4: <builtin-stdlib>:3765:11 - 3765:14 [in Result]
[ERROR 2022-09-30 23:09:58 +04]     Frame 5: <builtin-stdlib>:4744:25 - 4744:31
[ERROR 2022-09-30 23:09:58 +04]     Frame 6: ./ngsfile:24:4 - 24:7
[ERROR 2022-09-30 23:09:58 +04]     Frame 7: ./ngsfile:38:10 - 38:23 [in ami]
[ERROR 2022-09-30 23:09:58 +04]     Frame 8: ./ngsfile:87:3 - 87:11 [in can_share_ami]
[ERROR 2022-09-30 23:09:58 +04]     Frame 9: ./ngsfile:71:3 - 71:8 [in wait_ami]
[ERROR 2022-09-30 23:09:58 +04]     Frame 10: <builtin-stdlib>:7532:2 - 7532:9 [in retry]
[ERROR 2022-09-30 23:09:58 +04]     Frame 11: <builtin-stdlib>:7507:17 - 7507:26
[ERROR 2022-09-30 23:09:58 +04]   Results exception #2
[ERROR 2022-09-30 23:09:58 +04]     +---------------------------------------------+
[ERROR 2022-09-30 23:09:58 +04]     | Unfortunately the exception had no message. |
[ERROR 2022-09-30 23:09:58 +04]     | Exception type might give a hint: RetryFail |
[ERROR 2022-09-30 23:09:58 +04]     +---------------------------------------------+
[ERROR 2022-09-30 23:09:58 +04]     Exception of type RetryFail occurred
[ERROR 2022-09-30 23:09:58 +04]     Frame 0: <builtin-stdlib>:4650:4 - 4650:5
[ERROR 2022-09-30 23:09:58 +04]     Frame 1: /usr/local/lib/ngs/autoload/globals/ThreadedExecutor.ngs:15:8 - 15:14 [in _executor_thread]
[ERROR 2022-09-30 23:09:58 +04]     Frame 2: <builtin-stdlib>:3765:11 - 3765:14 [in Result]
[ERROR 2022-09-30 23:09:58 +04]     Frame 3: <builtin-stdlib>:4744:16 - 4744:22
[ERROR 2022-09-30 23:09:58 +04]     Frame 4: <builtin-stdlib>:3765:11 - 3765:14 [in Result]
[ERROR 2022-09-30 23:09:58 +04]     Frame 5: <builtin-stdlib>:4744:25 - 4744:31
[ERROR 2022-09-30 23:09:58 +04]     Frame 6: ./ngsfile:24:4 - 24:7
[ERROR 2022-09-30 23:09:58 +04]     Frame 7: ./ngsfile:38:10 - 38:23 [in ami]
[ERROR 2022-09-30 23:09:58 +04]     Frame 8: ./ngsfile:87:3 - 87:11 [in can_share_ami]
[ERROR 2022-09-30 23:09:58 +04]     Frame 9: ./ngsfile:71:3 - 71:8 [in wait_ami]
[ERROR 2022-09-30 23:09:58 +04]     Frame 10: <builtin-stdlib>:7532:2 - 7532:9 [in retry]
[ERROR 2022-09-30 23:09:58 +04]     Frame 11: <builtin-stdlib>:7507:17 - 7507:26
+----------------------------------------------------+
| Some of the computations failed: pmap had failures |
| Total computations: 11                             |
| Succeeded: 9                                       |
| Failed: 2                                          |
+----------------------------------------------------+
ilyash-b commented 1 year ago

In dev