| Bug #114318 | MySQL Workbench crashes using scripting shell command 'key' in dict on grt.Dict | ||
|---|---|---|---|
| Submitted: | 12 Mar 2024 10:36 | Modified: | 13 Apr 2024 12:21 |
| Reporter: | Karsten Wutzke | Email Updates: | |
| Status: | No Feedback | Impact on me: | |
| Category: | MySQL Workbench | Severity: | S1 (Critical) |
| Version: | 8.0.36 | OS: | Windows (11) |
| Assigned to: | Assigned Account | CPU Architecture: | Any |
| Tags: | workbench crash | ||
[13 Mar 2024 12:21]
MySQL Verification Team
Hello Karsten Wutzke, Thank you for the bug report. To investigate further this issue at our end, may I kindly request you to launch workbench under debug mode (--log-level=debug3) and provide unaltered workbench log file(more details about log are explained here - https://dev.mysql.com/doc/workbench/en/workbench-reporting-bugs.html)? Regards, Ashwini Patil
[14 Apr 2024 1:00]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".

Description: I am able to crash MySQL Workbench with a simple set of actions: 1. Start Workbench 2. "File" menu -> "New Model" 3. "Scripting" menu -> "Scripting Shell" (new window opening) 4. In the "Shell" tab, see command line (white input text) below, then execute: if 'jpaExportPluginOptions' in grt.root.wb.doc.physicalModels[0].catalog.customData: print("FAILED!") This crashes the complete application without any error being shown. How to repeat: See description. Suggested fix: See https://bugs.mysql.com/bug.php?id=114316 for similar crash. Please fix the "in" operator for grt.Dict. I have a plugin that uses a key named "jpaExportPluginOptions" to store UI options used to how to generate code etc. -- BTW: using if grt.root.wb.doc.physicalModels[0].catalog.customData.has_key('jpaExportPluginOptions'): ... is not an alternative, as this results in the following stack trace: 11:31:47 [INF][ print]: Executing generate_jpa_annotated_classes(catalog)... 11:31:47 [INF][ print]: Custom data dictionary class is <class 'grt.Dict'> 11:31:47 [INF][ print]: Plugin options dictionary class is <class 'grt.Dict'> 11:31:47 [ERR][ python]: error calling AgileEntities.generate_jpa_annotated_classes Traceback: No stack information. NameError: Dict.has_key() takes no arguments (1 given) 11:31:47 [ERR][ grt]: Error executing plugin wb.catalog.util.generate_jpa_annotated_classes: error calling Python module function AgileEntities.generate_jpa_annotated_classes 11:31:47 [ERR][ WBContext]: error calling Python module function AgileEntities.generate_jpa_annotated_classes