Whats up with the debug perspective?

Hi all

I have an odd error with a simple method which checks for the highest value in a dataprovider and adds 10 to it.

I’m trying to debug where it goes wrong, but Servoy Eclipse (4.1.4 on Intel Mac Snow Leopard) crashes (spinning wheel and no way out) if I switch to debug perspective, put a couple of breakpoints in and run the method via the client. I have to restart Servoy.

Servoy log says nothing about the error, the last 3 lines are:

2009-10-14 17:51:36,989 WARN [TaskExecuter[0]] com.servoy.j2db.persistence.Server - Column name ‘website_historical_presence_flag’ from table ‘stock’ is too long (>30 chars) – this is not supported by all databases
2009-10-15 08:46:10,640 WARN [TaskExecuter[0]] com.servoy.j2db.persistence.Server - Column name ‘website_historical_presence_flag’ from table ‘stock’ is too long (>30 chars) – this is not supported by all databases
2009-10-15 09:25:06,605 WARN [TaskExecuter[0]] com.servoy.j2db.persistence.Server - Column name ‘website_historical_presence_flag’ from table ‘stock’ is too long (>30 chars) – this is not supported by all databases

Sybase log is equally nonplussed about any errors.

If I do not run the debugger, the method runs, and completes, but doesn’t add 10 to my value.

There is also no documentation about debugging, the servoy Dev4RefGuide says:

Referred to as the Debug Console view, this section can be used for debugging purposes and is explained in detail in the section Debugging methods.

. There is no Debugging methods section that I can find in any of the reference guides.

Any pointers appreciated…

Thanks

Bevil

Hi Bevil,

The workspace also has a log. It’s a hidden file though.
You find it in /path/to/your/workspace/.metadata/.log

Hope this helps.

Hi Robert, thanks for the reply. Didn’t know about the workspace log.

I have looked at the log and there is nothing I can see obviously about this issue…

This keeps repeating:

!ENTRY com.servoy.eclipse.core 4 0 2009-10-15 10:02:36.033
!MESSAGE Error loading plugin ScreenShot exception:
!STACK 0
java.lang.NoClassDefFoundError: com/drmaison/plugin/support/IPluginEssentials
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:700)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
at java.lang.ClassLoader.loadClass(ClassLoader.java:254)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:399)
at com.drmaison.plugin.screenshot.ScreenShot.getScriptObject(ScreenShot.java:49)
at com.servoy.eclipse.ui.views.solutionexplorer.Zf.Zb(Zf.java:570)
at com.servoy.eclipse.ui.views.solutionexplorer.Zf.access$000(Zf.java:524)
at com.servoy.eclipse.ui.views.solutionexplorer.SolutionExplorerTreeContentProvider$1.run(SolutionExplorerTreeContentProvider.java:1)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.lang.ClassNotFoundException: com.drmaison.plugin.support.IPluginEssentials
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
at java.lang.ClassLoader.loadClass(ClassLoader.java:254)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:399)
… 16 more

What should I be looking at / for?

Best

Bevil

I see that error is about Dr Maison plugins. I tried a plugin but it didn’t work for what I needed and I disabled it. Is that causing this problem???

remove that plugin yes.

But also IF servoy developer hangs then the first thing you should do is go to the admin pages and dump the stack.
That is the only real way to see for use what is really happening.

The error says that you are loading the screenshot plugin, but some additional required libraries are missing. So you did not “disable” it completely. You have to remove the screenshot.jar and sreenshot.jar.jnlp from the plugins dir.

Btw:

I tried a plugin but it didn’t work for what I needed

What was it that you needed and the plugin did not do?

Hi Johan

The plugin was removed ages ago. There was still one form which had the bean on it, but that form was not ever loaded anywhere. I have removed that form, and deleted the (commented out) call to license the bean in my startup method.

Debugger still crashes. Can you tell me how to dump the stack? Do you mean startup with stacktrace? Can this be done from Adminpages. Sorry for ignorance…

Best

Bevil

Hi Patrick

Thanks for that, I didn’t know those were part of the plugin when I removed the rest. Have removed them now.

Although the plugin looked fabulous, and would have nailed my requirement, it doesn’t work with rtf, on which a lot of my solution’s dependencies rest. I have now painstakingly built the forms as best I can as table view (locked), and still wish that I could drag and drop lines as with your plugin, and would kill for ability to dynamically resize height per line - as your plugin does. RTF though is the dealbreaker.

Best

Bevil

Ah, you are talking about the Table bean… I will look into RTF support for that.

Hi Patrick

If you put RTF in, I will definitely use it, as it does everything else that I need very well…

Bevil

go to the admin pages (http://localhost:8080/servoy-admin/) then press the link “Dump the current stack/systeminfo”

Hi Johan

No problem. Do I do this during / before / after a crash?

Thanks

Bevil

Just to be sure: the component complaining about missing libraries is not the table bean, but the screenshot plugin…

As far as I know, I only ever installed / used the table bean. Never any other Dr. Maison plugin / bean.

I have now removed everything I can see to do with it.

Thunder:
No problem. Do I do this during / before / after a crash?

During the hang. If Servoy crashes (as in quits) then you can’t usually access the servoy-admin pages anymore since it’s no longer running.

Hi all

Johan, I’m still having a crash when I try to debug. I have noticed this now trying to debug another method.

Stack/Systeminfo is attached.

Thanks for any help

Bevil

servoy_hang.txt (33 KB)

are you trying to display properties of an element of a form thats in tableview?

Hi Johan, I am not sure what you mean.

In my methods on that form (which is a table view), I do some elements.xyz.requestFocus(), elements.xyz.enabled = true, elements.xyz.visible = true etc.

Do you mean am I trying to display properties of an element in design mode in Eclipse? Should that make a difference? I am trying to debug the method when it hangs (normally when I step into a line.) It is very frustrating as I am simply not able to debug anything.

are you showing the elements in the variable view or are you using another thing in the debugger to display or set stuff on elements that are in tableview?
or do you have something like this:

var x = elements.y ?

in your code?

i was able to reproduce it, its a RTF/HTML field inside a tableview form where you debug a method in.

this resulted in a lockup, fixed it for 4.x and 5.x