Unhandled Errors

User 578a64755d

27-07-2009 15:00:07

Greetings,


I am evaluating instant JChem with an eye towards eventually purchasing the embedable version, and embedding it in my application.  At present I am using the free download version:


Instant JChem Version: 2.5.2 (build: 090711)


JChem Version: 5.2.3


JChem Table Version: 5020100


Marvin Version: 5.2.3 (build date: 2009-07-10)


Java: 1.6.0_13; Java HotSpot(TM) Client VM 11.3-b02


System: Windows XP version 5.2 running on x86; Cp1252; en_US (instantjchem)


NetBeans build: 200903060201


Userdir: C:\Documents and Settings\rlee\Application Data\.instantjchem\ijc_2_5


Java Web Start: No


Plugins:


    chemaxon.ijc.updatecenter [2.5.2 090711]


    chemaxon.jchem/1 [5.2.3 090711]


    com.im.commons/1 [2.4 090514]


    com.im.df.api/1 [2.4.3 090514]


    com.im.df.core.derby/1 [2.5.2 090711]


    com.im.df.core.oracle/1 [2.5.2 090711]


    com.im.df.db.mysql/1 [2.5.2 090711]


    com.im.df.localdb/1 [2.4 090514]


    com.im.df.server.local/1 [2.4 090514]


    com.im.df/1 [2.5.2 090711]


    com.im.ijc.autoupdate/1 [2.4 090514]


    com.im.ijc.branding/1 [2.5.2 090711]


    com.im.ijc.chem.overlap/1 [2.4 090514]


    com.im.ijc.core/1 [2.5.2 090711]


    com.im.ijc.examples.addfield [2.4 090514]


    com.im.ijc.examples.ijcrenderers [2.5 090514]


    com.im.ijc.examples.mathcomputationactions [2.4 090514]


    com.im.ijc.extraloaders [2.4 090514]


    com.im.ijc.formview/1 [2.5.1 090528]


    com.im.ijc.gridview/1 [2.4.1 090514]


    com.im.ijc.io [2.5 090514]


    com.im.ijc.jrprinting/1 [2.4.3 090514]


    com.im.ijc.project/1 [2.5.1 090528]


    com.im.ijc.querytextpanel [2.5 090514]


    com.im.ijc.renderers/1 [2.5.2 090711]


    com.im.ijc.security/1 [2.4 090514]


    com.im.ijc.server.api/1 [2.4 090514]


    com.im.ijc.server.impl/1 [2.5 090514]


    com.im.ijc.sfs [2.4.2 090514]


    com.im.ijc.standardizer/1 [2.4 090514]


    com.im.ijc.structurefiles/1 [2.4 090514]


    com.im.ijc.update.pack [2.5.2 090711]


    com.im.ijc.versionprovider [2.5.2 090711]


    com.im.ijc.welcome/1 [2.4.2 090514]


    com.im.ijc.widgets/1 [2.4.3.1 090514]


    com.jacob.com [1.0 090514]


    com.lowagie.iia/1 [2.0.8 090514]


    com.michaelbaranov.microba/1 [0.4.4 090514]


    com.mysql.jdbc/1 [5.0.8 090514]


    net.sf.cglib/1 [2.1.3 090514]


    net.sf.jasperreports/1 [3.0.1 090514]


    oracle.jdbc/1 [11.1.0.6.0 090514]


    org.acegisecurity/1 [1.0.5 090514]


    org.apache.batik/1 [1.1 090514]


    org.apache.commons.beanutils/1 [1.7.0 090514]


    org.apache.commons.collections/1 [3.2 090514]


    org.apache.commons.dbcp/1 [1.2.2 090514]


    org.apache.commons.digester/1 [1.8 090514]


    org.apache.commons.lang/1 [2.4 090514]


    org.apache.commons.pool/1 [1.3 090514]


    org.apache.derby/1 [10.4.2 090514]


    org.apache.poi [3.0.1 090514]


    org.apache.xml.resolver [1.4.1 1.2 200903060201]


    org.dom4j/1 [1.6.1 090514]


    org.eclipse.jdt.core.compiler/1 [3.1.1 090514]


    org.freehep/1 [2.1.1 090514]


    org.jdesktop.layout/1 [1.6.1 1.0.3 200903060201]


    org.netbeans.api.java.classpath/1 [1.18.2 200903060201]


    org.netbeans.api.progress/1 [1.12.1.1 1 200903060201]


    org.netbeans.api.visual [2.17.1 200903060201]


    org.netbeans.api.xml/1 [1.16.1 200903060201]


    org.netbeans.bootstrap/1 [2.15.1 200903060201]


    org.netbeans.core.execution/1 [1.12.1.1 200903060201]


    org.netbeans.core.ide/1 [1.12.1 200903060201]


    org.netbeans.core.multiview/1 [1.12.1 200903060201]


    org.netbeans.core.nativeaccess/1 [1.1.2 200903060201]


    org.netbeans.core.output2/1 [1.10.1.1 1 200903060201]


    org.netbeans.core.startup/1 [1.14.1.1 200903060201]


    org.netbeans.core.ui/1 [1.12.1 200903060201]


    org.netbeans.core.windows/2 [2.12.3.1 200903060201]


    org.netbeans.core/2 [3.10.4.1 200903060201]


    org.netbeans.libs.commons_logging/1 [1.7.1 1.1 200903060201]


    org.netbeans.libs.commons_net/1 [1.2.1 1.4.1 200903060201]


    org.netbeans.libs.jakarta_oro/1 [1.1.1 2.0.8 200903060201]


    org.netbeans.libs.jaxb/1 [1.3.1 200903060201]


    org.netbeans.libs.jna/1 [1.1.2 200903060201]


    org.netbeans.libs.junit4 [1.3.1 200903060201]


    org.netbeans.libs.xerces/1 [1.12.1 2.8.0 200903060201]


    org.netbeans.modules.applemenu/1 [1.9.1 200903060201]


    org.netbeans.modules.autoupdate.services [1.5.2 200903060201]


    org.netbeans.modules.autoupdate.ui [1.5.1 200903060201]


    org.netbeans.modules.classfile/1 [1.21.1 200903060201]


    org.netbeans.modules.db.core [1.7.3 200903060201]


    org.netbeans.modules.db.dataview [1.0.3 200903060201]


    org.netbeans.modules.db.metadata.model/0 [0.1.1 200903060201]


    org.netbeans.modules.db.mysql [0.1.3 2 200903060201]


    org.netbeans.modules.db.sql.editor [1.7.1.30 200903060201]


    org.netbeans.modules.db.sql.visualeditor/1 [2.3.1.30 200903060201]


    org.netbeans.modules.db/1 [1.30.3.30 30 200903060201]


    org.netbeans.modules.dbapi [1.7.1.30 200903060201]


    org.netbeans.modules.defaults/1 [1.5.1 200903060201]


    org.netbeans.modules.editor.bookmarks/1 [1.6.1 200903060201]


    org.netbeans.modules.editor.bracesmatching/0 [1.6.1 200903060201]


    org.netbeans.modules.editor.codetemplates/1 [1.9.1.1.6 1 200903060201]


    org.netbeans.modules.editor.completion/1 [1.13.2 1 200903060201]


    org.netbeans.modules.editor.deprecated.pre61completion/0 [1.0.1 200903060201]


    org.netbeans.modules.editor.deprecated.pre61settings/0 [1.1.0.1.3.8 1 200903060201]


    org.netbeans.modules.editor.errorstripe.api/1 [2.5.1.1 1 200903060201]


    org.netbeans.modules.editor.errorstripe/2 [2.5.1.1.1 1 200903060201]


    org.netbeans.modules.editor.fold/1 [1.9.1 200903060201]


    org.netbeans.modules.editor.guards/1 [1.2.1 200903060201]


    org.netbeans.modules.editor.highlights/0 [1.4.1.1 1 200903060201]


    org.netbeans.modules.editor.indent/2 [1.9.1.8 200903060201]


    org.netbeans.modules.editor.lib/1 [1.29.2.8.2 8 200903060201]


    org.netbeans.modules.editor.lib2/1 [1.8.1.2 2 200903060201]


    org.netbeans.modules.editor.macros/0 [1.2.1.1.8 1 200903060201]


    org.netbeans.modules.editor.mimelookup.impl/1 [1.3.1 200903060201]


    org.netbeans.modules.editor.mimelookup/1 [1.10.1 200903060201]


    org.netbeans.modules.editor.plain.lib/1 [1.6.1 200903060201]


    org.netbeans.modules.editor.plain/2 [1.7.1 200903060201]


    org.netbeans.modules.editor.settings.storage/1 [1.18.1 200903060201]


    org.netbeans.modules.editor.settings/1 [1.22.1 200903060201]


    org.netbeans.modules.editor.structure/1 [1.17.1.1 1 200903060201]


    org.netbeans.modules.editor.util/1 [1.25.1 200903060201]


    org.netbeans.modules.editor/3 [1.41.1.3.8.2 3 200903060201]


    org.netbeans.modules.extbrowser/1 [1.13.1 200903060201]


    org.netbeans.modules.favorites/1 [1.14.3 200903060201]


    org.netbeans.modules.gototest/1 [1.2.1 200903060201]


    org.netbeans.modules.javahelp/1 [2.11.1 200903060201]


    org.netbeans.modules.lexer.editorbridge/1 [1.6.1 200903060201]


    org.netbeans.modules.lexer.nbbridge/1 [1.4.1.1 200903060201]


    org.netbeans.modules.lexer/2 [1.29.1.1 1 200903060201]


    org.netbeans.modules.masterfs/2 [2.15.2 200903060201]


    org.netbeans.modules.options.api/1 [1.10.2 200903060201]


    org.netbeans.modules.options.editor/1 [1.10.1 200903060201]


    org.netbeans.modules.options.keymap [1.4.1 200903060201]


    org.netbeans.modules.print [6.5.1 200903060201]


    org.netbeans.modules.progress.ui [1.2.1 200903060201]


    org.netbeans.modules.project.ant/1 [1.26.3 200903060201]


    org.netbeans.modules.project.libraries/1 [1.19.2 200903060201]


    org.netbeans.modules.projectapi/1 [1.19.2 200903060201]


    org.netbeans.modules.projectui [1.15.3.1.6 1 200903060201]


    org.netbeans.modules.projectui.buildmenu/1 [1.0.1 1 200903060201]


    org.netbeans.modules.projectuiapi/1 [1.31.1.6 6 200903060201]


    org.netbeans.modules.properties.syntax/1 [1.20.1 200903060201]


    org.netbeans.modules.properties/1 [1.25.2 200903060201]


    org.netbeans.modules.queries/1 [1.13.1 200903060201]


    org.netbeans.modules.schema2beans/1 [1.18.1 200903060201]


    org.netbeans.modules.sendopts/2 [2.3.1 200903060201]


    org.netbeans.modules.server/0 [1.2.2 200903060201]


    org.netbeans.modules.settings/1 [1.15.1 200903060201]


    org.netbeans.modules.utilities/1 [1.29.1 200903060201]


    org.netbeans.modules.web.flyingsaucer/1 [1.2.1 1 200903060201]


    org.netbeans.modules.xml.axi [1.4.1 200903060201]


    org.netbeans.modules.xml.catalog/2 [1.14.1.4 4 200903060201]


    org.netbeans.modules.xml.core/2 [1.15.1.4 4 200903060201]


    org.netbeans.modules.xml.lexer [1.3.1 200903060201]


    org.netbeans.modules.xml.schema.model/1 [1.4.1 1 200903060201]


    org.netbeans.modules.xml.text/2 [1.16.2.5 5 200903060201]


    org.netbeans.modules.xml.xam/1 [1.4.1 1 200903060201]


    org.netbeans.spi.editor.hints/0 [1.5.1.6.2 6 200903060201]


    org.netbeans.spi.navigator/1 [1.7.1 200903060201]


    org.netbeans.spi.quicksearch [1.0.1 200903060201]


    org.netbeans.swing.dirchooser [1.2.1 200903060201]


    org.netbeans.swing.outline [1.1.1 200903060201]


    org.netbeans.swing.plaf [1.8.1 200903060201]


    org.netbeans.swing.tabcontrol [1.13.1 200903060201]


    org.openide.actions [6.8.1.1 200903060201]


    org.openide.awt [7.3.1.1 200903060201]


    org.openide.compat [6.7.1 200903060201]


    org.openide.dialogs [7.8.1 200903060201]


    org.openide.execution [1.12.1 200903060201]


    org.openide.explorer [6.16.3 1 200903060201]


    org.openide.filesystems [7.13.1.1.1 1 200903060201]


    org.openide.io [1.13.1 200903060201]


    org.openide.loaders [7.2.3 200903060201]


    org.openide.modules [7.7.1 200903060201]


    org.openide.nodes [7.7.3.1 200903060201]


    org.openide.options [6.9.1 200903060201]


    org.openide.text [6.21.2 200903060201]


    org.openide.util [7.18.1.1 1 200903060201]


    org.openide.windows [6.24.1 200903060201]


    org.openidex.util/3 [3.15.1 200903060201]


    org.springframework/1 [2.5 090514]


So far I am very impressed with the general ease of use and performance of IJC.  However I am having one issue that is potentially a deal breaker: the code seems very poorly written in terms of gracefully handling errors.  I am constantly getting error dialog boxes popping up talking about "Unhandled Error... ...out of memory" or other such nonsense.  Sometime the program freezes.  Sometimes it merely fails to complete whatever operation I was performing.  


Is there something wrong with my installation?  I have uninstalled and reinstalled numereous times to attempt to solve this, but to no avail.


Hopeful,


Randy Lee

ChemAxon fa971619eb

27-07-2009 15:37:16

Instant JChem, like any Java application, has a fined maximum amount of memory assigned to it. You can configure this settings, but it only take effect when you start the application.


For most cases the default settings are fine, but if you are handling very large databases then you will need to increase this setting or you may run into out of memory errors.


You can change the setting by using Tools -> Options then selecting the Miscellaneous section and then the Startup settings tab.


This page in the user guide gives more information:


http://www.chemaxon.com/instantjchem/ijc_latest/docs/user/help/htmlfiles/tips_and_tricks/memory_usage.html


Tim


 

User 578a64755d

27-07-2009 16:25:14

I'll try that.  I don't think that will fix all the errors I am getting, but we'll see. 


BTW, can't that error be handled more gracefully?  i.e. catch the error and inform the user that they need to restart with more memory.  Kinda like what you just told me, only without all the red tape of having to log in to the forum, etc., etc.

User 578a64755d

27-07-2009 16:29:25

Can't you simply wrapper the application with a shell ap that monitors memory usage, increases allocation, and retarts the core ap as needed?

ChemAxon fa971619eb

28-07-2009 09:01:17

As mentioned, the way Java applications work is that they startup with a configured amount of maximum memory they can use. This setting can only be changed by restarting the application. There is no way to do this while the application is runnning.


We provide a quite large setting as the default (300M) which will be enough for most cases, but if you do need to handle very large numbers of structures then this will need to be increased, as described in the user guide. The memory monitor toolbar may also be useful for assessing this.


Tim

User 578a64755d

31-07-2009 09:12:48

What is this?


java.lang.IllegalArgumentException: Expression has errors
 at com.im.df.api.support.DFUpdateDescription.checkExpression(DFUpdateDescription.java:104)
 at com.im.df.api.support.DFUpdateDescription.<init>(DFUpdateDescription.java:69)
 at com.im.df.api.support.DFUpdateDescription.create(DFUpdateDescription.java:44)
 at com.im.ijc.io.quickimport.QuickImportWizardIterator.loadData(QuickImportWizardIterator.java:748)
 at com.im.ijc.io.quickimport.QuickImportWizardIterator.access$100(QuickImportWizardIterator.java:91)
 at com.im.ijc.io.quickimport.QuickImportWizardIterator$2.run(QuickImportWizardIterator.java:547)
 at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)

ChemAxon fa971619eb

03-08-2009 08:35:57

When reporting errors please can you at the minimum report:


1. The version of IJC being used.
2. The operating system being used.
3. What was being done that caused the error, described in a way that allows us to reproduce the error. If necessary please provide sample data.


Without this sort of information it is very difficult to know what has caused the errors, and hence how we can fix it.


From the error message reported, it would appear that the error occurred when trying to merge data during import. I have just tested this functionality in IJC 2.5.2 and it appears to be functioning correctly, so we will need additional information if we are to investigate this further.


Tim


 

User 578a64755d

03-08-2009 20:50:33

Hi Tim,


Thanks for your continued attention!


I am using XP64 sp2, and the latest version of IJC freshly downloaded from your website.  I check for updates on at least a weekly basis.  Last night I did a fresh install of windows.  Soon I will install the latest version, bump my memory settings way up, try the merge again, and report if I have any more issues.  


If it still bombs, I will create two tiny samples of my data - the database and merge file - and if those still bomb, I will upload them. 


Regards,


Randy

ChemAxon e189db4705

04-08-2009 19:40:20

Hello,


thanks for the additional information. We were able to reproduce the problem now. It seems that during the merge (when importing data into existing entity) there were probably specified incompatible (or not suitable) column(s) for merging.


Specifically we could reproduce it when merge column was of Decimal type. Testing equality of decimal values is problematic, because of binary representation of decimal numbers. That's why equal is not allowed in query in Instant JChem.


We are going to improve this in next (or following) version.


What column type have you used for merge during import?


thank you for info


Petr


 


 

User 578a64755d

05-08-2009 21:59:53

Hi, well this one is hot off the presses:



java.lang.IllegalArgumentException: Operand cannot be null! Use some contant value playing role of null instead.


at com.im.df.api.dml.DFTermsFactory.createFieldOperatorValueExpr(DFTermsFactory.java:71)


at com.im.df.query.ui.QueryFactories$FieldOperatorValueQueryTermFactory.createQueryTerm(QueryFactories.java:534)


at com.im.df.query.ui.QueryFactories.createFieldOperatorValueQueryTerm(QueryFactories.java:199)


at com.im.ijc.io.quickimport.QuickImportWizardIterator.loadData(QuickImportWizardIterator.java:743)


at com.im.ijc.io.quickimport.QuickImportWizardIterator.access$100(QuickImportWizardIterator.java:91)


at com.im.ijc.io.quickimport.QuickImportWizardIterator$2.run(QuickImportWizardIterator.java:547)


at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)


[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)



This happened twice while I was importing 1409 rows of a .csv created by Excel.  I isolated the rows that failed to import, put them in an individual .csv with 6 rows, and it imported just fine.  The merge column is text.  


 


Thanks!


 


 

ChemAxon e189db4705

05-08-2009 23:45:33

Hello,


it seems that value for merging is NULL (empty) for some reason. We tested this and can confirm that error appears when value is empty in csv file, for example:


"Number","Another number","TextForMerge"
1,"1,34","a"
2,"0,31",
4,,


... this fails, because value of TextForMerge is empty. As you exported this from Excel and separated rows didn't cause error, I suppose this is not this case? Could you please confirm that these failing rows are correct in CSV file (all values filled)?


We are going to improve this error handling of course.


Thank you for the post.


 

User 578a64755d

06-08-2009 18:18:59

There were no rows with blanks in the merge column.  When I put the rows that didn't import into their own .csv, they imported just fine.

ChemAxon fa971619eb

09-08-2009 11:03:31

Its difficult to diagnose this without the exact data that is causing the problem.


Can you supply the data file (or part of it) that is causing the problem. Send privately if preferred (tdudgeon at chemaxon dot com).


 


Thanks


Tim

User 578a64755d

09-08-2009 21:20:00

I can't say that I have a dataset that reproduces this error.  As I explained, when I eliminated most of the rows, (the rows that had already been imported before the crash), the problem went away.


If it happens again, I will try to capture a snapshot of the data.