taucmdr icon indicating copy to clipboard operation
taucmdr copied to clipboard

Errors in argument handling

Open nchaimov opened this issue 4 years ago • 2 comments
trafficstars

@brnorris03 reports that in the unstable branch the command

tau init --backend sqlite --mpi F --bare
tau target create colabvm

Result in an error:

[TAU] XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[TAU] 
[TAU] CRITICAL
[TAU] 
[TAU] An unexpected AttributeError exception was raised:
[TAU] 
[TAU] module 'urllib' has no attribute 'parse'
[TAU] 
[TAU] Traceback (most recent call last):
[TAU]   File 
[TAU]     "/disks/large/home/users/norris/performance/PythonPerformanceAnalysis/tools/taucmdr/installed/system/../packages/taucmdr/cli/arguments.py",
[TAU]      line 475, in __call__
[TAU]     value_as_bool = util.parse_bool(value, additional_true=['download', 'download-tr4', 'download-tr6', 'nightly'])
[TAU]   File 
[TAU]     "/disks/large/home/users/norris/performance/PythonPerformanceAnalysis/tools/taucmdr/installed/system/../packages/taucmdr/util.py",
[TAU]      line 687, in parse_bool
[TAU]     raise TypeError
[TAU] TypeError
[TAU] 
[TAU] During handling of the above exception, another exception occurred:
[TAU] 
[TAU] Traceback (most recent call last):
[TAU]   File "/home/users/norris/performance/PythonPerformanceAnalysis/tools/taucmdr/installed/system/configure", line 216, in
[TAU]      <module>
[TAU]     sys.exit(main(sys.argv[1:]))
[TAU]   File "/home/users/norris/performance/PythonPerformanceAnalysis/tools/taucmdr/installed/system/configure", line 205, in
[TAU]      main
[TAU]     tau_prefix = _configure_full(args)
[TAU]   File "/home/users/norris/performance/PythonPerformanceAnalysis/tools/taucmdr/installed/system/configure", line 168, in
[TAU]      _configure_full
[TAU]     _configure_project(args)
[TAU]   File "/home/users/norris/performance/PythonPerformanceAnalysis/tools/taucmdr/installed/system/configure", line 97, in 
[TAU]     _configure_project
[TAU]     if _execute(initialize_cmd, argv) != EXIT_SUCCESS:
[TAU]   File "/home/users/norris/performance/PythonPerformanceAnalysis/tools/taucmdr/installed/system/configure", line 84, in 
[TAU]     _execute
[TAU]     return cmd.main(argv)
[TAU]   File 
[TAU]     "/disks/large/home/users/norris/performance/PythonPerformanceAnalysis/tools/taucmdr/installed/system/../packages/taucmdr/cli/commands/initialize.py",
[TAU]      line 233, in main
[TAU]     args = self._parse_args(argv)
[TAU]   File 
[TAU]     "/disks/large/home/users/norris/performance/PythonPerformanceAnalysis/tools/taucmdr/installed/system/../packages/taucmdr/cli/command.py",
[TAU]      line 85, in _parse_args
[TAU]     args = self.parser.parse_args(args=argv)
[TAU]   File 
[TAU]     "/home/users/norris/performance/PythonPerformanceAnalysis/tools/taucmdr/installed/conda/lib/python3.7/argparse.py", 
[TAU]     line 1755, in parse_args
[TAU]     args, argv = self.parse_known_args(args, namespace)
[TAU]   File 
[TAU]     "/home/users/norris/performance/PythonPerformanceAnalysis/tools/taucmdr/installed/conda/lib/python3.7/argparse.py", 
[TAU]     line 1787, in parse_known_args
[TAU]     namespace, args = self._parse_known_args(args, namespace)
[TAU]   File 
[TAU]     "/home/users/norris/performance/PythonPerformanceAnalysis/tools/taucmdr/installed/conda/lib/python3.7/argparse.py", 
[TAU]     line 1993, in _parse_known_args
[TAU]     start_index = consume_optional(start_index)
[TAU]   File 
[TAU]     "/home/users/norris/performance/PythonPerformanceAnalysis/tools/taucmdr/installed/conda/lib/python3.7/argparse.py", 
[TAU]     line 1933, in consume_optional
[TAU]     take_action(action, args, option_string)
[TAU]   File 
[TAU]     "/home/users/norris/performance/PythonPerformanceAnalysis/tools/taucmdr/installed/conda/lib/python3.7/argparse.py", 
[TAU]     line 1861, in take_action
[TAU]     action(self, namespace, argument_values, option_string)
[TAU]   File 
[TAU]     "/disks/large/home/users/norris/performance/PythonPerformanceAnalysis/tools/taucmdr/installed/system/../packages/taucmdr/cli/arguments.py",
[TAU]      line 477, in __call__
[TAU]     if not util.is_url(value):
[TAU]   File 
[TAU]     "/disks/large/home/users/norris/performance/PythonPerformanceAnalysis/tools/taucmdr/installed/system/../packages/taucmdr/util.py",
[TAU]      line 700, in is_url
[TAU]     return bool(len(urllib.parse.urlparse(url).scheme))
[TAU] AttributeError: module 'urllib' has no attribute 'parse'
[TAU] 
[TAU] This is a bug in TAU Commander.
[TAU] Please send '/disks/large/home/users/norris/.local/taucmdr/debug_log' to <[email protected]> for assistance.
[TAU] 
[TAU] XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

I'm not immediately sure whether the real problem is the TypeError in parse_bool or the AttributeError in is_url. The error in is_url seems strange, because it reports that module 'urllib' has no attribute 'parse' despite that module having been imported in the same file.

https://github.com/ParaToolsInc/taucmdr/blob/28a994d7809810ab7ff9c31a5b3001ba683cc4de/packages/taucmdr/util.py#L46

nchaimov avatar Sep 25 '21 20:09 nchaimov

Debug log: debug_log.txt

nchaimov avatar Sep 25 '21 20:09 nchaimov

It looks to me like the urllib error in is_url is the real issue. The TypeError exception in parse_bool is being caught and that is why is_url is called. Is this reproducible? I haven't been able to reproduce this issue yet.

khsa1 avatar Oct 17 '21 17:10 khsa1