Bugs in Reports menu in PL/SQL Developer v. 10.0.1

Hilarion

Member³
I upgraded to version 10.0.1 (from latest version 9) yesterday and my "Reports" menu was behaving incorrectly.

My reports are configured as follows:
I'm using default reports ("Default Report directory" is checked in "Configure Reports" window) and my own reports (my reports folder is given in that configuration window).
I have reports shown as main menu item ("Reports as main menu item" option is checked in the configuration window).
My own reports are all in sub-folder called "My" (it also has subfolders), so all my reports are in sub-menu "My" in "Reports" menu.
The menu contains now those sub-menus (in this order):
  • DBA
  • My
  • Objects
  • PL SQL
  • User
All those settings were set in PL/SQL Developer 9 and it looked like they migrated to version 10.0.1 correctly.

Unfortunately there was a strange effect.
Reports from "DBA" menu worked OK, but clicking in other sub-menus invoked a different report (not the one I clicked). It was as if some internal structure used to determine which report file is bound to which menu position was missing all "My" reports (or they were misplaced in that structure) and that way all menu items in "My" sub-menu and other sub-menus after it were this way "bound" to wrong files (offset by count of "My" menu positions).
The problem somehow disappeared today after I changed some report options (use of default reports and use of user specified report folder) and restarted the application few times (not sure what caused the issue to disappear). The problem did not reappear since then (even if I reverted the settings back to what they were) so it looks like it was some kind of settings migration issue.

During my reports settings tweaking I noticed that if the PL/SQL Developer application is started with default reports turned on ("Default Report directory" is checked in "Configure Reports" window) and I switch it off, then I get this error when trying to invoke a report from menu:
Unexpected error.
List index out of bounds ().
The error disappears when I close and restart the application.
The problem does not occur if I start the application with default reports switched off - I can switch them on and off as I wish, without errors.

I'm using PL/SQL Developer on Windows 7 SP1 (64-bit).
 
The problem with "Reports" menu items invoking wrong report files reappeared today, so it's not just a settings migration issue.
I'm do not know what triggers the problem but it looks like my previous statement still stands:
It was as if some internal structure used to determine which report file is bound to which menu position was missing all "My" reports (or they were misplaced in that structure) and that way all menu items in "My" sub-menu and other sub-menus after it were this way "bound" to wrong files (offset by count of "My" menu positions).
With the "misplaced" variant being in effect ("My" reports are invoked but from not "My" menu items).

I also had a bit different effect when changing report menu options. Somehow when I cleared user reports folder field in reports configuration window, the PL/SQL Developer built the "Reports" menu based on some of application folder contents, not only "Reports" sub-folder, so there were sub-menus: DataGenerator, DBA, Objects, OFS, PL SQL, PlugInDoc, PlugIns, Preferences, Reports (with all standard reports structure appearing again), Template and User. Strangely there was no Books sub-menu, nor Demo, ExamDiff etc.
Filling the user reports folder setting fixed the problem (and also the problem with different report being invoked when menu item is clicked; at least for now).

I hope it helps you pinpointing where the cause of those problems is located.
 
I'm getting used to executing reports using "Files" tab where I added the default PL/SQL Developer reports folder and my reports folder. The annoying difference is that this opens the reports in "edit" mode.

What else I have noticed:

1.
The reports menu stopped to handle national characters correctly. I have a "Ż" letter (017B in Unicode) in my reports folder - one of sub-folder names starts with that letter. The menu shows it's sub-menu with the letter replaced with some kind of upper dash character. I'm not sure which version introduced that but I'm quite sure it did work OK in version 9 and probably in some version 10.

2.
When I start the PL/SQL Developer and use "Reports" menu without doing any other actions (including connecting to DB - I have configured it not to log in on start and not to show any login/connect screens), then it's working correctly.
It still does work OK if I connect using "Session" / "Log on" to connect.
The problem appears if I connect using "Connections" pane (which I have docked and pinned on my left side, along with also pinned "Objects" and "Window list" and unpinned "To-Do", "Files" and "Templates").
The problem appears even if I invoke a connection using "Connections" pane (one that does not have a password stored) and hit "Cancel" in the "Oracle Logon" window.
The problem persists if I disconnect, reconnect or whatever else I do. To make it go away again I have to restart the application or use "Tools" / "Configure Reports..." window and click "OK" (even without making any changes). This works even if I'm still connected (but in that case if I use "Connections" pane again to disconnect and reconnect or make second connection, the problem is there again).
It happens regardless of "Reports as main menu item" option being on or off.

The problem affects you only if the user reports (indicated in "Tools" / "Configure Reports..." / "Read Reports from") are structured in such a way that they appear somewhere in the middle of "Reports" menu or at the top of it. If your user reports folder contains only loose report files, then the problem will not occur since they will show up at the very bottom of "Reports" menu. The simplest test case is to have a sub-folder called "A" in the folder indicated in the reports settings and a one report file in that sub-folder. In that case the menu structure will be "A", "DBA", "Objects", "PL SQL" and "User", each with reports in it.
In that case when the problem appears (after you use the "Connections" pane), if you try to invoke any standard report (eg. "Roles" from "DBA" sub-menu), the report actually invoked would be the one just next to the one you selected (in this case "Rollback Segments" from "DBA" sub-menu). If you select the only one from "A" sub-menu, the one invoked will be the first standard report ("Initialization Parameters" from "DBA" sub-menu). Selecting last standard report ("Object Privileges Received" from "User" sub-menu) will invoke the very first report - the user defined one.
If you name your sub-folder "My" (as I did), instead of "A" (giving "DBA", "My", "Objects", "PL SQL" and "User" structure), then the problem will not affect the "DBA" sub-menu, as it's above user reports sub-menu. It will still affect "My" user sub-folder and all other standard reports sub-menus ("Objects", "PL SQL" and "User").
If you place more than one user report file in your sub-folder, then the reports invoked will be offset by the count of them (eg. with 2 user report files, clicking "User" / "Granted Roles" would invoke "User" / "NLS Session Parameters").

Playing around with connecting, clearing problem with "Configure Reports...", clicking some reports etc. back and forth many times may cause "Access violation" message to pop up and force you to kill the app as the message will not go away - clicking "OK" makes it reappear again and again. This suggests that there's some kind of memory corruption issue caused by connections pane that - in my case - affects reports menu. It's appearance may depend on specific user connections configuration layout, which may explain why you are unable to reproduce the issue.
 
Last edited:
I have reproduced the problem on my XP Mode virtual machine (Microsoft Virtual PC emulation of Windows XP Professional SP3 on Windows 7 Professional SP1 x64) without any problems.
The steps to reproduce:
  1. Clean install of PL/SQL Developer v.10.0.5.
  2. Execute PL/SQL Developer (without connecting to any DB).
  3. Define a connection in Connections pane (without providing password) - it does not have to be a working connection.
  4. Create folder called "A" anywhere (eg. in "C:\" folder).
  5. Create any PL/SQL Developer report and save it to the "A" folder.
  6. Using "Tools" / "Configure reports..." point PL/SQL Developer to the folder containing the "A" folder (eg. point it to the "C:\" folder; do not point it to the "A" folder itself) - do not turn off the "Default Report directory" and accept the change.
  7. Verify that your "Reports" menu lists "A", "DBA", "Objects", "PL SQL" and "User".
  8. Double-click connection defined in step 3 in the Connections pane (you can cancel the Oracle Logon window asking for password).
  9. Execute any report from "Reports" menu.
Result:
What happens for me is that the report launched is not the one I clicked.
Desired result:
PL/SQL Developer launches the report I clicked.

Additional info:
If you go to "Tools" / "Configure reports..." after using Connections pane and click "OK" in the "Configure Reports" window, the problem goes away till you use Connections pane again.
The problem is 100% reproducible on Windows 7 Professional x64 - tested with my co-workers.

Please fix the problem as it makes our (100 licences with service contract) work harder.
 
Last edited:
Road transport is one of the biggest sources of pollution in the UK, we have poor air quality, congestion, noise disturbance not to mention climate change.
Through the daily routine of going or coming back from work, especially in the city there are problems of traffic congestion. Sitting there, one person, one car, one person, one car etc. All RS Gold this amounts to a cocktail of chemicals exhuming through their exhaust.
Of the 33 million vehicles on our roads, 27 million are cars. Whilst travelling by car often is the only practical option, there are simple steps we can all take to reduce the number of journeys we take and their impact on the environment.
Things you can do to help
Avoid using for short journeys - Combine trips or, alternatively, walk, cycle, or take a bus.
Care for your vehicle - Check tuning, tyre pressure, brakes and fuel consumption
 
Can anyone else confirm (or deny) having the same issue (every co-worker I asked at my workplace has this issue excluding only those that do not use user-defined reports)?
 
Is there any progress on this at Allround Automations (AA)?
Has anyone (at AA or any PL/SQL Developer user) even tried to reproduce the problem?
 
I finally had the time to upgrade to v.11 (11.0.1) and can confirm that this issue is gone (at least I did not hit it yet).
 
Back
Top