https://bugzilla.redhat.com/show_bug.cgi?id=1494055
Bug ID: 1494055 Summary: Debug fails with NameError: name 'dict_pop' is not defined Product: Fedora Version: 26 Component: eclipse-pydev Severity: medium Assignee: akurtako@redhat.com Reporter: igiwatson@gmail.com QA Contact: extras-qa@fedoraproject.org CC: akurtako@redhat.com, eclipse-sig@lists.fedoraproject.org, jjohnstn@redhat.com
Created attachment 1328967 --> https://bugzilla.redhat.com/attachment.cgi?id=1328967&action=edit eclipse pydev project 'kateBug'.
Description of problem: 'Debug' fails to excute, stopping with, NameError: name 'dict_pop' is not defined
The normal Run executes as expected.
Version-Release number of selected component (if applicable): eclipse-pydev-5.9.0-1.fc26.x86_64 python3-3.6.2-5.fc26.x86_64
How reproducible: Create an eclipse pydev project. Copy in the attached files. Refresh. Load 'kate.py'.
Steps to Reproduce: 1. Run kate.py Output will be, 2017-09-21 12:52:10,395: RobotUSBISS: INFO: 2017-09-21 12:52:10,396: RobotUSBISS: INFO: START logging for /home/igw/workspace/kateBug/kate.py. 2017-09-21 12:52:10,397: RobotUSBISS: INFO: Initialising Robot I2C device. 2017-09-21 12:52:10,397: RobotUSBISS: INFO: Preferred port saved to, robotusbiss_port.txt 2017-09-21 12:52:10,398: RobotUSBISS: INFO: Well that was nice. All done. RegFields> Read register mapping from file regMappingFile.txt Read BGTRIM Got 0 Write BGTRIM 7 Read BGTRIM Got 7 Write BGTRIM -8 Read BGTRIM Got -8
2. Set break point at line 249, if __name__ == "__main__": Run Debug. warning: Debugger speedups using cython not found. Run '"/usr/bin/python3.6" "/usr/lib/eclipse/droplets/pydev-core/eclipse/plugins/org.python.pydev_5.9.0.v20170811-1258/pysrc/setup_cython.py" build_ext --inplace' to build. pydev debugger: starting (pid: 5437) Traceback (most recent call last): File "/usr/lib/eclipse/droplets/pydev-core/eclipse/plugins/org.python.pydev_5.9.0.v20170811-1258/pysrc/_pydevd_bundle/pydevd_frame.py", line 613, in trace_dispatch self.do_wait_suspend(thread, frame, event, arg) File "/usr/lib/eclipse/droplets/pydev-core/eclipse/plugins/org.python.pydev_5.9.0.v20170811-1258/pysrc/_pydevd_bundle/pydevd_frame.py", line 126, in do_wait_suspend self._args[0].do_wait_suspend(*args, **kwargs) File "/usr/lib/eclipse/droplets/pydev-core/eclipse/plugins/org.python.pydev_5.9.0.v20170811-1258/pysrc/pydevd.py", line 764, in do_wait_suspend self._activate_mpl_if_needed() File "/usr/lib/eclipse/droplets/pydev-core/eclipse/plugins/org.python.pydev_5.9.0.v20170811-1258/pysrc/pydevd.py", line 415, in _activate_mpl_if_needed activate_function = dict_pop(self.mpl_modules_for_patching, module) NameError: name 'dict_pop' is not defined Traceback (most recent call last): File "/usr/lib/eclipse/droplets/pydev-core/eclipse/plugins/org.python.pydev_5.9.0.v20170811-1258/pysrc/pydevd.py", line 1621, in <module> main() File "/usr/lib/eclipse/droplets/pydev-core/eclipse/plugins/org.python.pydev_5.9.0.v20170811-1258/pysrc/pydevd.py", line 1615, in main globals = debugger.run(setup['file'], None, None, is_module) File "/usr/lib/eclipse/droplets/pydev-core/eclipse/plugins/org.python.pydev_5.9.0.v20170811-1258/pysrc/pydevd.py", line 1022, in run pydev_imports.execfile(file, globals, locals) # execute the script File "/usr/lib/eclipse/droplets/pydev-core/eclipse/plugins/org.python.pydev_5.9.0.v20170811-1258/pysrc/_pydev_imps/_pydev_execfile.py", line 25, in execfile exec(compile(contents+"\n", file, 'exec'), glob, loc) File "/home/igw/workspace/kateBug/kate.py", line 249, in <module> if __name__ == "__main__": File "/home/igw/workspace/kateBug/kate.py", line 249, in <module> if __name__ == "__main__": File "/usr/lib/eclipse/droplets/pydev-core/eclipse/plugins/org.python.pydev_5.9.0.v20170811-1258/pysrc/_pydevd_bundle/pydevd_frame.py", line 613, in trace_dispatch self.do_wait_suspend(thread, frame, event, arg) File "/usr/lib/eclipse/droplets/pydev-core/eclipse/plugins/org.python.pydev_5.9.0.v20170811-1258/pysrc/_pydevd_bundle/pydevd_frame.py", line 126, in do_wait_suspend self._args[0].do_wait_suspend(*args, **kwargs) File "/usr/lib/eclipse/droplets/pydev-core/eclipse/plugins/org.python.pydev_5.9.0.v20170811-1258/pysrc/pydevd.py", line 764, in do_wait_suspend self._activate_mpl_if_needed() File "/usr/lib/eclipse/droplets/pydev-core/eclipse/plugins/org.python.pydev_5.9.0.v20170811-1258/pysrc/pydevd.py", line 415, in _activate_mpl_if_needed activate_function = dict_pop(self.mpl_modules_for_patching, module) NameError: name 'dict_pop' is not defined
Additional info: 1. If the file is run in debug, with no break points set, it executes correctly.
2. I have found that commenting line 26, import katerig allows debug to run.
3. I have run the same files in 'eric' IDE and it executes in debug without any problem.