[Tomcat] Incompatible object argument for function call

Hello,
I've got a jsp which use a DOM parser to read XML. This jsp works good on my station :
Tomcat 4.1.24
JDK 1.3.1_07
Windows XP
I put my webapp on another station :
Tomcat 4.1.24 (the same)
JDK 1.3.1_12
Windows NT
but there, my jsp return an error :
java.lang.VerifyError: (class: org/apache/jsp/doFncaBourse_jsp, method: _jspService signature: (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V) Incompatible object argument for function call
at java.lang.Class.newInstance0(Native Method)
at java.lang.Class.newInstance(Class.java:232)
at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:151)
at org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:440)
at org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:390)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:471)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:479)
I don't understand where it comes from so if somebody can help me, it will be wonderful.
Thanks et good afternoon and sorry for my english.

Is it enough to write
set JAVA_OPT= "-noverify"
before
set EXECJAVA=%RUNJAVA%
set MAINCLASS=org.apache.catalina.startup.Bootstrap
set ACTION=start
set SECURITY_POLICY_FILE=
set DEBUG_OPTS=
set JPDA=
?

Similar Messages

  • Java.lang.VerifyError - Incompatible object argument for function call

    Hi all,
    I'm developing a JSP application (powered by Tomcat 4.0.1 in JDK 1.3, in Eclipse 3.3). Among other stuff I have 3 classes interacting with an Oracle database, covering 3 use cases - renaming, adding and deleting an database object. The renaming class simply updates the database with a String variable it receives from the request object, whereas the other two classes perform some calculations with the request data and update the database accordingly.
    When the adding or deleting classes are executed, by performing the appropriate actions through the web application, Tomcat throws the following:
    java.lang.VerifyError: (class: action/GliederungNewAction, method: insertNewNode signature: (Loracle/jdbc/driver/OracleConnection;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V) Incompatible object argument for function call
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:120)
         at action.ActionMapping.perform(ActionMapping.java:53)
         at ControllerServlet.doResponse(ControllerServlet.java:92)
         at ControllerServlet.doPost(ControllerServlet.java:50)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    ...The renaming works fine though. I have checked mailing lists and forums as well as contacted the company's java support but everything I have tried out so far, from exchanging the xerces.jar files found in JDOM and Tomcat to rebuidling the project didn't help.
    I just can't explain to myself why this error occurs and I don't see how some additional Java code in the other 2 classes could cause it?
    I realize that the Tomcat and JDK versions I'm using are totally out of date, but that's company's current standard and I can't really change that.
    Here's the source code. I moved parts of the business logic from Java to Oracle recently but I left the SQL statements that the Oracle stored procedures are executing if it helps someone.
    package action;
    import java.sql.CallableStatement;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.StringTokenizer;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import oracle.jdbc.driver.OracleConnection;
    * This class enables the creation and insertion of a new catalogue node. A new node
    * is always inserted as the last child of the selected parent node.
    public class GliederungNewAction implements Action {
         public String perform(ActionMapping mapping, HttpServletRequest request,
                   HttpServletResponse response) {
              // fetch the necessary parameters from the JSP site
              // the parent attribute is the selected attribute!
              String parent_attribute = request.getParameter("attr");
              String catalogue = request.getParameter("catalogue");
              int parent_sequenceNr = Integer.parseInt(request.getParameter("sort_sequence"));
              // connect to database    
              HttpSession session = request.getSession();   
              db.SessionConnection sessConn = (db.SessionConnection) session.getAttribute("connection");
              if (sessConn != null) {
                   try {
                        sessConn.setAutoCommit(false);
                        OracleConnection connection = (OracleConnection)sessConn.getConnection();
                        int lastPosition = getLastNodePosition( getLastChildAttribute(connection, catalogue, parent_attribute) );
                        String newNodeAttribute = createNewNodeAttribute(parent_attribute, lastPosition);
                        // calculate the sequence number
                        int precedingSequenceNumber = getPrecedingSequenceNumber(connection, catalogue, parent_attribute);
                        if ( precedingSequenceNumber == -1 ) {
                             precedingSequenceNumber = parent_sequenceNr;
                        int sortSequence = precedingSequenceNumber + 1;
                        setSequenceNumbers(connection, catalogue, sortSequence);
                        // insert the new node into DB
                        insertNewNode(connection, catalogue, newNodeAttribute, parent_attribute, "Neuer Punkt", sortSequence);
                        connection.commit();
                   } catch(SQLException ex) {
                        ex.printStackTrace();
              return mapping.getForward();
          * Creates, fills and executes a prepared statement to insert a new entry into the specified table, representing
          * a new node in the catalogue.
         private void insertNewNode(OracleConnection connection, String catalogue, String attribute, String parent_attribute, String description, int sortSequence) {
              try {
                   String callAddNode = "{ call fasi_lob.pack_gliederung.addNode(:1, :2, :3, :4, :5) }";
                   CallableStatement cst;
                   cst = connection.prepareCall(callAddNode);
                   cst.setString(1, catalogue);
                   cst.setString(2, attribute);
                   cst.setString(3, parent_attribute);
                   cst.setString(4, description);
                   cst.setInt(5, sortSequence);
                   cst.execute();
                   cst.close();
              } catch (SQLException e1) {
                   // TODO Auto-generated catch block
                   e1.printStackTrace();
    //          String insertNewNode = "INSERT INTO vstd_media_cat_attributes " +
    //                    "(catalogue, attribute, parent_attr, description, sort_sequence) VALUES(:1, :2, :3, :4, :5)";
    //          PreparedStatement insertStmt;
    //          try {
    //               insertStmt = connection.prepareStatement(insertNewNode);
    //               insertStmt.setString(1, catalogue);
    //               insertStmt.setString(2, attribute);
    //               insertStmt.setString(3, parent_attribute);
    //               insertStmt.setString(4, description);
    //               insertStmt.setInt(5, sortSequence);
    //               insertStmt.execute();
    //               insertStmt.close();
    //          } catch (SQLException e) {
    //               e.printStackTrace();
          * This method returns the attribute value of the last child of the parent under which
          * we want to insert a new node. The result set is sorted in descending order and only the
          * first result (that is, the last child under this parent) is fetched.
          * If the parent node has no children, "parent_attr.0" is returned. 
          * @param connection
          * @param catalogue
          * @param parent_attribute
          * @return attribute of the last child under this parent, or "parent_attr.0" if parent has no children
         private String getLastChildAttribute(OracleConnection connection, String catalogue, String parent_attribute) {
              String queryLastChild = "SELECT attribute FROM vstd_media_cat_attributes " +
                                            "WHERE catalogue=:1 AND parent_attr=:2 ORDER BY sort_sequence DESC";
              String lastChildAttribute;
              PreparedStatement ps;
              try {
                   ps = connection.prepareStatement(queryLastChild);
                   ps.setString(1, catalogue);
                   ps.setString(2, parent_attribute);
                   ResultSet rs = ps.executeQuery();
                   /* If a result is returned, the selected parent already has children.
                    * If not set the lastChildAttribute to parent_attr.0
                   if (rs.next()) {
                        lastChildAttribute = rs.getString("attribute");
                   } else {
                        lastChildAttribute = parent_attribute.concat(".0");
                   rs.close();
                   return lastChildAttribute;
              } catch (SQLException e) {
                   e.printStackTrace();
                   return null;
          * This helper method determines the position of the last node in the attribute.
          * i.e for 3.5.2 it returns 2, for 2.1 it returns 1 etc.
          * @param attribute
          * @return position of last node in this attribute
         private int getLastNodePosition(String attribute) {
              StringTokenizer tokenizer = new StringTokenizer(attribute, ".");
              String lastNodePosition = "0";
              while( tokenizer.hasMoreTokens() ) {
                   lastNodePosition = tokenizer.nextToken();
              return Integer.parseInt(lastNodePosition);
          * This method calculates the attribute of a node being inserted
          * by incrementing the last child position by 1 and attaching the
          * incremented position to the parent.
          * @param parent_attr
          * @param lastPosition
          * @return attribute of the new node
         private String createNewNodeAttribute(String parent_attr, int lastPosition) {
              String newPosition = new Integer(lastPosition + 1).toString();
              return parent_attr.concat("." + newPosition);
          * This method checks if the required sequence number for a new node is already in use and
          * handles the sequence numbers accordingly.
          * If the sequence number for a new node is NOT IN USE, the method doesn't do anything.
          * If the sequence number for a new node is IN USE, the method searches for the next free
          * sequence number by incrementing the number by one and repeating the query until no result
          * is found. Then all the sequence numbers between the required number (including, >= relation)
          * and the nearest found free number (not including, < relation) are incremented by 1, as to
          * make space for the new node.
          * @param connection
          * @param catalogue
          * @param newNodeSequenceNumber required sequence number for the new node
         private void setSequenceNumbers(OracleConnection connection, String catalogue, int newNodeSequenceNumber) {
              // 1. check if the new sequence number exists - if no do nothing
              // if yes - increment by one and see if exists
              //           repeat until free sequence number exists
              // when found increment all sequence numbers freeSeqNr > seqNr >= newSeqNr
              String query = "SELECT sort_sequence FROM vstd_media_cat_attributes " +
                        "WHERE catalogue=:1 AND sort_sequence=:2";
              PreparedStatement ps;
              try {
                   ps = connection.prepareStatement(query);
                   ps.setString(1, catalogue);
                   ps.setInt(2, newNodeSequenceNumber);               
                   ResultSet rs = ps.executeQuery();
                   // if no result, the required sequence number is free - nothing to do
                   if( rs.next() ) {
                        int freeSequenceNumber = newNodeSequenceNumber;
                        do {
                             ps.setString(1, catalogue);
                             ps.setInt(2, freeSequenceNumber++);
                             rs = ps.executeQuery();
                        } while( rs.next() );
                        // increment sequence numbers - call stored procedure
                        String callUpdateSeqeunceNrs = "{ call fasi_lob.pack_gliederung.updateSeqNumbers(:1, :2, :3) }";
                        CallableStatement cst = connection.prepareCall(callUpdateSeqeunceNrs);
                        cst.setString(1, catalogue);
                        cst.setInt(2, newNodeSequenceNumber);
                        cst.setInt(3, freeSequenceNumber);
                        cst.execute();
                        cst.close();
    //                    String query2 = "UPDATE vstd_media_cat_attributes " +
    //                                      "SET sort_sequence = (sort_sequence + 1 ) " +
    //                                      "WHERE catalogue=:1 sort_sequnce >=:2 AND sort_sequence <:3";
    //                    PreparedStatement ps2;
    //                    ps2 = connection.prepareStatement(query2);
    //                    ps2.setString(1, catalogue);
    //                    ps2.setInt(2, newNodeSequenceNumber);
    //                    ps2.setInt(3, freeSequenceNumber);
    //                    ps.executeUpdate();
    //                    ps.close();
                   } // end of if block
                   rs.close();
              } catch (SQLException e) {
                   e.printStackTrace();
          * This method finds the last sequence number preceding the sequence number of a node
          * that is going to be inserted. The preceding sequence number is required to calculate
          * the sequence number of the new node.
          * We perform a hierarchical query starting from the parent node: if a result is returned,
          * we assign the parent's farthest descendant's node sequence number; if no result
          * is returned, we assign the parent's sequence number.
          * @param connection
          * @param catalogue
          * @param parent_attr parent attribute of the new node
          * @return
         private int getPrecedingSequenceNumber(OracleConnection connection, String catalogue, String parent_attr) {
              int sequenceNumber = 0;
              String query = "SELECT sort_sequence FROM vstd_media_cat_attributes " +
                                "WHERE catalogue=:1 " +
                                "CONNECT BY PRIOR attribute = parent_attr START WITH parent_attr=:2 " +
                                "ORDER BY sort_sequence DESC";
              try {
                   PreparedStatement ps = connection.prepareStatement(query);
                   ps.setString(1, catalogue);
                   ps.setString(2, parent_attr);
                   ResultSet rs = ps.executeQuery();
                   if ( rs.next() ) {
                        sequenceNumber = rs.getInt("sort_sequence");
                   } else {
                        // TODO: ggf fetch from request!
                        sequenceNumber = -1;
                   rs.close();
                   ps.close();
              } catch (SQLException e) {
                   e.printStackTrace();
              return sequenceNumber;
    }

    After further googling I figured out what was causing the problem: in eclipse I was referring to external libraries located in eclipse/plugins directory, whereas Tomcat was referring to the same libraries (possibly older versions) in it's common/lib directory.

  • Problem with cesession.jar: Incompatible object argument for function call

    Hi,
    I'm looking for an actual file cesession.jar because my current version from BOXI SP2 (01.03.2007 09:22, 62 KB) causes an error.
    Who can help me?
    Best Regards
    Arnold
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: (class: com/crystaldecisions/sdk/framework/internal/d, method: a signature: ()V) Incompatible object argument for function call
         org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:460)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    root cause
    javax.servlet.ServletException: (class: com/crystaldecisions/sdk/framework/internal/d, method: a signature: ()V) Incompatible object argument for function call
         org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
         org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
         org.apache.jsp.TutorialDesktop.start_jsp._jspService(start_jsp.java:151)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    root cause
    java.lang.VerifyError: (class: com/crystaldecisions/sdk/framework/internal/d, method: a signature: ()V) Incompatible object argument for function call
         com.crystaldecisions.sdk.framework.internal.CEFactory.makeSessionMgr(Unknown Source)
         com.crystaldecisions.sdk.framework.CrystalEnterprise.getSessionMgr(Unknown Source)
         org.apache.jsp.TutorialDesktop.start_jsp.createAuthenticationList(start_jsp.java:26)
         org.apache.jsp.TutorialDesktop.start_jsp._jspService(start_jsp.java:132)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.26 logs.

    Hello Arnold,
    Can you provide us the exact information about the implementation version and Ant-version of the cesession.jar file that you are using.
    This could be observed by opening the jar file using winrar or winzip, then go to the MANIFEST.MF file present inside META-INF folder.
    Once you will open the MANIFEST.MF file, please let us know the first seven lines present inside the same fle.
    Thanks,
    Chinmay

  • Incompatible object argument for function call exception

    I am hoping someone has seen this issue before.
    Running CF 7.0.1.116466 with JRun 4.
    I have a 3rd party search engine application running on a
    separate server. I interface with the engine via their Java API. I
    am able to use the search engine when executing using a home grown
    Java application. It also worked with CF 6. However, when I try to
    implement the same cold in CF, it fails with the exception attached
    below. I am able to successfully create the objects. The error
    occurs when the objects attempt to connect with the engine.
    I have also attached the code that is causing the errors.
    "seObj" creates an interface with the search engine. It is
    constructed with the server address as a parameter. It does not
    attempt to contact the engine when it is first constructed.
    "dsObj" allows access to specific content in the engine. This
    is where the connection to the engine is attempted and the error
    occurs.
    Any assistance would be greatly appreciated.
    12/13 10:26:12 error (class: org/jacorb/orb/Delegate, method:
    getReference signature:
    (Lorg/jacorb/poa/POA;)Lorg/omg/CORBA/portable/ObjectImpl;)
    Incompatible object argument for function call
    java.lang.VerifyError: (class: org/jacorb/orb/Delegate,
    method: getReference signature:
    (Lorg/jacorb/poa/POA;)Lorg/omg/CORBA/portable/ObjectImpl;)
    Incompatible object argument for function call
    at org.jacorb.orb.ORB._getObject(Unknown Source)
    at org.jacorb.orb.ORB.string_to_object(Unknown Source)
    at com.engenium.semetric.Engine.initRef(Engine.java:731)
    at com.engenium.semetric.Engine.getDocSet(Engine.java:81)
    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:324)
    at
    coldfusion.runtime.java.JavaProxy.invoke(JavaProxy.java:74)
    at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:1634)
    at cfinsert2ecfm673131553.runPage(C:\Documents and
    Settings\Jameso\My Documents\workspace\SemetricCF7\insert.cfm:12)
    at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:152)
    at
    coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:349)
    at
    coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
    at
    coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:210)
    at
    coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:51)
    at coldfusion.filter.PathFilter.invoke(PathFilter.java:86)
    at
    coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:27)
    at
    coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:69)
    at
    coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:52)
    at
    coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:2 8)
    at
    coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
    at
    coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
    at
    coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
    at
    coldfusion.filter.RequestThrottleFilter.invoke(RequestThrottleFilter.java:115)
    at coldfusion.CfmServlet.service(CfmServlet.java:107)
    at
    coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:78)
    at
    jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
    at
    jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
    at
    jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:257)
    at
    jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:541)
    at
    jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
    at
    jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:318)
    at
    jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:426)
    at
    jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:264)
    at
    jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

    Hi, Thanks.
    But the problem is still there.
    If I put
    public class SimpleThread extends Thread
    No problem, but if I put
    public class SimpleThread implements Runnable
    I got java.lang.VerifyError: (class: TestNotify, method: main signature: ([Ljava/lang/String;)V) Incompatible object argument for function call
    Exception in thread "main"
    Regards,
    Youbin
    Please refer to the following code:
    public class SimpleThread implements Runnable {
        private boolean isWaited = false;
        public void run() {
            synchronized(this) {
                while (true) {
                    System.out.println("Hi ------------");
                    try {
                        Thread.sleep(5000);
                        System.out.println("Start wait()");
                        isWaited=true;
                        wait();
                        isWaited=false;
    catch (Exception e) { }
    public class TestNotify {
    public static void main(String[] args) {
    SimpleThread simpleThread = new SimpleThread();
    simpleThread.start();
    try {
    Thread.sleep(10);
    } catch (Exception e) { }
    while (simpleThread.getIsWaited()) {
    synchronized(simpleThread) {
    System.out.println("Start notify()");
    simpleThread.notify();
    System.out.println("Arrived");
    int i=0;
    while (!simpleThread.getIsWaited()) {
    i++;
    System.out.println("Arrived="+i);
    synchronized(simpleThread) {
    System.out.println("Start notify() again");
    simpleThread.notify();
    System.out.println("Arrived again");

  • Incompatible object argument for function call

    when my application is trying to access a jsp page, I am getting an error:
    Request URI:/asteroid/admin/clientDetails.jsp
    Exception:
    java.lang.VerifyError: (class: admin/clientDetails, method: _jspService signature: (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V) Incompatible object argument for function call
    i am using ora9ias Java edition.
    At this point I am out of ideas as of why this is happening.
    This application runs fine on oc4j stand alone.

    Is it enough to write
    set JAVA_OPT= "-noverify"
    before
    set EXECJAVA=%RUNJAVA%
    set MAINCLASS=org.apache.catalina.startup.Bootstrap
    set ACTION=start
    set SECURITY_POLICY_FILE=
    set DEBUG_OPTS=
    set JPDA=
    ?

  • I have an error( REP-53053: Bad arguments for function call) in this code?somebody pls tell..

    declare
    repname varchar2(50);
    repid REPORT_OBJECT;
    v_rep VARCHAR2(100);
    begin
    repid := find_report_object('MKTRCON03_SUM_WAG11');
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_EXECUTION_MODE,BATCH);
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS);      
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'spreadsheet');
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER,'P_CLIENT='||:block4.CLIENT_CODE||' '||'P_MONTHNM='||:block4.MONTH_NM);
    v_rep := RUN_REPORT_OBJECT(repid);
    WEB.SHOW_DOCUMENT('http://iterp1:8889/reports/rwservlet/getjobid'||substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server=rep_iterp1','_blank');
    end;

    What is the prototype of the function you're calling?
    void  Norm(uint8_t *Image, uint32_t width, uint32_t height, uint32_t Nx, uint32_t Ny, double *Norm);
    What does your LabVIEW code look like?
    Files attached. It simply reads in an image and calls the C library. This vi executes with a test-dummy dll that accepts the same inputs, and outputs a direct copy of the image; therefore, I can assume that the vi is fine and my inputs match the correct types.
    Are you using arrays? Is the DLL assuming that the caller allocates memory?
    Yes. I initialize two arrays in the calling vi and pass the pointer into the dll. Inside the dll, I dynamically allocate 2 arrays and deallocate them at the end of the function.
    I am sure that the arrays are initialized correctly in the code and the correct value and type are passed into the dll. I made sure of this by commenting out the real code, and writing a simple function to copy the original array into the the resulting array. The results were favorable and the array was successfully copied in the dll and the vi finished without errors, and with correct copied values in the resulting array.
    Is the DLL allocating memory for things like arrays that doesn't get released?
    Yes, I dynamically allocate arrays that are used inside the dll only. These do not get used by my calling vi, and as far as I know, they are effectively deallocated at the end of the function.
    Are you using the correct calling convention? 
    My dll is a .cpp file, but it is written as a C-callable function.
    Message Edited by Candice on 08-11-2009 09:52 AM
    Attachments:
    test driver for dll 2.1.vi ‏50 KB
    Pad an Image with Zeros subvi.vi ‏50 KB

  • ORA-00939: too many arguments for function using Timezones in xquery

    Running on Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    CREATE TABLE "ORT"."SAMPLE"
       ( "THEDATE" DATE,
    "THETIMESTAMP" TIMESTAMP (6),
    "STARTTIMESTAMP" TIMESTAMP (6) WITH LOCAL TIME ZONE,
    "ENDTIMESTAMP" TIMESTAMP (6) WITH LOCAL TIME ZONE
    REM INSERTING into SAMPLE
    SET DEFINE OFF;
    Insert into SAMPLE (THEDATE,THETIMESTAMP,STARTTIMESTAMP,ENDTIMESTAMP) values (to_date('13-06-10 14:07:52','RR-MM-DD HH24:MI:SS'),to_timestamp('13-06-19 14:27:52.000000000','RR-MM-DD HH24:MI:SS.FF'),to_timestamp('13-06-19 10:34:04.586000000','RR-MM-DD HH24:MI:SS.FF'),to_timestamp('13-06-19 15:05:38.805000000','RR-MM-DD HH24:MI:SS.FF'));
    following query raises ora-00939
    SELECT XMLQUERY('for $v in fn:collection("oradb:/ORT/SAMPLE")
    let $date1 := $v/ROW/STARTTIMESTAMP/text()
    let $date2 := $v/ROW/ENDTIMESTAMP/text()
    return if ($date1 < $date2) then (concat($date1," date is less than ", $date2)) else (concat($date1," date is greater than ", $date2)) ' returning content) from dual;
    ORA-00939: too many arguments for function
    00939. 00000 -  "too many arguments for function"
    *Cause: 
    *Action:
    any ideas?

    Hi Odie,
    Not too familiar with XQuery rewrite, but i suspect by providing this hint, Oracle cannot optimize the query whatsoever.... tried this hint in my actual query and basically hangs.... I will attempt at opening an SR with Oracle...
    the other option i'm looking at is checking the date ranges outside of xquery, and using a mix of xmltable, xmlexists and the SQL XML functions to reconstruct my xml.

  • Is it possible to get the caller object in a function call hierarchy ?

    Hi,
    I have a problem in hand for adding a new functionality to an existing code with MINIMAL code change. For this I need to get some extra information in a function call from its caller. And for this I do not want to change the signature of the method, as it requires a lot of code change. So I need to have a programming facility by which I can get the object from which the function was invoked. Some thing like "{code}this.CALLEROBJECT{code}".
    Please let me know whether we can achieve this in JAVA. I wonder if such a facility exists in any programming language...
    Thanks in advance.
    Regards
    Joby

    No.
    Youd have to buy it Germany or see if an Apple Authrorized reseller in Singapore could order you the keyboard.

  • Array argument in function call from 3DAnnots to host

    Hi,
    with Acrobat I am trying this: host.my_func(Array) from within an Annots3D script.
    my_func is a pdf document function.
    This is what I get in my_func:
    1) console.println (Array): Arr_Element_1,Arr_Element2
    2) for..in, console.println (Array[i]):
    [object ScriptProxy]
    [object ScriptProxy]
    Array[i] is undefined
    (actually I am passing a 2-element array).
    So, the only way to work on Array in document my_func is to stringify Array (Array.toString()) and recreate an array. This may be a feasible way with litteral arrays but not as praticable with objects as you can image.
    Have you got any workarounds?
    Thanks

    Global access to objects is indeed part of the sandboxing restriction. What you're trying to do is not transfer an object reference between scripts as you would when web pages interact with one another, but between interpreters. Allowing that would be a huge problem, as you could inject methods as well as properties.

  • PowerShell: Possible to return a DataReader object from a function call

    I have to interact with several different db's.  I was wondering how I could use a common Function for the connection and commnad params and have it return a DatReader object that I then could evaluate?
    Example: (psuedo-code)
    Function SqlCmd(Db, instance, command) {... return <DataReader onject>}
    $Datareader= SqlCmd Db instance command
    if ($Datareader.HasRows) {..to something..}
    Thanks
    TR

    Hi TR,
    This is possible by using the Dot.Net Sql objects. Below is a small function which takes a connection string and a SQL query string and returns a DataReader object:
    function
    Get-SQLData()
    param (
       [string]$sqlConnectionString,
       [string]$query
    # Create a connection to the OLAP Database
    $connection
    =
    New-Object
    System.Data.SqlClient.SqlConnection
    $sqlConnectionString
    $connection.Open()
    if (!$?)
    {throw
    "Could not open the connection."}
    $command
    =
    New-Object
    System.Data.SqlClient.sqlCommand
    $query,
    $connection
    $dataReader
    =
    $command.ExecuteReader()
    ,$dataReader
    The most important thing to note in this entire function in the comma in front of the $dataReader at the end of the function. As PowerShell implicitly tries to unpack collection objects, this comma forces the collection to
    be returned intact allowing you to use it as required. So here is an example of usage:
    $dr
    =
    Show-SQLData
    $sqlConnectionString
    $query
    if ($dr.HasRows)
       while ($dr.Read())
    "$($dr[0]) $($dr[1]) $($dr[2])"
    Hope that helps!
    Chris

  • Partner  for functional location of connecttion object

    Hi Fritz,
    Thank you for your support,
    I would require to have a Migration Object : PARTNER  for FUNCTIONAL LOCATION of CONNECTION OBJECT.
    i know its a custom development can you help me with this context. To go ahead and develop this.
    As i would require this to complete the data migration cycle for one part.
    what are the requirement i need to take care to make this customization possible?
    Regards,
    Robert.

    Hi Fritz,
    Thank you for your response,
    My need is to create a PARTNERS for the FUNCTIONAL LOCATION.
    LET ME DESCRIBE IT.
    WHEN I AM CREATING A FUNCTION LOCATION USING IL01, AS I ENTER A FUNCTIONAL LOCATION AND PRESS ENTER IN THE NEXT SCREEN.
    AND
    I NEED TO ENTER THE PARTNERS FROM THE DROP DROWN MENU  GOTO ->PARTNERS
    WHICH TAKES ME TO THE NEXT SCREEN WHERE I NEED TO FILL THE INFORMATION IN THE TWO FIELDS : FUNCT & PARTNER.
    I need a partner for the functional location that i mentioned above.and i need to upload that information in through Emigall.
    So my query was that can we customize that partner for this functional location and if yes, what should the constraints,
    what are steps required? Do we require a custom service module?
    Regards,
    Robert.

  • Using type for function in sql

    CREATE OR REPLACE
    type InListType_number as table
    of number
    CREATE OR REPLACE function in_list( p_patseq in number ) return InListType_number
    as
    l_number number default p_patseq ;
    l_data InListType_number := InListType_number();
    begin
    loop
    exit when l_number is null;
    end loop;
    return l_data;
    end;
    SELECT p.pat_seq, p.diagnosis_type, ct.code_value || ' ' || p.alt_description as diagnosis_desc
    FROM patient_diagnosis p,
         (select * from code_set , code_set_type
         where code_set.code_set_type_seq =code_set_type.code_set_type_seq) ct
    WHERE p.enterprise_seq = (select enterprise_seq from org_lookup where organization_seq = 0 and rownum = 1)
    and p.diagnosis_code_seq = ct.code_set_seq(+)
    and (p.diagnosis_type LIKE 'A%' OR p.diagnosis_type LIKE 'W%')
    and p.PAT_SEQ IN (select /*+ CARDINALITY (t ) */* from table( cast( in_list (list of pat_seq here like 12345,12344,345666,etc over 1000 counts of pat_seqs)
    as InListType_number ) ) t)
    this gives me
    ORA-00939: too many arguments for function
    can someone advise? thanks

    Well IN_LIST takes a single parameter of type NUMBER and you are passing in
    12345,12344,345666which is patently multiple numbers. I think what you want to do is pass in a string ' 12345,12344,345666' and have a function TO_LIST() that parses the string and spits out numbers. Fortunately for you John Spencer has posted Re: Splitting the values in one column.
    Cheers, APC

  • Dynamically catch a function call from an object at runtime

    Hi,
    I have a bit of an interesting question.
    Say I have a dynamic object named Foo. It may have a set of explicitly defined functions:
    public function helloWorld():String
         return "hello world";
    public function get name():String
         return "My Name";
    etc.
    I want to be able to create a further function
    public function handleFunctionCall(functionCall:String, args:Array):*
         trace("Function: " + functionCall + " was called with the arguments:");
         for(var i:int=0; i<args.length; i++)
              trace(args[i]);
    The purpose of this is so that I can declare the object Foo and then call any function and handle it accordingly at runtime.
    e.g.
    var foo:Foo=new Foo();
    foo.bar();
    foo.whathaveyou();
    foo.whatever();
    Hope someone can point me in the right direction.

    I'd be interested to know more about what you are trying to achieve, but the code below should work:
    public function handleFunctionCall( functionName : String, args : Array ) : *
       var functionToCall : Function = this[ functionName ];
       return functionToCall.call( this, args );
    For alternative approaches you may want to take a look at behavioural design patterns. The command or strategy pattern may suit your needs.

  • Run time error: Incompatible argument to function

    I user JDeveloper 9.0.3.2, JDK 1.4.1_02, deployed to stand alone OC4J 9.0.3.0.0
    when I run my client, get the following error:
    java.lang.VerifyError: (class: com/ses/nucleus/bc4j/base/BaseViewObjectImpl, method: getMaxMinValue signature: (II)Ljava/lang/Object;) Incompatible argument to function
    any suggestions?
    Thanks a lot in advance!
    Frank
         

    does the problem persist if you use JDK 1.3 for running your OC4J 9.0.3 container?

  • Error: Illegal number of arguments passsed to the function call

    HI All,
    In our scenario we are using XSLT mapping with java enhancement.Its working fine in Stylus studio but when the same is imported into XI its throwing the below mentioned error:
    javax.xml.transform.TransformerException: com.sap.engine.lib.xml.util.NestedException: Illegal number of arguments or types of arguments in a call of function 'Trans:Convert'.
    Our requirement is that we are summing up the field "Grant_Amount" which occurs multiple times in the source structure and the sum is mapped to the field "Sum' on the target side.The stylesheet is working fine in stylus studio but whe  imported into XI the above mentioned error is being thrown.Can any one one please help me solving this issue.
    The XSL, the source XMLand the java class are mentioned below:
    <
    XSL:
    ===
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="http://www.infosys.com/sap/xi/projects/sce/n1" xmlns:Trans="com.company.group.String2Number">
         <xsl:template match="/">
              <a:MT_TargetXSLJava>
              <Record>
                   <Detailrecord>
                         <Sum>
                      <xsl:value-of select="Trans:Convert(//Grant_Amount)"/>
                         </Sum>
                          <Flag>
                     <xsl:text>1</xsl:text>     
                          </Flag>
                  </Detailrecord>
              </Record>
              </a:MT_TargetXSLJava>
         </xsl:template>
    </xsl:stylesheet>
    XML:
    ===
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_SourceXSLJava xmlns:ns0="http://www.infosys.com/sap/xi/projects/sce/n1">
       <Recordset>
          <DETAILRECORD>
             <Grant_Amount>$100.00</Grant_Amount>
          </DETAILRECORD>
          <DETAILRECORD>
             <Grant_Amount>$200.00</Grant_Amount>
          </DETAILRECORD>
          <summary_record>
             <Total>$300.00</Total>
          </summary_record>
       </Recordset>
    </ns0:MT_SourceXSLJava>
    Java Code:
    ========
    package com.company.group;
    public class String2Number
    public static double Convert(String[] a)
    double sum=0;
    String[] temp = new String100;
    for(int i=0;i<a.length;i++)
    temp = (a).replaceAll(",
    $
    sum=sum+Double.parseDouble(temp);
    return sum;
    Please guide me to the right solution.
    Thanks and Regards,
    Karanam

    If you are using below mentioned java code for Convert method, then see you are passing a String Array, but in below statement:
    <xsl:value-of select="Trans:Convert(//Grant_Amount)"/>
    This is just a single value i think, you have to pass an array with values 100,200,300. Pls check it.
    BR,
    Alok

Maybe you are looking for

  • Function Module to get  hierarchy details from a customer account

    Hi Experts, There is certain hierarchy maintained among Business partners. We can see that in transaction BPH. Now What I require is a function module which takes BP number as input and gives output the BP number of child nodes of it . Is there a sta

  • MMS support in Nokia OVI Suite 3 finally?

    The missing MMS support in OVI Suite is an issue since the beginning of OVI Suite. I'm wondering if the MMS support will be implemented in this new version finally!?

  • Trying to Export 16:9 to letterboxed 4:3

    I am using Final Cut Express HD 3.5. I am trying to Export my 16:9 widescreen HD Project to a 4:3 Letterboxed Quicktime Movie. I cannot get this to work correctly, never can get it letterboxed. Please, any Help...!!!!!!!!!!!!!!!!!!!

  • Os 10 on a PC?

    I was wondering whether any one could tell me if OS10 can run on a PC now that Macs have gone to Intel? I have heard that Windows can run on a Mac, but what you want to do that for I don't know. I was thinking you could get a cheap PC and have it run

  • Cannot download adobe pg..error "this page cannot be displayed" --web address is somehow wrong

    company adobe endst cannot be printed....keep getting "this page cannot be displayed" trouble shooting show connection problem ..with no details we have reloaded adobe reader....still cannot print  adobe page...kick out for address?