Trolltech Home | Qt-jambi-interest Home | Recent Threads | All Threads | Author | Date
All threads index page 1

Qt-jambi-interest Archive, June 2007
Eclipse integration: ... caaaacrash when opening designer


Message 1 in thread

Hi,

I have been around since beta1 and haven't had any problems with the 
eclipse-integration before but when I upgraded to the 
qtjambi-linux32-gpl-4.3.0_01 release and got into some trouble.

I can't open my designer/jui-file from eclipse. I get a formidable crash.
I start eclipse and all is well, the project is ok to edit, run, debug, 
..., but as soon as I open my designer/jui-file I get:

QPixmap::scaled: Pixmap is a null pixmap
java.net.MalformedURLException: no protocol: file
        at java.net.URL.<init>(URL.java:567)
        at java.net.URL.<init>(URL.java:464)
        at java.net.URL.<init>(URL.java:413)
        at 
com.trolltech.tools.designer.CustomWidgetManager.loadPlugin(CustomWidgetManager.java:126)
        at 
com.trolltech.tools.designer.CustomWidgetManager.loadPluginsFromPath(CustomWidgetManager.java:92)
        at 
com.trolltech.tools.designer.CustomWidgetManager.loadPlugins(CustomWidgetManager.java:76)
        at 
com.trolltech.qtdesigner.views.FormWindowW.initializeJambiPlugins(Native 
Method)
        at 
com.trolltech.qtdesigner.views.FormWindowW.initializeJambiPlugins(FormWindowW.java:142)
        at 
com.trolltech.qtdesigner.qtjambi.QtJambiConnection.loadPlugins(QtJambiConnection.java:254)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at 
com.trolltech.qtdesigner.views.FormWindowW.<init>(FormWindowW.java:51)
        at 
com.trolltech.qtdesigner.qtjambi.JambiUiEditor.createPartControl(JambiUiEditor.java:21)
        at 
org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:596)
<snip ... row into the internal of eclipse>

followed by:
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  SIGSEGV (0xb) at pc=0xa76b7438, pid=27465, tid=3085842096
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_05-b05 mixed mode, sharing)
# Problematic frame:
# C  [libQtGui.so.4+0x1a5438]  _Z17qt_memfill32_sse2Pjji+0xc8
#
# An error report file with more information is saved as hs_err_pid27465.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

===

It works if I open the jui-file with qtjambi/designer.sh eventhough I 
get the exception:

QtJambi: Exception pending in native codeException in thread "main" 
java.lang.IndexOutOfBoundsException: Index: 63, Size: 63
        at java.util.ArrayList.RangeCheck(ArrayList.java:547)
        at java.util.ArrayList.get(ArrayList.java:322)
        at 
com.trolltech.tools.designer.PropertySheet.writeProperty(PropertySheet.java:345)
<repeat>

My jui-file is an old ui-file that I converted, so my first guess was 
that I am an idiot and should have read the Release Notes, you know, 
missed to run some conversion tool of sorts but ... 
http://doc.trolltech.com/qtjambi-1.0/com/trolltech/qt/qtjambi-index.html 
points to the beta so know my best guess is that nothing major happened 
between last beta and final release? I'm probably just looking at the 
wrong place.

What more, .... , developing on my trusted: Linux / Ubuntu Edgy + 
Eclipse 3.2 + qtjambi-linux32-gpl-4.3.0_01 + java 1.5.0_05

__

My work-around is to add the designer to external tools in eclipse - 
works well for me, but.


Sincerly Yours
Patrik



Message 2 in thread

On Sunday 10 June 2007 14:00, Patrik Johansson wrote:
> Hi,
>
> I have been around since beta1 and haven't had any problems with the
> eclipse-integration before but when I upgraded to the
> qtjambi-linux32-gpl-4.3.0_01 release and got into some trouble.
>
> I can't open my designer/jui-file from eclipse. I get a formidable crash.
> I start eclipse and all is well, the project is ok to edit, run, debug,
> ..., but as soon as I open my designer/jui-file I get:
>
> QPixmap::scaled: Pixmap is a null pixmap
> java.net.MalformedURLException: no protocol: file
>         at java.net.URL.<init>(URL.java:567)
>         at java.net.URL.<init>(URL.java:464)
>         at java.net.URL.<init>(URL.java:413)
>         at
> com.trolltech.tools.designer.CustomWidgetManager.loadPlugin(CustomWidgetMan
>ager.java:126) at
> com.trolltech.tools.designer.CustomWidgetManager.loadPluginsFromPath(Custom
>WidgetManager.java:92) at
> com.trolltech.tools.designer.CustomWidgetManager.loadPlugins(CustomWidgetMa
>nager.java:76) at
> com.trolltech.qtdesigner.views.FormWindowW.initializeJambiPlugins(Native
> Method)
>         at
> com.trolltech.qtdesigner.views.FormWindowW.initializeJambiPlugins(FormWindo
>wW.java:142) at
> com.trolltech.qtdesigner.qtjambi.QtJambiConnection.loadPlugins(QtJambiConne
>ction.java:254) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method) at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3
>9) at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp
>l.java:25) at java.lang.reflect.Method.invoke(Method.java:585)
>         at
> com.trolltech.qtdesigner.views.FormWindowW.<init>(FormWindowW.java:51)
>         at
> com.trolltech.qtdesigner.qtjambi.JambiUiEditor.createPartControl(JambiUiEdi
>tor.java:21) at
> org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.ja
>va:596) <snip ... row into the internal of eclipse>
>
> followed by:
> #
> # An unexpected error has been detected by HotSpot Virtual Machine:
> #
> #  SIGSEGV (0xb) at pc=0xa76b7438, pid=27465, tid=3085842096
> #
> # Java VM: Java HotSpot(TM) Client VM (1.5.0_05-b05 mixed mode, sharing)
> # Problematic frame:
> # C  [libQtGui.so.4+0x1a5438]  _Z17qt_memfill32_sse2Pjji+0xc8
> #
> # An error report file with more information is saved as
> hs_err_pid27465.log #
> # If you would like to submit a bug report, please visit:
> #   http://java.sun.com/webapps/bugreport/crash.jsp
> #
>
> ===
>
> It works if I open the jui-file with qtjambi/designer.sh eventhough I
> get the exception:
>
> QtJambi: Exception pending in native codeException in thread "main"
> java.lang.IndexOutOfBoundsException: Index: 63, Size: 63
>         at java.util.ArrayList.RangeCheck(ArrayList.java:547)
>         at java.util.ArrayList.get(ArrayList.java:322)
>         at
> com.trolltech.tools.designer.PropertySheet.writeProperty(PropertySheet.java
>:345) <repeat>
>
> My jui-file is an old ui-file that I converted, so my first guess was
> that I am an idiot and should have read the Release Notes, you know,
> missed to run some conversion tool of sorts but ...
> http://doc.trolltech.com/qtjambi-1.0/com/trolltech/qt/qtjambi-index.html
> points to the beta so know my best guess is that nothing major happened
> between last beta and final release? I'm probably just looking at the
> wrong place.
>
> What more, .... , developing on my trusted: Linux / Ubuntu Edgy +
> Eclipse 3.2 + qtjambi-linux32-gpl-4.3.0_01 + java 1.5.0_05
>
> __
>
> My work-around is to add the designer to external tools in eclipse -
> works well for me, but.
>
>
> Sincerly Yours
> Patrik

Hi, we have found the problem that would cause the MalformedURLException. And 
the fix will be included in the next release. We haven't managed to find out 
what caused the VM crash that you described, but maybe it is a result of the 
exception thrown earlier.

Here is a patch that you can try:

==== com/trolltech/tools/designer/CustomWidgetManager.java (text) ====

@@ -119,7 +119,7 @@
                 } catch (ClassNotFoundException f) {
                     String classPathsProperty = 
System.getProperty("com.trolltech.qtjambi.internal.current.classpath");
                     if (classPathsProperty != null) {
-                        String classpaths[] = 
classPathsProperty.split(System.getProperty("path.separator"));
+                        String classpaths[] = classPathsProperty.split(";");

                         URL urls[] = new URL[classpaths.length];
                         for (int j=0; j<classpaths.length; ++j)



Thanks for reporting what you found :-)

Best regards
	Håvard F