Community
Participate
Working Groups
From Eclipse corner, using 2.1, I get a VerifyError compiling existing code that compiled fine with Eclipse 2.0.x: java.lang.VerifyError: (class: snsoft/sndata/CreateDatabase, method: modifyDatabase signature: ()V) Unable to pop operand off an empty stack at snsoft.sndata.SndataConfig.parseDatabaseDriver(SndataConfig.java:122) at snsoft.sndata.SndataConfig.getJdbcConection(SndataConfig.java:225) at snsoft.htext.Htextset.getRootConnection(Htextset.java:301) at snsoft.htext.Htextset.getRootDBInfo(Htextset.java:256) at snsoft.htext.Htextset.getRootConnection(Htextset.java:298) at snsoft.sndata.LoginDialog.changeUser(LoginDialog.java:148) at snsoft.sndata.LoginDialog.onOkExit(LoginDialog.java:174) at snsoft.awt.DialogPanel.onExit(DialogPanel.java:821) at snsoft.awt.DialogPanel.actionPerformed(DialogPanel.java:1569) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1767) at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButto n.java:1820) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:4 19) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener .java:258) at java.awt.Component.processMouseEvent(Component.java:5022) at java.awt.Component.processEvent(Component.java:4819) at java.awt.Container.processEvent(Container.java:1525) at java.awt.Component.dispatchEventImpl(Component.java:3527) at java.awt.Container.dispatchEventImpl(Container.java:1582) at java.awt.Component.dispatchEvent(Component.java:3368) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3359) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3074) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3004) at java.awt.Container.dispatchEventImpl(Container.java:1568) at java.awt.Window.dispatchEventImpl(Window.java:1586) at java.awt.Component.dispatchEvent(Component.java:3368) at java.awt.EventQueue.dispatchEvent(EventQueue.java:445) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja va:191) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java :144) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130) at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)
Can you please provide a testcase reproducing it ?
No test case was provided on Eclipse corner. I contacted the original reporter to get a test case.
No action unless test case is provided
i build all in eclipse 2.0,and i can run ok in 2.1,but when i rebuild all in 2.1,now program has error like that,and i can't run it in 2.0 too. and it is ok if use 2.0 rebuild all. so i think there have some problerm in 2.1 build. and my company's program is big ,8M,so i can't upload it in here,and i new a program like that ,but no program exits. i am sorry can't to provide example.
Without a testcase, we don't have enough information to investigate. The problem is inside CreateDatabase, and it should be all we need to reproduce (providing the external references are cut).
I could add that we simply need the source code of the method snsoft.sndata.CreateDatabase.modifyDatabase().
static public void modifyDatabase() { if( !SndataConfig.sureCurrentConfigOk() ) return ; final JLabel noteLabel = new JLabel("tablename£º"); final JList tabList = new JList( new DefaultListModel()); DialogPanel dialog = new DialogPanel() { protected boolean onOkExit() { int selIndexs[] = tabList.getSelectedIndices(); if( selIndexs != null ) return true; return false; } }; dialog.nPosOption = DialogPanel.NOGROUPBOX; dialog.setLayout(new GridBagLayout()); dialog.initGBC(); dialog.gbc.anchor = GridBagConstraints.WEST; dialog.gbc.fill = GridBagConstraints.HORIZONTAL; dialog.gbc.weightx = 1; dialog.add(noteLabel,dialog.gbc); dialog.gbc.anchor = GridBagConstraints.WEST; dialog.gbc.fill = GridBagConstraints.BOTH; dialog.gbc.insets = new Insets(4,0,0,0); dialog.gbc.gridy=1; dialog.gbc.weighty = 1; JScrollPane scrollPane = new JScrollPane(tabList); scrollPane.setPreferredSize( new Dimension(360,240)); dialog.add(scrollPane,dialog.gbc); try { Object obs[][] = JDBC.sqlSelect3("select tblid,tblexpl from tbldef order by tblid"); DefaultListModel listModel = (DefaultListModel)tabList.getModel(); DialogPanel.addListBoxItems2(listModel,obs); int nCount = listModel.size(); if( nCount > 0 ) { int nIndexes[] = new int[nCount]; for( int i=0; i<nCount; i++) nIndexes[i] = i; tabList.setSelectedIndices(nIndexes); } } catch(Exception e) {} if( dialog.showDialog("Êý¾Ý¿â½á¹¹¸üÐÂ") == 0 ) { int selIndexs[] = tabList.getSelectedIndices(); if( selIndexs != null ) { Object ob[] = tabList.getSelectedValues(); int nAnswer = 0; for( int i=0; i<ob.length; i++) { if( ob[i] != null ) { int nTblID = 0; String szTemp = (String)ob[i]; String szTableName = null; int nFind = szTemp.indexOf(':'); if( nFind > 0) { szTableName = szTemp.substring(nFind+1); nTblID = Integer.parseInt(szTemp.substring(0,nFind)); } if( nTblID > 0 ) { if( nAnswer != 2 ) nAnswer = Message.showMessageDialog("Êý¾Ý¿â½á¹¹¸üÐÂ","\n¸ü ÐÂ'"+szTableName+"'?", 3,new String[] {"ÊÇ","·ñ","È«²¿","È¡Ïû"}); if( nAnswer == 3 ) break; // cancel if( nAnswer == 0 || nAnswer == 2) //modifyDatabase(nTblID,nTblID,false,true); try { modifyTableColumn(nTblID,nTblID,null,0); } catch( SQLException ex ) { Message.printException (ex,MainApp.isDebug); } } } } } } }
Ok, I tried to compile this code sample and I could not reproduce the problem. So could you please attach the whole class snsoft.sndata.CreateDatabase and its dependant classes? Please specify also the compiler settings you are using. Thanks for your help to track down this issue. You seem to be the only one with this problem.
Me too... java.lang.VerifyError: (class: NullTest, method: main signature: ([Ljava/lang/String;)V) Unable to pop operand off an empty stack Excuse me for jumping in, but I just ran into the same or similar problem with Eclipse 2.1 on Windows 2000. I get the same error with the following test case...looks like the disassembled code is quite different. public class NullTest { public static void main(String[] args) { boolean result = (null == null); } } SUN JAVAC compiled disassembled code... public class NullTest extends java.lang.Object { public NullTest(); public static void main(java.lang.String[]); } Method NullTest() 0 aload_0 1 invokespecial #1 <Method java.lang.Object()> 4 return Method void main(java.lang.String[]) 0 aconst_null 1 ifnonnull 8 4 iconst_1 5 goto 9 8 iconst_0 9 istore_1 10 return Eclipse 2.1 compiled disassembled code... public class NullTest extends java.lang.Object { public NullTest(); public static void main(java.lang.String[]); } Method NullTest() 0 aload_0 1 invokespecial #9 <Method java.lang.Object()> 4 return Method void main(java.lang.String[]) 0 istore_1 1 return
null == null was already reported/fixed in bug 36438, and would be a different problem.
Cannot reproduce problem in #modifyDatabase() either with provided testcase.
Created attachment 4719 [details] rebuilt source from reporter testcase tianxuefeng - can you reproduce it with this attached file ? I can compile/run it okay with 2.1.
tianxuefeng - can you reproduce it with this attached file ? I can compile/run it okay with 2.1.
Please reopen if you get it again with latest integration build.