Notify segmentation fault from C++ in JVM

Hello,
I have a Java application which is doing a request to a C++ application through JNI.
The Java application does not wait the end of the treatment in the C++ part (The work done in the C++ part is about 30 minutes long).
How could I be notified that a "segmentation fault" or such error occured in the C++ application, BEFORE doing another call with the java application???
I want to be able to nofify the user that his request for the work performed in the C++ part has failed without waiting that the user requests again the information.
Thanks a lot for your help.
Tanguy

Search on the topic "callback".

Similar Messages

  • Segmentation fault from libclntsh.so.10.1

    Hi,
    I try to use Pro*C arrays and have Segmentation fault from libclntsh.so.10.1.
    First I accumulate values in arrays and then INSERT them with help of      EXEC SQL FOR :m_entries_num
              INSERT INTO ETCASHMGR.BUY_ORDER
    statement. If error occurred I try to INSERT values in those arrays in DB using loop look this:
         for (int i = 0; i < m_entries_num; i++)
              EXEC SQL INSERT INTO ETCASHMGR.BUY_ORDER
    First statement works.
    However, if error occurs and control is undertaken by statement with loop segmentation fault occurs immediately.
    Here are stamens (without many fields to make long story shorter).
    void InsertBuyData::execute()
         EXEC SQL WHENEVER SQLERROR GOTO sql_error;
         EXEC SQL SAVEPOINT InsertBuyData_point;
         EXEC SQL FOR :m_entries_num
              INSERT INTO ETCASHMGR.BUY_ORDER
                   ticker_symbol,               
                   order_status,
                   order_timestamp,
                   ATS_fee_code,
                   RS_admintag,
                   MOC_order_flag
              VALUES
                   :p_ticker_symbol,               
                   :p_order_status,
                   TO_TIMESTAMP(:p_order_timestamp, 'yyyymmddhh24miss'),
                   :p_ATS_fee_code,
                   :p_RS_admintag,
                   :p_MOC_order_flag
         return;
    sql_error:
         return sql_error();
    void InsertBuyData::sql_error()
         EXEC SQL WHENEVER SQLERROR GOTO sql_error;
         ostringstream os;
         os << endl << "InsertBuyData::execute" << "     " << sqlca.sqlerrm.sqlerrmc << endl;
         cerr << os.str().c_str();     
    EXEC SQL ROLLBACK TO SAVEPOINT InsertBuyData_point;
         for (int i = 0; i < m_entries_num; i++)
              EXEC SQL INSERT INTO ETCASHMGR.BUY_ORDER
                   ticker_symbol,               
                   order_status,
                   order_timestamp,
                   ATS_fee_code,
                   RS_admintag,
                   MOC_order_flag
              VALUES
                   :p_ticker_symbol[i] ,               
                   :p_order_status[i] ,
                   TO_TIMESTAMP(:p_order_timestamp, 'yyyymmddhh24miss'),
                   :p_ATS_fee_code[i] ,
                   :p_RS_admintag[i] ,
                   :p_MOC_order_flag[i]
         return;
    sql_error:
         os << endl << "InsertBuyData::sql_error" << "     " << sqlca.sqlerrm.sqlerrmc << endl;
         cerr << os.str().c_str();
         return;
    Above I take values from arrays one by one (I don't know why "i" in brackets are not seen).
    Here is backtrace.
    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 182919222464 (LWP 7844)]
    0x0000002a957e2bdf in sqlbls ()
    from /usr/app/oracle/product/10gR2/lib/libclntsh.so.10.1
    (gdb) bt
    #0 0x0000002a957e2bdf in sqlbls ()
    from /usr/app/oracle/product/10gR2/lib/libclntsh.so.10.1
    #1 0x0000002a957d34d0 in sqlbdv ()
    from /usr/app/oracle/product/10gR2/lib/libclntsh.so.10.1
    #2 0x0000002a957cdaf1 in sqlexp ()
    from /usr/app/oracle/product/10gR2/lib/libclntsh.so.10.1
    #3 0x0000002a957c8d55 in sqlcmex ()
    from /usr/app/oracle/product/10gR2/lib/libclntsh.so.10.1
    #4 0x0000002a957c95f4 in sqlcxt ()
    from /usr/app/oracle/product/10gR2/lib/libclntsh.so.10.1
    #5 0x000000000041506b in InsertBuyData::sql_error (this=0x713b00)
    at DBClass.cpp:4281
    #6 0x000000000041326e in InsertBuyData::execute (this=0x713b00)
    at DBClass.cpp:3544
    Thank you for any help.
    YP
    Message was edited by:
    user572296

    Did some one find any solution to the above mentioned issue . I am also facing the same issue. Using Linux 64 bit machine with oracle 10.2client installed in it. but getting the following error.
    Loaded symbols for /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/libnnz10.so
    Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done.
    Loaded symbols for /lib64/ld-linux-x86-64.so.2
    Core was generated by `./AutoLoader'.
    Program terminated with signal 11, Segmentation fault.
    #0 0x00002aab0a0e9a53 in sqlcfx () from /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/libclntsh.so.10.1
    (gdb) bt
    #0 0x00002aab0a0e9a53 in sqlcfx () from /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/libclntsh.so.10.1
    #1 0x00002aab0a0cc149 in sqlcmex () from /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/libclntsh.so.10.1
    #2 0x00002aab0a0cca7c in sqlcxt () from /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/libclntsh.so.10.1
    #3 0x000000000040cbf8 in oracle_logon ()
    #4 0x000000000040bed8 in main ()
    Could someone please help me how to resolve it. Very urgent request :(

  • Segmentation Fault

    Hi-
    I've experienced a segmentation fault from Berkeley DB XML Java bindings running in a web application (Tomcat). I'm not able to reproduce the error myself, but it's particularly troubling becasue it brought down the entire JVM that was running the web site. I'm not at all proficient with JNI, so maybe I'm not able to properly diagnose the problem from the logs. Below is the seg fault error that was logged by the JVM:
    # An unexpected error has been detected by Java Runtime Environment:
    #  SIGSEGV (0xb) at pc=0x063966c3, pid=20961, tid=1839516576
    # Java VM: Java HotSpot(TM) Server VM (11.3-b02 mixed mode linux-x86)
    # Problematic frame:
    # V  [libjvm.so+0x3966c3]
    # If you would like to submit a bug report, please visit:
    #   http://java.sun.com/webapps/bugreport/crash.jsp
    ---------------  T H R E A D  ---------------
    Current thread (0x08822c00):  JavaThread "http-8080-6" daemon [_thread_in_vm, id=21027, stack(0x6da2c000,0x6da4d000)]
    siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00000000
    Registers:
    EAX=0x00000000, EBX=0x08b598d8, ECX=0x0006da4b, EDX=0x08822c00
    ESP=0x6da4b6d4, EBP=0x6da4b738, ESI=0x00000ffc, EDI=0x6db77880
    EIP=0x063966c3, CR2=0x00000000, EFLAGS=0x00010216
    Top of Stack: (sp=0x6da4b6d4)
    0x6da4b6d4:   00000000 67c9ecf8 67c9ece3 08b598d8
    0x6da4b6e4:   6db77880 6db77888 6db77c74 08822c00
    0x6da4b6f4:   00000000 00c5a1e3 6da4b718 08822c00
    0x6da4b704:   6e000048 00000011 67d0b11c 08822c00
    0x6da4b714:   0000001d 6da4b738 67c92fa4 08822d14
    0x6da4b724:   08a64cb4 08c4cddc 67d0b11c 00000000
    0x6da4b734:   0000001d 6da4b7f8 67c732db 08822d14
    0x6da4b744:   00000000 00000000 67c9ece3 6da4b7d0
    Instructions: (pc=0x063966c3)
    0x063966b3:   ac 8b 43 08 89 45 b0 8b 43 0c 89 45 b4 8b 45 0c
    0x063966c3:   8b 00 50 e8 35 02 fe ff 83 ec 0c 89 c6 50 e8 72
    Stack: [0x6da2c000,0x6da4d000],  sp=0x6da4b6d4,  free space=125k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    V  [libjvm.so+0x3966c3]
    C  [libdbxml_java-2.4.so+0x2612db]  _Z17createCPPXmlValueP7JNIEnv_P8_jobjectPb+0xd3
    C  [libdbxml_java-2.4.so+0x26bbcd]  _Z24createCPPXmlQueryContextP7JNIEnv_P8_jobjectP7_jclass+0x969
    C  [libdbxml_java-2.4.so+0x27f2ff]  Java_com_sleepycat_dbxml_dbxml_1javaJNI_XmlManager_1prepare_1_1SWIG_10+0xe7
    j  com.sleepycat.dbxml.dbxml_javaJNI.XmlManager_prepare__SWIG_0(JLcom/sleepycat/dbxml/XmlManager;Ljava/lang/String;Lcom/sleepycat/dbxml/XmlQueryContext;)J+0
    j  com.sleepycat.dbxml.XmlManager.prepare(Ljava/lang/String;Lcom/sleepycat/dbxml/XmlQueryContext;)Lcom/sleepycat/dbxml/XmlQueryExpression;+7
    j  com.mycompany.dao.xml.XmlDao.executeQuery(Ljava/lang/String;Lcom/sleepycat/dbxml/XmlQueryContext;)Ljava/util/List;+14
    j  com.mycompany.dao.xml.XMLArticleDAO.getArticleId(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+91
    j  com.mycompany.service.impl.DefaultArticleService.getArticleIdFromUrl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+7
    j  com.mycompany.controller.Level3Controller.handleRequestInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Lorg/springframework/web/servlet/ModelAndView;+236
    j  org.springframework.web.servlet.mvc.AbstractController.handleRequest(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Lorg/springframework/web/servlet/ModelAndView;+62
    j  org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/lang/Object;)Lorg/springframework/web/servlet/ModelAndView;+6
    j  org.springframework.web.servlet.DispatcherServlet.doDispatch(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+224
    j  org.springframework.web.servlet.DispatcherServlet.doService(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+219
    j  org.springframework.web.servlet.FrameworkServlet.processRequest(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+10
    j  org.springframework.web.servlet.FrameworkServlet.doGet(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+3
    j  javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+35
    j  javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+30
    j  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+374
    j  org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+101
    j  org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+804
    j  org.apache.catalina.core.StandardContextValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+365
    j  org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+64
    j  org.apache.catalina.valves.ErrorReportValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+6
    j  org.apache.catalina.core.StandardEngineValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+42
    j  org.apache.catalina.connector.CoyoteAdapter.service(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)V+157
    j  org.apache.coyote.http11.Http11Processor.process(Ljava/net/Socket;)V+432
    j  org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Ljava/net/Socket;)Z+82
    j  org.apache.tomcat.util.net.JIoEndpoint$Worker.run()V+41
    j  java.lang.Thread.run()V+11
    v  ~StubRoutines::call_stub
    V  [libjvm.so+0x375c9d]
    V  [libjvm.so+0x5057f8]
    V  [libjvm.so+0x3755b0]
    V  [libjvm.so+0x37563d]
    V  [libjvm.so+0x3e5ca5]
    V  [libjvm.so+0x5cde5d]
    V  [libjvm.so+0x506929]
    C  [libpthread.so.0+0x53cc]
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j  com.sleepycat.dbxml.dbxml_javaJNI.XmlManager_prepare__SWIG_0(JLcom/sleepycat/dbxml/XmlManager;Ljava/lang/String;Lcom/sleepycat/dbxml/XmlQueryContext;)J+0
    j  com.sleepycat.dbxml.XmlManager.prepare(Ljava/lang/String;Lcom/sleepycat/dbxml/XmlQueryContext;)Lcom/sleepycat/dbxml/XmlQueryExpression;+7
    j  com.mycompany.dao.xml.XmlDao.executeQuery(Ljava/lang/String;Lcom/sleepycat/dbxml/XmlQueryContext;)Ljava/util/List;+14
    j  com.mycompany.dao.xml.XMLArticleDAO.getArticleId(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+91
    j  com.mycompany.service.impl.DefaultArticleService.getArticleIdFromUrl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+7
    j  com.mycompany.controller.Level3Controller.handleRequestInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Lorg/springframework/web/servlet/ModelAndView;+236
    j  org.springframework.web.servlet.mvc.AbstractController.handleRequest(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Lorg/springframework/web/servlet/ModelAndView;+62
    j  org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/lang/Object;)Lorg/springframework/web/servlet/ModelAndView;+6
    j  org.springframework.web.servlet.DispatcherServlet.doDispatch(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+224
    j  org.springframework.web.servlet.DispatcherServlet.doService(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+219
    j  org.springframework.web.servlet.FrameworkServlet.processRequest(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+10
    j  org.springframework.web.servlet.FrameworkServlet.doGet(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+3
    j  javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+35
    j  javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+30
    j  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+374
    j  org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+101
    j  org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+804
    j  org.apache.catalina.core.StandardContextValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+365
    j  org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+64
    j  org.apache.catalina.valves.ErrorReportValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+6
    j  org.apache.catalina.core.StandardEngineValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+42
    j  org.apache.catalina.connector.CoyoteAdapter.service(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)V+157
    j  org.apache.coyote.http11.Http11Processor.process(Ljava/net/Socket;)V+432
    j  org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Ljava/net/Socket;)Z+82
    j  org.apache.tomcat.util.net.JIoEndpoint$Worker.run()V+41
    j  java.lang.Thread.run()V+11
    v  ~StubRoutines::call_stub
    ---------------  P R O C E S S  ---------------
    Java Threads: ( => current thread )
      0x088d4800 JavaThread "http-8080-8" daemon [_thread_blocked, id=21029, stack(0x66e7d000,0x66e9e000)]
      0x08b3d400 JavaThread "http-8080-7" daemon [_thread_blocked, id=21028, stack(0x6da0b000,0x6da2c000)]
    =>0x08822c00 JavaThread "http-8080-6" daemon [_thread_in_vm, id=21027, stack(0x6da2c000,0x6da4d000)]
      0x08823400 JavaThread "http-8080-5" daemon [_thread_blocked, id=21022, stack(0x65cdf000,0x65d00000)]
      0x0881e000 JavaThread "http-8080-4" daemon [_thread_blocked, id=21019, stack(0x6da4d000,0x6da6e000)]
      0x08d75400 JavaThread "pool-2-thread-1" [_thread_blocked, id=21018, stack(0x660df000,0x66100000)]
      0x08976400 JavaThread "http-8080-3" daemon [_thread_blocked, id=21017, stack(0x6da6e000,0x6da8f000)]
      0x08976000 JavaThread "http-8080-2" daemon [_thread_blocked, id=21011, stack(0x6da8f000,0x6dab0000)]
      0x08c4c000 JavaThread "http-8080-1" daemon [_thread_blocked, id=21006, stack(0x6dd9d000,0x6ddbe000)]
      0x08b65000 JavaThread "TP-Monitor" daemon [_thread_blocked, id=21005, stack(0x6ddbe000,0x6dddf000)]
      0x08c5ec00 JavaThread "TP-Processor4" daemon [_thread_in_native, id=21004, stack(0x6dddf000,0x6de00000)]
      0x08c62c00 JavaThread "TP-Processor3" daemon [_thread_blocked, id=21003, stack(0x6df41000,0x6df62000)]
      0x08b66800 JavaThread "TP-Processor2" daemon [_thread_blocked, id=21002, stack(0x6df62000,0x6df83000)]
      0x08eab000 JavaThread "TP-Processor1" daemon [_thread_blocked, id=21001, stack(0x6df83000,0x6dfa4000)]
      0x08c53800 JavaThread "http-8080-Acceptor-0" daemon [_thread_in_native, id=21000, stack(0x6dfa4000,0x6dfc5000)]
      0x08c5d000 JavaThread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" daemon [_thread_blocked, id=20999, stack(0x6df1c000,0x6df3d000)]
      0x08c9e400 JavaThread "pool-1-thread-1" [_thread_blocked, id=20998, stack(0x66ea5000,0x66ec6000)]
      0x08684800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=20996, stack(0x6e1e0000,0x6e201000)]
      0x08683000 JavaThread "CompilerThread1" daemon [_thread_blocked, id=20995, stack(0x6e201000,0x6e282000)]
      0x0867e800 JavaThread "CompilerThread0" daemon [_thread_blocked, id=20994, stack(0x6e282000,0x6e303000)]
      0x0867d000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=20993, stack(0x6e303000,0x6e324000)]
      0x0867b800 JavaThread "Surrogate Locker Thread (CMS)" daemon [_thread_blocked, id=20992, stack(0x6e324000,0x6e345000)]
      0x08668000 JavaThread "Finalizer" daemon [_thread_blocked, id=20991, stack(0x6e545000,0x6e566000)]
      0x08666c00 JavaThread "Reference Handler" daemon [_thread_blocked, id=20990, stack(0x6e566000,0x6e587000)]
      0x08058800 JavaThread "main" [_thread_in_native, id=20962, stack(0xb7fc9000,0xb7fea000)]
    Other Threads:
      0x08663400 VMThread [stack: 0x6e587000,0x6e608000] [id=20989]
      0x08686800 WatcherThread [stack: 0x6e15f000,0x6e1e0000] [id=20997]
    VM state:not at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: None
    Heap
    par new generation   total 471872K, used 261897K [0x70490000, 0x90490000, 0x90490000)
      eden space 419456K,  60% used [0x70490000, 0x7fb7eb48, 0x89e30000)
      from space 52416K,  17% used [0x89e30000, 0x8a703c70, 0x8d160000)
      to   space 52416K,   0% used [0x8d160000, 0x8d160000, 0x90490000)
    concurrent mark-sweep generation total 524288K, used 0K [0x90490000, 0xb0490000, 0xb0490000)
    concurrent-mark-sweep perm gen total 22400K, used 22275K [0xb0490000, 0xb1a70000, 0xb4490000)
    ***DYNAMIC LIBRARIES TRUNCATED (POST TOO LONG)***
    VM Arguments:
    jvm_args: -Xmx1024m -Xms1024m -Xmn512m -Xss128k
    -XX:ParallelGCThreads=20 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:SurvivorRatio=8
    -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=31 -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
    -Djava.util.logging.config.file=/opt/apps/tomcat-6.0.18/conf/logging.properties -Djava.endorsed.dirs=/opt/apps/tomcat-6.0.18/endorsed
    -Dcatalina.base=/opt/apps/tomcat-6.0.18 -Dcatalina.home=/opt/apps/tomcat-6.0.18 -Djava.io.tmpdir=/opt/apps/tomcat-6.0.18/temp
    java_command: org.apache.catalina.startup.Bootstrap start
    Launcher Type: SUN_STANDARD
    Environment Variables:
    PATH=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/opt/apps/php/bin:/opt/apps/apache2/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
    LD_LIBRARY_PATH=/usr/java/jdk1.6.0_13/jre/lib/i386/server:/usr/java/jdk1.6.0_13/jre/lib/i386:/usr/java/jdk1.6.0_13/jre/../lib/i386:/opt/dbxml/lib
    SHELL=/bin/bash
    Signal Handlers:
    SIGSEGV: [libjvm.so+0x6071f0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGBUS: [libjvm.so+0x6071f0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGFPE: [libjvm.so+0x5048b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGPIPE: [libjvm.so+0x5048b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGXFSZ: [libjvm.so+0x5048b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGILL: [libjvm.so+0x5048b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
    SIGUSR2: [libjvm.so+0x506d80], sa_mask[0]=0x00000000, sa_flags=0x10000004
    SIGHUP: [libjvm.so+0x506b20], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGINT: SIG_IGN, sa_mask[0]=0x00000000, sa_flags=0x00000000
    SIGTERM: [libjvm.so+0x506b20], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    SIGQUIT: [libjvm.so+0x506b20], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
    ---------------  S Y S T E M  ---------------
    OS:Red Hat Enterprise Linux ES release 4 (Nahant Update 8)
    uname:Linux 2.6.9-89.ELsmp #1 SMP Mon Apr 20 10:34:33 EDT 2009 i686
    libc:glibc 2.3.4 NPTL 2.3.4
    rlimit: STACK 10240k, CORE 0k, NPROC 32742, NOFILE 1024, AS infinity
    load average:0.00 0.00 0.00
    CPU:total 4 (4 cores per cpu, 1 threads per core) family 6 model 15 stepping 11, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3
    Memory: 4k page, physical 2073300k(27792k free), swap 5197384k(1995648k free)
    vm_info: Java HotSpot(TM) Server VM (11.3-b02) for linux-x86 JRE (1.6.0_13-b03), built on Mar  9 2009 01:16:42 by "java_re" with gcc 3.2.1-7a (J2SE release)
    time: Mon Jul  27 01:51:01 2009
    elapsed time: 11252 secondsI see some "thread blocked" statements, one of them being on the "Low Memory Detector" daemon. Not sure what to make of that.
    This is the method chain (from what I can tell) that caused the error:
    public String getArticleId(String type, String category, String normalizedTitle)
              throws DAOException, DataNotFoundDAOException {
              XmlQueryContext context = null;
              try{
                   context = this.getXmlManager().createQueryContext();
                   context.setEvaluationType(context.Eager);
                   context.setVariableValue("type", new XmlValue(type));
                   context.setVariableValue("category", new XmlValue(category));
                   context.setVariableValue("normalizedTitle", new XmlValue(normalizedTitle));
                   context.setVariableValue("containerName", new XmlValue(this.getContainer().getName()));
                   List<String> results = executeQuery(articleIdQuery, context);
                   if(results.size()>1){
                        logger.warn(String.format("more than one article found for type:%s, category:%s, normalized-title:%s", type, category, normalizedTitle));
                   }else if(results.size()==0){
                        throw new DataNotFoundDAOException(String.format("unable to find an article that matches type:%s, category:%s, normalized-title:%s", type, category, normalizedTitle));
                   /* dbxml returns query values far xml attributes in this format: {}id="this_is_the_id_we_want"
                    * we must extract the id before returning
                   String idString = results.get(0);
                   return idString.substring(idString.indexOf("\"")+1, idString.length()-1);
              }catch (XmlException e) {
                   throw new DAOException("there was a problem querying the database", e);
              } finally{
                   context.delete();
         protected List<String> executeQuery(String query, XmlQueryContext context)
                   throws DAOException {
              // Prepare (compile) the query
              List<String> xmlNodes = new ArrayList<String>();
              XmlQueryExpression qe = null;
              XmlResults results = null;
              try {
                   qe = xmlManager.prepare(query, context);
                   logger.debug("about to perform query: " + qe.getQuery());
                   results = qe.execute(context);
                   while (results.hasNext()) {
                        xmlNodes.add(results.next().asString());
              } catch (XmlException e) {
                   throw new DAOException("Unable to retrieve Page from db", e);
              } finally{
                   if(results != null){
                        results.delete();
                   if(qe != null){
                        qe.delete();
              return xmlNodes;
         }And this is the query that was passed into the method:
    collection($containerName)/article[type=$type and category=$category and normalized-title=$normalizedTitle]/@idSince this happened in a running web application, I unfortunately can't determine exactly which values were set for the query variables in this instance. However, by the nature of this application, those values are NOT taken from user input, so it would be safe to assume that the input comes from a valid, finite set of values.
    Any help would be greatly appreciated.
    Thanks
    Edited by: eric44 on Jul 27, 2009 2:34 PM

    Thanks Lauren.
    I have not yet applied the patch. I will do so shortly. However, I was able to do a bit more tracing, and I think I've gotten to the root of the problem. The seg fault is happening when a null value is used in a query. That is, a Java variable whose value is null is used as the constructor argument to new XmlValue(String s), and then that value is used in the query. I don't know exactly where the error is happening; the log seems a tad ambiguous. Again, I'm not really comfortable at the low-level, but it seems that the stack trace is rooted in the "prepare" java method, but then there seems to be some native trace directly referencing the creation of XmlValue
    Stack: [0x6da2c000,0x6da4d000],  sp=0x6da4b6d4,  free space=125k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    V  [libjvm.so+0x3966c3]
    C  [libdbxml_java-2.4.so+0x2612db]  _Z17createCPPXmlValueP7JNIEnv_P8_jobjectPb+0xd3
    C  [libdbxml_java-2.4.so+0x26bbcd]  _Z24createCPPXmlQueryContextP7JNIEnv_P8_jobjectP7_jclass+0x969
    C  [libdbxml_java-2.4.so+0x27f2ff]  Java_com_sleepycat_dbxml_dbxml_1javaJNI_XmlManager_1prepare_1_1SWIG_10+0xe7
    j  com.sleepycat.dbxml.dbxml_javaJNI.XmlManager_prepare__SWIG_0(JLcom/sleepycat/dbxml/XmlManager;Ljava/lang/String;Lcom/sleepycat/dbxml/XmlQueryContext;)J+0
    j  com.sleepycat.dbxml.XmlManager.prepare(Ljava/lang/String;Lcom/sleepycat/dbxml/XmlQueryContext;)Lcom/sleepycat/dbxml/XmlQueryExpression;+7thanks again

  • NLSBS9 grpwise Segmentation fault

    Hi Group,
    After installing NLSBS9 and configuring GroupWise (6.5.3),
    I got Segmentation fault from grpwise services.
    NLSBS runs on VMWare ESX 2.5.1
    nlsbs:/ # cat /proc/cpuinfo
    model name : Intel(R) Xeon(TM) CPU 3.00GHz
    nlsbs:/ # cat /proc/meminfo
    MemTotal: 604416 kB
    MemFree: 72792 kB
    SwapTotal: 618492 kB
    SwapFree: 618492 kB
    nlsbs:/tmp # /etc/rc.d/grpwise start
    /etc/rc.d/grpwise: line 374: 4081 Segmentation fault ./gwmta
    @$STARTUP_PATH/$element
    /etc/rc.d/grpwise: line 374: 4098 Segmentation fault ./gwpoa
    @$STARTUP_PATH/$element
    nlsbs:/opt/novell/groupwise/agents/bin # gdb gwmta -c core.3224
    <snip>
    Core was generated by `./gwmta @/opt/novell/groupwise/agents/share/gwdom.mta'.
    Program terminated with signal 11, Segmentation fault.
    warning: current_sos: Can't read pathname for load map: Input/output error
    <snip>
    Reading symbols from /lib/libnss_files.so.2...(no debugging symbols
    found)...don
    e.
    Loaded symbols for /lib/libnss_files.so.2
    #0 0x409dbc8b in svTcpSetTcpDelay () from ../lib/libsvrtk.so
    (gdb) where
    #0 0x409dbc8b in svTcpSetTcpDelay () from ../lib/libsvrtk.so
    #1 0x409db62a in svTcpIsMe () from ../lib/libsvrtk.so
    #2 0x400c7663 in NgwTcpAStartXmap () from ../lib/libmta.so
    #3 0x400c72ea in NgwTcpAStartXmap () from ../lib/libmta.so
    #4 0x400c487f in NgwTcpAStartHttp () from ../lib/libmta.so
    #5 0x40095a5d in MsaInstantiate () from ../lib/libmta.so
    #6 0x0804b761 in MainApp::UIFunction ()
    #7 0x409d6799 in _NgwThrdCreate () from ../lib/libsvrtk.so
    #8 0x4100b9ed in start_thread () from /lib/tls/libpthread.so.0
    #9 0x410ce9ca in clone () from /lib/tls/libc.so.6
    nlsbs:/opt/novell/groupwise/agents/bin # gdb gwpoa -c core.3238
    <snip>
    Core was generated by `./gwpoa @/opt/novell/groupwise/agents/share/gwpo.poa'.
    Program terminated with signal 11, Segmentation fault.
    warning: current_sos: Can't read pathname for load map: Input/output error
    <snip>
    Reading symbols from /lib/libnss_files.so.2...(no debugging symbols
    found)...done.
    Loaded symbols for /lib/libnss_files.so.2
    #0 0x409b5c8b in svTcpSetTcpDelay () from ../lib/libsvrtk.so
    (gdb) where
    #0 0x409b5c8b in svTcpSetTcpDelay () from ../lib/libsvrtk.so
    #1 0x409b562a in svTcpIsMe () from ../lib/libsvrtk.so
    #2 0x40274b58 in WpcomTCPInit () from ../lib/liboff_eng.so
    #3 0x4026e13d in WpcomInit () from ../lib/liboff_eng.so
    #4 0x402ff527 in WpeGlobalInit () from ../lib/liboff_eng.so
    #5 0x4006815e in WpsvOfsInit () from ../lib/libpoa.so
    #6 0x0804b044 in MainApp::PostMessage ()
    #7 0x409b0799 in _NgwThrdCreate () from ../lib/libsvrtk.so
    #8 0x40fe59ed in start_thread () from /lib/tls/libpthread.so.0
    #9 0x410a89ca in clone () from /lib/tls/libc.so.6
    Thanks,
    HW

    Hendra,
    It appears that in the past few days you have not received a response to your posting. That concerns us, and has triggered this automated reply.
    Has your problem been resolved? If not, you might try one of the following options:
    - Do a search of our knowledgebase at http://support.novell.com/search/kb_index.jsp
    - Check all of the other support tools and options available at http://support.novell.com in both the "free product support" and "paid product support" drop down boxes.
    - You could also try posting your message again. Make sure it is posted in the correct newsgroup. (http://support.novell.com/forums)
    If this is a reply to a duplicate posting, please ignore and accept our apologies and rest assured we will issue a stern reprimand to our posting bot.
    Good luck!
    Your Novell Product Support Forums Team
    http://support.novell.com/forums/

  • Segmentation Fault on Solaris JVM

    Hi,
    We have a Java application that executes all 'C' code through JNI code.
    It works fine on NT but on solaris, the JVM suddenly crashes with a
    segmentation fault. The crashes are random. We did a lot of debugging to ensure that the JVM doesn't crash when we are in the 'C' code.
    We are using jdk1.4.0-b92. Any ideas?
    Here's the stack trace from gdb:
    Program received signal SIGSEGV, Segmentation fault.
    0xfa535000 in ?? ()
    (gdb) bt
    #0 0xfa535000 in ?? ()
    #1 0xfa53908c in ?? ()
    #2 0xfa538f50 in ?? ()
    #3 0xfa534480 in ?? ()
    #4 0xfa52d560 in ?? ()
    #5 0xfa405c54 in ?? ()
    #6 0xfa405b88 in ?? ()
    #7 0xfa405da8 in ?? ()
    #8 0xfa405da8 in ?? ()
    #9 0xfa405da8 in ?? ()
    #10 0xfa400440 in ?? ()
    #11 0xfe0fd9ac in __1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_ ()
    #12 0xfe10f644 in __1cJJavaCallsMcall_virtual6FpnJJavaValue_nLKlassHandle_nMsymbolHandle_4pnRJavaCallArguments_pnGThread__v_ ()
    #13 0xfe10f4a4 in __1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThread__v_ ()
    #14 0xfe10f42c in __1cMthread_entry6FpnKJavaThread_pnGThread__v_ ()
    #15 0xfe10f13c in __1cKJavaThreadDrun6M_v_ ()
    #16 0xfe0fc284 in _start ()

    I had same segmentation fault and found out some char array variable's value length is over the size of char array variable. After fixed it, then it doesn't have that segmentation fault.
    In Solaris, when I use java JFileChooser to select a file, the file path usually including a lot of "../" which causes a path over 200 char long. When I assigned that path to a char array variable which only have 200 char length, the segmentation fault happened.

  • Segmentation Fault when connecting to SQL*Plus from Applications tier

    Hi Everyone -
    I am currently in the process of upgrading a client from 11.5.10.2 to 12.1.1 (eventually 12.1.3) on a OEL x86-64 server. I have laid down the software stack and followed all of the requirements as per the Installation manuals and 761566.1. I also have an open SR right now on this issue - but I wanted to see if any of you have ever run into the issue that I am encountering.
    When I try to run adadmin/adpatch - I get to the prompt of providing the system user password and the utility simply exits. No errors in adpatch.log or adadmin.log (both are 0 bytes in size).
    When I try to connect using SQL*Plus from the applications tier using either:
    sqlplus apps/****@SID
    sqlplus system/****@SID
    I get a Segmentation Fault error. There are also no errors in my alert log file on the database tier. I found this error while attempting to apply the upgrade merge patch.
    Has anyone ever seen s Segmentation Fault error? I have search MOS, found a couple of potential solutions - but nothing has solved the issue so far.
    Thanks in advance...
    Brenna

    >
    Are you on 11.1.0.5.0? Is this the database version?
    No, my database tier is 11.2.0.3 (the database version displayed above was the client version running on the Application Tier.
    Who is the owner of the application tier files? If it is applmgr user, please make sure you login as that user and source the application env file before running sqlplus -- Please issue "echo $ORACLE_HOME" and "which sqlplus" and post the output here.
    My owner of the application tier is oracle. I have sourced the environment using $APPL_TOP/APPSR12Dev1_******.env
    [oracle@****** log]$ echo $ORACLE_HOME
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2
    [oracle@****** log]$ which sqlplus
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/bin/sqlplus
    >
    Please relink sqlplus by issuing "$ORACLE_HOME/bin/relink all > relink.txt 2>&1" and check the relink.txt file for any error
    A number of errors occur during the relink, here are some of them:
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/bin/genclntsh
    /usr/bin/ld: warning: i386:x86-64 architecture of input file `/u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(nnfgt.o)' is incompatible with i386 output
    /usr/bin/ld: warning: i386:x86-64 architecture of input file `/u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(ntcontab.o)' is incompatible with i386 output
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/bin/genagtsh /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libagtsh.so 1.0
    /usr/bin/ld: warning: i386:x86-64 architecture of input file `/u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(nnfgt.o)' is incompatible with i386 output
    /usr/bin/ld: warning: i386:x86-64 architecture of input file `/u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(ntcontab.o)' is incompatible with i386 output
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(nnfgt.o):(.rodata+0xc8): undefined reference to `nnflboot'
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(ntcontab.o):(.data+0x8): undefined reference to `nttini'
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(ntcontab.o):(.data+0x28): undefined reference to `ntzini'
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(ntcontab.o):(.data+0x68): undefined reference to `ntpini'
    /u01/app/oracle/R12Dev1/apps/tech_st/10.1.2/lib/libn10.a(ntcontab.o):(.data+0x88): undefined reference to `ntusini'
    collect2: ld returned 1 exit status
    Thanks again...

  • Segmentation fault error while connecting from forms server

    Hi,
    From Oracle Forms application client, if I give sqlplus /nolog it works fine where as if I give sqlplus username/password@DATABASEBNAME, it is giving Segmentation fault error.
    Could any one help? This problem is existing if I execute the command as oracle account. If I execute as non-oracle user (who has all privileges to run oracle stuff and all environment varilables like HOME, LD_LIBRARY_PATH, CLASS_PATH etc all stuff are correctly set)
    Thanks in advance.

    Hi David,
    What is Gateway, How I have to setup, Please let me know.
    I tried according to the Demo, But still I am facing the same problem. Which system IP I have to put in the host details.
    Can u please let me know.
    Regards,
    Kumar.

  • Brasero segmentation fault while selecting Plugins from menu

    Hello,
    Brasero is seg faulting for me when I select Plugins from the File menu. I am running a standard Gnome DE 3.12.2 with startx to login. When I launch brasero from terminal, it tells me:
    [bryan@nas ~]$ brasero
    (brasero:5300): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
    (brasero:5300): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
    and then once I click Plugins it says additionally:
    (brasero:5300): GLib-GObject-CRITICAL **: g_type_instance_get_private: assertion 'instance != NULL && instance->g_class != NULL' failed
    Segmentation fault
    Brasero version is 3.11.3
    Any ideas what causes this problem?
    Pacman -Syu is done before posting this message...
    Thanks

    Upstream bug report: https://bugzilla.gnome.org/show_bug.cgi?id=728376

  • Built VLC from PKGBUILD = Segmentation Fault

    Hi,
    I tried to create a package for VLC from https://projects.archlinux.org/svntogit … ckages/vlc . Downloaded these files, ran makepkg, installed with yaourt -U , and the installed VLC gives me segmentation fault. I tried running it with valgrind, inside valgrind it runs ok. When i download the sources and compile it myself with almost the same configure script as is in PKGBUILD (only changed --prefix=/tmp/vlc), outside makepkg, compiled package works, so compiler and libraries should be fine. What can be problematic? I was thinking problems are with CFLAGS/CPPFLAGS/CXXFLAGS, so I removed -march=native -mtune=native from /etc/makepkg.conf but that was not successful either..

    Hi,
    I tried to create a package for VLC from https://projects.archlinux.org/svntogit … ckages/vlc . Downloaded these files, ran makepkg, installed with yaourt -U , and the installed VLC gives me segmentation fault. I tried running it with valgrind, inside valgrind it runs ok. When i download the sources and compile it myself with almost the same configure script as is in PKGBUILD (only changed --prefix=/tmp/vlc), outside makepkg, compiled package works, so compiler and libraries should be fine. What can be problematic? I was thinking problems are with CFLAGS/CPPFLAGS/CXXFLAGS, so I removed -march=native -mtune=native from /etc/makepkg.conf but that was not successful either..

  • Segmentation fault when calling gpctr function from matlab mex file

    I am trying to write a simple mex file for square wave generation using counter1 of PCI-6035E. I am using matlab's native compiler to compile and link with the nidaq32 library, ver.6.9.3, with no errors. When the mex function is called from a matlab script, however, the program crashes at the first call, to reset the counter. (I can generate a square wave with the test panel.)

    Sorry for the delay in responding. I got caught up in other stuff. I am attaching my little program as requested. As you can see, I have just wrapped a mexFunction call round the example code for square wave generation. After I posted this, I tracked down a copy of BorlandC++, installed it on my computer and recompiled using that compiler and *b.* libraries. And would you know it, the program works. The question remains, though, why it doesn't work with Matlab's native lcc compiler. Plus, I have limited disk space, so if I can do without BorlandC, I can use the extra room. The runtime error was a Segmentation fault that I traced to the first call to GPCTR_Control.
    Attachments:
    pulsegen.c ‏4 KB

  • Segmentation fault when calling dbms_alert.register() procedure from OCCI

    I am trying to call the dbms_alert.register() from the OCCI but I get segmentation fault when I run the program, here is the code snippet. I am gettin segmentation fault immediately after calling setSQL() method.
    Environment *occiEnvironment_;
    Connection *occiConnection_ ;
    string userName("SCOTT");
    string userPasswd("tiger");
    string url("");
    occiEnvironment_ = Environment::createEnvironment();
    try{
    occiConnection_ = occiEnvironment_->createConnection(userName,userPasswd,url);
    Statement *occiStatement1;
    cout << "Before setSQL" << endl;
    occiStatement1->setSQL("BEGIN dbms_alert.register(:1); END;");
    cout << "After setSQL" << endl;
    string alert1("MY_ALERT");
    occiStatement1->setString(1,alert1);
    occiStatement1->execute();
    catch (SQLException ea)
    cout << ea.what();
    }

    Thanks for the reply, now I dont see segmentation fault.
    I tried to exted the code further to wait for the registered events, I added the following code, I do get and event but then get the exception:
    Statement *occiStatement1 = occiConnection_->createStatement();
    Statement *occiStatement2 = occiConnection_->createStatement();
    string alert, msg;
    int status;
    occiStatement1->setSQL("BEGIN dbms_alert.register(:1); END;");
    string alert1("MY_ALERT");
    occiStatement1->setString(1,alert1);
    occiStatement1->execute();
    occiStatement2->setSQL("BEGIN dbms_alert.waitany(:alert,:msg,:status); END;");
    occiStatement2->registerOutParam(1, OCCICHAR, sizeof(alert));
    occiStatement2->registerOutParam(2, OCCICHAR, sizeof(msg));
    occiStatement2->registerOutParam(3, OCCIINT, sizeof(int));
    occiStatement2->execute();
    ===========================================================
    ORA-06502: PL/SQL: numeric or value error
    ORA-06512: at "SYS.DBMS_ALERT", line 252
    ORA-06512: at line 1
    ORA-06502: PL/SQL: numeric or value error
    ORA-06512: at "SYS.DBMS_ALERT", line 252
    ORA-06512: at line 1
    *** glibc detected *** free(): invalid pointer: 0x08619c48 ***
    Aborted

  • [SOLVED] Segmentation Fault with Clementine

    When I open the preferences (Ctrl+P) of Clementine it crashes with a segmentation fault.
    This is the backtrace:
    18:53:58.858 WARN unknown libpng warning: iCCP: known incorrect sRGB profile
    18:53:58.900 WARN unknown libpng warning: iCCP: known incorrect sRGB profile
    [Thread 0x7fff9ffff700 (LWP 1566) exited]
    Program received signal SIGSEGV, Segmentation fault.
    0x00007fffec8b9ba1 in ?? () from /usr/lib/libfontconfig.so.1
    (gdb) bt
    #0 0x00007fffec8b9ba1 in ?? () from /usr/lib/libfontconfig.so.1
    #1 0x00007fffec8ba03f in ?? () from /usr/lib/libfontconfig.so.1
    #2 0x00007fffec8b9cd8 in ?? () from /usr/lib/libfontconfig.so.1
    #3 0x00007fffec8ba554 in ?? () from /usr/lib/libfontconfig.so.1
    #4 0x00007fffec8ba77d in FcConfigSubstituteWithPat ()
    from /usr/lib/libfontconfig.so.1
    #5 0x00007fffec8c85cc in FcFontRenderPrepare ()
    from /usr/lib/libfontconfig.so.1
    #6 0x00007ffff32d695e in QFontDatabase::load(QFontPrivate const*, int) ()
    from /usr/lib/libQtGui.so.4
    #7 0x00007ffff32b35e9 in QFontPrivate::engineForScript(int) const ()
    from /usr/lib/libQtGui.so.4
    #8 0x00007ffff32e9252 in QTextEngine::fontEngine(QScriptItem const&, QFixed*, QFixed*, QFixed*) const () from /usr/lib/libQtGui.so.4
    #9 0x00007ffff32e9a03 in QTextEngine::shapeTextWithHarfbuzz(int) const ()
    from /usr/lib/libQtGui.so.4
    #10 0x00007ffff32eab02 in QTextEngine::shapeText(int) const ()
    from /usr/lib/libQtGui.so.4
    #11 0x00007ffff32eae25 in QTextEngine::shape(int) const ()
    from /usr/lib/libQtGui.so.4
    #12 0x00007ffff32f0a30 in QTextEngine::boundingBox(int, int) const ()
    from /usr/lib/libQtGui.so.4
    #13 0x00007ffff32c79f4 in QFontMetrics::boundingRect(QString const&) const ()
    ---Type <return> to continue, or q <return> to quit---
    from /usr/lib/libQtGui.so.4
    #14 0x00007ffff34673dd in ?? () from /usr/lib/libQtGui.so.4
    #15 0x00007ffff3467534 in QComboBox::sizeHint() const ()
    from /usr/lib/libQtGui.so.4
    #16 0x00007ffff30ce65c in QWidgetItemV2::updateCacheIfNecessary() const ()
    from /usr/lib/libQtGui.so.4
    #17 0x00007ffff30ce96d in QWidgetItemV2::maximumSize() const ()
    from /usr/lib/libQtGui.so.4
    #18 0x00007ffff30b0b55 in ?? () from /usr/lib/libQtGui.so.4
    #19 0x00007ffff30b11d6 in QBoxLayout::sizeHint() const ()
    from /usr/lib/libQtGui.so.4
    #20 0x00007ffff30caca4 in QLayout::totalSizeHint() const ()
    from /usr/lib/libQtGui.so.4
    #21 0x00007ffff30dec30 in QWidget::sizeHint() const ()
    from /usr/lib/libQtGui.so.4
    #22 0x00007ffff30ce65c in QWidgetItemV2::updateCacheIfNecessary() const ()
    from /usr/lib/libQtGui.so.4
    #23 0x00007ffff30ce96d in QWidgetItemV2::maximumSize() const ()
    from /usr/lib/libQtGui.so.4
    #24 0x00007ffff30b0b55 in ?? () from /usr/lib/libQtGui.so.4
    #25 0x00007ffff30b1206 in QBoxLayout::minimumSize() const ()
    from /usr/lib/libQtGui.so.4
    #26 0x00007ffff30cac34 in QLayout::totalMinimumSize() const ()
    ---Type <return> to continue, or q <return> to quit---
    from /usr/lib/libQtGui.so.4
    #27 0x00007ffff30dec60 in QWidget::minimumSizeHint() const ()
    from /usr/lib/libQtGui.so.4
    #28 0x00007ffff30cc8c3 in qSmartMinSize(QWidget const*) ()
    from /usr/lib/libQtGui.so.4
    #29 0x00007ffff350e4b9 in ?? () from /usr/lib/libQtGui.so.4
    #30 0x00007ffff350e897 in QScrollArea::setWidget(QWidget*) ()
    from /usr/lib/libQtGui.so.4
    #31 0x0000000000765b18 in SettingsDialog::AddPage(SettingsDialog::Page, SettingsPage*, QTreeWidgetItem*) ()
    #32 0x0000000000765e67 in SettingsDialog::SettingsDialog(Application*, BackgroundStreams*, QWidget*) ()
    #33 0x0000000000745360 in MainWindow::OpenSettingsDialog() ()
    #34 0x000000000080c1ea in ?? ()
    #35 0x00007ffff6cd7b48 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
    #36 0x00007ffff309cf82 in QAction::triggered(bool) ()
    from /usr/lib/libQtGui.so.4
    #37 0x00007ffff309e953 in QAction::activate(QAction::ActionEvent) ()
    from /usr/lib/libQtGui.so.4
    #38 0x00007ffff34c7d79 in ?? () from /usr/lib/libQtGui.so.4
    #39 0x00007ffff34cc2a9 in ?? () from /usr/lib/libQtGui.so.4
    #40 0x00007ffff30f262e in QWidget::event(QEvent*) ()
    ---Type <return> to continue, or q <return> to quit---
    from /usr/lib/libQtGui.so.4
    #41 0x00007ffff34d007b in QMenu::event(QEvent*) () from /usr/lib/libQtGui.so.4
    #42 0x00007ffff30a30dc in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    () from /usr/lib/libQtGui.so.4
    #43 0x00007ffff30a97dd in QApplication::notify(QObject*, QEvent*) ()
    from /usr/lib/libQtGui.so.4
    #44 0x00007ffff6cc3ebd in QCoreApplication::notifyInternal(QObject*, QEvent*)
    () from /usr/lib/libQtCore.so.4
    #45 0x00007ffff30a8f93 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
    from /usr/lib/libQtGui.so.4
    #46 0x00007ffff311aedc in ?? () from /usr/lib/libQtGui.so.4
    #47 0x00007ffff311961c in QApplication::x11ProcessEvent(_XEvent*) ()
    from /usr/lib/libQtGui.so.4
    #48 0x00007ffff3140162 in ?? () from /usr/lib/libQtGui.so.4
    #49 0x00007ffff41b3296 in g_main_context_dispatch ()
    from /usr/lib/libglib-2.0.so.0
    #50 0x00007ffff41b35e8 in ?? () from /usr/lib/libglib-2.0.so.0
    #51 0x00007ffff41b368c in g_main_context_iteration ()
    from /usr/lib/libglib-2.0.so.0
    #52 0x00007ffff6cf0b25 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
    #53 0x00007ffff3140216 in ?? () from /usr/lib/libQtGui.so.4
    ---Type <return> to continue, or q <return> to quit---
    #54 0x00007ffff6cc2b1f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
    #55 0x00007ffff6cc2e15 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
    #56 0x00007ffff6cc7f4b in QCoreApplication::exec() ()
    from /usr/lib/libQtCore.so.4
    #57 0x00000000005db094 in main ()
    This happen every time. I searched on internet but I can't find similar issue.
    Thanks.
    Last edited by ryuzy (2014-02-06 11:30:13)

    I tried installing Infinality-bundle+fonts and it fixed the problem.
    So there was a problem with my fonts, I don't know why this happened but I'm happy to have solved.
    Last edited by ryuzy (2014-02-06 11:30:59)

  • Kontact PID: 9999 Signal: 11 Segmentation Fault

    I recently upgraded my system to KDE 4.4 and now I am experience a problem with Kontact. I have two IMAP accounts, and when I try selecting the inbox from the account that is not currently highlighted, Kontact crashes with a PID: 9999 Signal: 11 Segmentation Fault.
    Here's the backtrace:
    #5 0x00007f9fcba205c0 in QTreeWidgetItem::addChild(QTreeWidgetItem*) () from /usr/lib/libQtGui.so.4
    #6 0x00007f9fcba209c3 in QTreeWidgetItem::QTreeWidgetItem(QTreeWidgetItem*, int) () from /usr/lib/libQtGui.so.4
    #7 0x00007f9fb54dec69 in KMMimePartTreeItem::KMMimePartTreeItem(KMMimePartTreeItem*, partNode*, QString const&, QString const&, QString const&, unsigned long long, bool) ()
    from /usr/lib/libkmailprivate.so.4
    #8 0x00007f9fb5523853 in partNode::fillMimePartTree(KMMimePartTreeItem*, KMMimePartTree*, QString const&, QString const&, QString const&, unsigned long long, bool) ()
    from /usr/lib/libkmailprivate.so.4
    #9 0x00007f9fb55120dc in KMail::ObjectTreeParser::insertAndParseNewChildNode(partNode&, char const*, char const*, bool, bool) () from /usr/lib/libkmailprivate.so.4
    #10 0x00007f9fb5515f00 in KMail::ObjectTreeParser::processMessageRfc822Subtype(partNode*, KMail::ProcessResult&) () from /usr/lib/libkmailprivate.so.4
    #11 0x00007f9fb5511801 in KMail::ObjectTreeParser::parseObjectTree(partNode*) () from /usr/lib/libkmailprivate.so.4
    #12 0x00007f9fb5511b25 in KMail::ObjectTreeParser::stdChildHandling(partNode*) () from /usr/lib/libkmailprivate.so.4
    #13 0x00007f9fb5511ed4 in KMail::ObjectTreeParser::processMultiPartMixedSubtype(partNode*, KMail::ProcessResult&) () from /usr/lib/libkmailprivate.so.4
    #14 0x00007f9fb5511801 in KMail::ObjectTreeParser::parseObjectTree(partNode*) () from /usr/lib/libkmailprivate.so.4
    #15 0x00007f9fb5393510 in KMReaderWin::parseMsg(KMMessage*) () from /usr/lib/libkmailprivate.so.4
    #16 0x00007f9fb5388590 in KMReaderWin::displayMessage() () from /usr/lib/libkmailprivate.so.4
    #17 0x00007f9fb5388760 in KMReaderWin::updateReaderWin() () from /usr/lib/libkmailprivate.so.4
    #18 0x00007f9fb5389035 in KMReaderWin::update(KMail::Interface::Observable*) () from /usr/lib/libkmailprivate.so.4
    #19 0x00007f9fb55b13b1 in KMail::ISubject::notify() () from /usr/lib/libkmailprivate.so.4
    #20 0x00007f9fb52ae8ac in KMMessage::updateBodyPart(QString, QByteArray const&) () from /usr/lib/libkmailprivate.so.4
    #21 0x00007f9fb5588a69 in KMail::ImapJob::slotGetMessageResult(KJob*) () from /usr/lib/libkmailprivate.so.4
    #22 0x00007f9fb558a62b in KMail::ImapJob::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkmailprivate.so.4
    #23 0x00007f9fcc0cf4df in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
    #24 0x00007f9fcc4c9542 in KJob::result(KJob*) () from /usr/lib/libkdecore.so.5
    #25 0x00007f9fcc4c97e0 in KJob::emitResult() () from /usr/lib/libkdecore.so.5
    #26 0x00007f9fc98b6333 in KIO::SimpleJob::slotFinished() () from /usr/lib/libkio.so.5
    #27 0x00007f9fc98b6cf7 in KIO::TransferJob::slotFinished() () from /usr/lib/libkio.so.5
    #28 0x00007f9fc98b4921 in KIO::TransferJob::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkio.so.5
    #29 0x00007f9fcc0cf4df in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
    #30 0x00007f9fc9975fe1 in KIO::SlaveInterface::dispatch(int, QByteArray const&) () from /usr/lib/libkio.so.5
    #31 0x00007f9fc9973353 in KIO::SlaveInterface::dispatch() () from /usr/lib/libkio.so.5
    #32 0x00007f9fc99677c6 in KIO::Slave::gotInput() () from /usr/lib/libkio.so.5
    #33 0x00007f9fc99679ac in KIO::Slave::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkio.so.5
    #34 0x00007f9fcc0cf4df in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
    #35 0x00007f9fc9885837 in KIO::ConnectionPrivate::dequeue() () from /usr/lib/libkio.so.5
    #36 0x00007f9fc988595d in KIO::Connection::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkio.so.5
    #37 0x00007f9fcc0cc419 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
    #38 0x00007f9fcb4805ec in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
    #39 0x00007f9fcb486bdb in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
    #40 0x00007f9fcca89cd6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
    #41 0x00007f9fcc0bc79c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
    #42 0x00007f9fcc0bef17 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
    #43 0x00007f9fcc0e60d3 in ?? () from /usr/lib/libQtCore.so.4
    #44 0x00007f9fc38ed26e in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
    #45 0x00007f9fc38f0c28 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
    #46 0x00007f9fc38f0d50 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
    #47 0x00007f9fcc0e5c13 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
    #48 0x00007f9fcb52ed6e in ?? () from /usr/lib/libQtGui.so.4
    #49 0x00007f9fcc0bb0c2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
    #50 0x00007f9fcc0bb49c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
    #51 0x00007f9fcc0bf1db in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
    #52 0x0000000000403b3e in _start ()
    I submitted a crash report, but just wondering if anybody else is experiencing this. Also, kdepim-runtime kdepimlibs are both installed and up to date.
    Thanks!

    Actually I would try removing everything under .kde4 and .config... It's a pain in the ass to configure everything again but... most of my problems were gone. Or maybe look for and remove kmail config files under those folders, since it seems to be a KMail related crash.
    Last edited by Slurp (2010-02-22 16:39:48)

  • Segment fault (Core dump)

    Hi
    when i run the following Pro*c file in Unix Environment im getting the SEGMENTATION FAULT(CORE DUMP) error. I used DBX to debug the code. I couldnt find out the proper reason for this error form the dbx output.
    This is the output i got from DBX.
    *signal SEGV (no mapping at the fault address) in _doprnt at 0xfb98736c*
    *0xfb98736c: _doprnt+0x2798:     stb     %o0, [%o1]*
    I did the showmemuse and show leaks, the output for this commands :
    (dbx) showmemuse
    Checking for memory use...
    Blocks in use report (blocks in use: 575 total size: 328086 bytes)
    Total % of Num of Avg Allocation call stack
    Size All Blocks Size
    ======= ==== ====== ====== =======================================
    134876 41% 30 4495 kpummapg < kghgex
    18098 5% 1 18098 lxldlbb < lxlinit < kpummpin < kpupin < sqgctx < sqgrct < sqlcmex < sqlcxt
    16552 5% 4 4138 kogmapg < kghgex
    16516 5% 4 4129 kogmapg < kogmasg
    12288 3% 6 2048 nlhtnsl < nlhthnew
    10350 3% 5 2070 calloc < nsbGetBFS
    9688 2% 1 9688 kouogini < kouoini < kpuinit0 < kpuinit < sqgctx < sqgrct < sqlcmex < sqlcxt
    8200 2% 1 8200 findbuf < doprnt < _fprintf < main
    8120 2% 4 2030 sqlrlc < sqlcopydfn
    8080 2% 1 8080 kpuinit0 < kpuinit < sqgctx < sqgrct < sqlcmex < sqlcxt < main
    7168 2% 1 7168 calloc < nsgbliuc < nsgblini < niotns < nigcall < osncon < kpuadef < upiini
    7168 2% 3 2389 lxldlod < lxdlobj
    5976 1% 4 1494 sqlrlc < sqlcopydfn
    4640 1% 1 4640 sqlrlc < sqldrl < sqlexp < sqlcmex < sqlcxt < get_pub_dates < main
    4640 1% 1 4640 sqlrlc < sqlbrl < sqlexp < sqlcmex < sqlcxt < get_pub_dates < main
    4128 1% 1 4128 calloc < nsgbliuc < nsgblini < niotns < nigcall < osncon < kpuadef < upiini
    4024 1% 1 4024 sqlrlc < sqlbrl < sqlexp < sqlcmex < sqlcxt < get_pub_dates < main
    3408 1% 1 3408 sqlrlc < sqldrl < sqlexp < sqlcmex < sqlcxt < get_pub_dates < main
    2452 <1% 8 306 calloc < nsmal
    2156 <1% 7 308 calloc < nlemfins
    (dbx) showleaks
    Checking for memory leaks...
    Actual leaks report (actual leaks: 1 total size: 30 bytes)
    Total Num of Leaked Allocation call stack
    Size Blocks Block
    Address
    ====== ====== ========== =======================================
    30 1 0x9c9c8 getOutFileName < main
    Possible leaks report (possible leaks: 0 total size: 0 bytes)
    i know its because of Pad pointer and something related to Pointer or array overflow. But i couldnt find out where exactly happening....
    Following is my Code, please help me to find out the error and what i need to change in my code:
    #ifndef ORA_PROC
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <time.h>
    #include <ctype.h>
    #include <math.h>
    #else
    typedef struct FILE FILE;
    #endif
    /*** Added by TCS Begins ***/
    char getOutFileName(char );
    char getEnvVar(char );
    void prepare_declare_oracle_cursors();
    void get_calendar_dates();
    void get_issues();
    void get_master_cusip_no();
    void get_run_date_finish();
    void get_payments();
    int get_pub_dates();
    void get_rights();
    void get_s_h_meetings();
    void get_special_codes();
    void get_agents();
    void get_currency();
    void get_payment_codes();
    void get_issue_codes();
    void get_standard_footnotes();
    void get_index_codes();
    void get_exchanges();
    void get_tax_codes();
    void get_tenders();
    int check_if_holiday(int );
    void sql_error(int , int , char *);
    void login_error();
    void no_pub_dates();
    void no_cal_dates();
    void no_finish_date();
    void save_payment_footnote(char , char [3],int , char );
    void save_issue_footnote(char );
    int print_footnotes();
    int print_foreign_tax();
    int get_partial_run_time();
    void save_rght_footnotes();
    int print_supplimental();
    int convert_tender_price(char *);
    void pad_s_h_meetings();
    int strip_out_codes(char *);
    char *getSqlLogonString();
    /**** TCS ADD Ends ****/
    EXEC SQL INCLUDE sqlca;
    EXEC SQL INCLUDE ddr_create_all_tapes.h;
    #define TRUE 1
    #define ORA_NOT_FOUND     ( sqlca.sqlcode == 1403 )
    /* The Definitions of SUCCESS and FAILURE were switched to test the
    idea that SUCCESS should be Zero and FAILURE should be Non-Zero
    #define SUCCESS 1
    #define FAILURE 0
    #define SUCCESS 0
    #define FAILURE -1
    #define SYSOK          0
    #define SYSERR          1
    #define DEBUGGING     0
    #define DEBUG_LEVEL     0
    /*     #define DEBUGGING     1
         #define DEBUG_LEVEL     2
    int          first_cal_date;
    int          footnote_count;
    int          foreign_count;
    int          last_cal_date;
    int          total_records;
    int          which_tape = 0;
    char          cusip_table_name[30];
    char          field_type_code;
    char          final_cusip_number[10];
    /**** char          footnote_text[300][300];
    char          foreign_text[60][100]; **** Commented by TCS as per the change request ****/
    /*** Added by TCS as per the change request ***/
    char          footnote_text[200][300];
    char          foreign_text[200][300];
    /*** TCS Add Ends ***/
    char          freq_type_code;
    char          init_cusip_number[10];
    char          rec_type_code;
    char          payment_where_clause[600];
    char          rights_where_clause[600];
    char          tenders_where_clause[600];
    char          s_h_meet_where_clause[600];
    char          last_run_time[18];
    char          supp_info_buffer[321];
    int          call_flag;
    int          tenders_flag;
    int          rights_flag;
    int          s_h_meet_flag;
    int          rght_foot_pos;
    double          hold_double;
    int          hold_int;
    char          hold_char[100];
    int i=0;
    FILE      *fp;
    FILE     pfp;          / this is used for a report file to correspond to
    the partial tape file */
    int main(int argc, char argv[]) / Modified by TCS */
         char          ddr_tape_name[100];
         char          ddr_partial_rpt[100];
         char          copyright_notice[100];
         long           file_position;
         char           *logname;
         /* READ IN PARAMETERS AND SET UP VARIABLES */
         memset (oracle_uid.arr, 0, sizeof(oracle_uid.arr));
    memset (oracle_pwd.arr, 0, sizeof(oracle_pwd.arr));
    strcpy (oracle_uid.arr, argv[1]);
    oracle_uid.len = strlen(oracle_uid.arr);
    strcpy (oracle_pwd.arr, argv[2]);
    oracle_pwd.len = strlen(oracle_pwd.arr);
    printf("Calling getSqlLogonString");
    logname = getSqlLogonString();
         which_tape = atoi(argv[1]);
         memset (last_run_time, 0, sizeof(last_run_time));
         if ( ( DEBUGGING ) && ( DEBUG_LEVEL > 1 ) )
         printf ("Oracle username: %s\n", oracle_uid.arr);
         printf ("Oracle password: %s\n", oracle_pwd.arr);
         printf ("Oracle username/password@database: %s\n", logname); /** Added by TCS **/
         printf ("Which Tape: %d\n", which_tape);
         hold_double = 0.0;
         hold_int = 0;
         memset (hold_char, ' ', sizeof(hold_char));
         EXEC SQL WHENEVER SQLERROR DO login_error();
    /*      EXEC SQL CONNECT :oracle_uid IDENTIFIED BY :oracle_pwd; */
         EXEC SQL CONNECT :logname ;
         printf ("Connected to ORACLE... \n");
         EXEC SQL WHENEVER SQLERROR continue;
         get_pub_dates();
         memset (ddr_tape_name, 0, sizeof(ddr_tape_name));
         memset (ddr_partial_rpt, 0, sizeof(ddr_partial_rpt));
         memset (cusip_table_name, 0, sizeof(cusip_table_name));
         memset (payment_where_clause, 0, sizeof(payment_where_clause));
         memset (rights_where_clause, 0, sizeof(rights_where_clause));
         memset (tenders_where_clause, 0, sizeof(tenders_where_clause));
         memset (s_h_meet_where_clause, 0, sizeof(s_h_meet_where_clause));
         /* SET UP VARIABLES BASED ON THE DIFFERENT FREQUENCY OF TAPE */
         switch (which_tape)
              case 0:
                   get_partial_run_time();
                   /*sprintf (ddr_tape_name,
                        "idb_tape$out:ddr_partial%1d.asc", p_count); ** Comented by TCS **/
                   sprintf (ddr_tape_name,"%s%1d.%s",getOutFileName("DDR_PARTIAL"),p_count,getEnvVar("DDR_PARTIAL_EXT_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_PARTIAL_TAPE_TABLE");
                   /*sprintf (ddr_partial_rpt,
                        "idb_tape$out:ddr_partial%1d.rpt", p_count); ** Commented by TCS **/
                   sprintf (ddr_partial_rpt,"%s%1d.%s",getOutFileName("DDR_PARTIAL"),p_count,getEnvVar("DDR_PARTIAL_EXT_RPT")); /* Added by TCS */
                   get_calendar_dates();
                   freq_type_code = '0';
                   sprintf (payment_where_clause,
    "AND PYMT_PUB_DATE IS NULL \
    AND ((PYMT_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND PYMT_ADD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (PYMT_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND PYMT_UPD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_from.arr, p_to.arr, p_from.arr, p_to.arr);
                   sprintf (rights_where_clause,
    "AND RGHT_PUB_DATE IS NULL \
    AND ((RGHT_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND RGHT_ADD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (RGHT_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND RGHT_UPD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_from.arr, p_to.arr, p_from.arr, p_to.arr);
                   sprintf (tenders_where_clause,
    "AND TNDR_PUB_DATE IS NULL \
    AND ((TNDR_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND TNDR_ADD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (TNDR_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND TNDR_UPD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_from.arr, p_to.arr, p_from.arr, p_to.arr);
                   sprintf (s_h_meet_where_clause,
    "AND SMTG_PUB_DATE IS NULL \
    AND ((SMTG_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND SMTG_ADD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (SMTG_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND SMTG_UPD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_from.arr, p_to.arr, p_from.arr, p_to.arr);
                   break;
              case 3:
    /*     PARTIAL 5     */
                   get_partial_run_time();
                   p_count = 5;
                   /**sprintf (ddr_tape_name,
                        "idb_tape$out:ddr_partial%1d.asc", p_count); ** Comented by TCS **/
                   sprintf (ddr_tape_name,"%s%1d.%s",getOutFileName("DDR_PARTIAL"),p_count,getEnvVar("DDR_PARTIAL_EXT_ASC")); /* Added by TCS */
    /* for testing only I am using seperate TABLE     */
                   /**strcpy (cusip_table_name,
                        "IDB.DDR_PARTIAL5_TAPE_TABLE"); ** Commented by TCS **/
                   strcpy (cusip_table_name,
                        "IDB.DDR_PARTIAL_TAPE_TABLE");
                   /*sprintf (ddr_partial_rpt,
                        "idb_tape$out:ddr_partial%1d.rpt", p_count); ** Commented by TCS **/
                   sprintf (ddr_tape_name,"%s%1d.%s",getOutFileName("DDR_PARTIAL"),p_count,getEnvVar("DDR_PARTIAL_EXT_RPT")); /* Added by TCS */
                   get_calendar_dates();
                   freq_type_code = '3';
                   sprintf (payment_where_clause,
    "AND ( (PYMT_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (PYMT_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_to.arr, p_to.arr);
                   sprintf (rights_where_clause,
    "AND ((RGHT_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (RGHT_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_to.arr, p_to.arr);
                   sprintf (tenders_where_clause,
    "AND ((TNDR_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (TNDR_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_to.arr, p_to.arr);
                   sprintf (s_h_meet_where_clause,
    "AND ((SMTG_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (SMTG_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_to.arr, p_to.arr);
                   break;
              case 1:
                   /**strcpy (ddr_tape_name,
                        "idb_tape$out:ddr_daily_tape.asc"); ** Commented by TCS **/
                   sprintf (ddr_tape_name,"%s",getOutFileName("DDR_DAILY_TAPE_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_DAILY_TAPE_TABLE");
                   get_calendar_dates();
                   freq_type_code = '1';
                   sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
    = TO_DATE('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)", pub_to_date.arr);
                   sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
    = TO_DATE('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)", pub_to_date.arr);
                   sprintf (tenders_where_clause, "AND (TNDR_PUB_DATE \
    = TO_DATE('%s','DD-MON-RR') OR TNDR_PUB_DATE IS NULL)", pub_to_date.arr);
                   sprintf (s_h_meet_where_clause, "AND (SMTG_PUB_DATE \
    = TO_DATE('%s','DD-MON-RR') OR SMTG_PUB_DATE IS NULL)", pub_to_date.arr);
                   break;
              case 5:
                   /*strcpy (ddr_tape_name,
                        "idb_tape$out:ddr_weekly_tape.asc"); ** Commented by TCS **/
                   sprintf (ddr_tape_name, "%s",getOutFileName("DDR_WEEKLY_TAPE_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_WEEKLY_TAPE_TABLE");
                   get_calendar_dates();
                   freq_type_code = '2';
                   sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (tenders_where_clause, "AND (TNDR_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR TNDR_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   /* ram - 6/28/95 - reverted back to original criteria: */
                   /* include on weekly tape based on pub-date, regardless of */
                   /* whether in calendar or not */
                   sprintf (s_h_meet_where_clause, "AND (SMTG_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR SMTG_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   break;
              case 12:
                   /* ram - 7/13/95          */
                   /* changed monthly "6" to "12" */
                   /*strcpy (ddr_tape_name,
                        "idb_tape$out:ddr_monthly_tape.asc"); ** Commented by TCS **/
                   sprintf (ddr_tape_name, "%s", getOutFileName("DDR_MONTHLY_TAPE_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_MONTHLY_TAPE_TABLE");
                   freq_type_code = '3';
                   sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (tenders_where_clause, "AND (TNDR_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR TNDR_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   break;
              case 8:
                   /*strcpy (ddr_tape_name,
                        "idb_tape$out:ddr_quarterly_tape.asc");** Commented by TCS **/
                   sprintf (ddr_tape_name,"%s",getOutFileName("DDR_QUARTERLY_TAPE_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_QUARTERLY_TAPE_TABLE");
                   freq_type_code = '3';
                   sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (tenders_where_clause, "AND (A.TNDR_TENDER_DATE \
    = TO_DATE('%s','DD-MON-RR'))", pub_to_date.arr);               break;
              case 9:
                   /*strcpy (ddr_tape_name,
                        "idb_tape$out:ddr_annual_tape.asc"); ** Comented by TCS **/
                   sprintf (ddr_tape_name,"%s", getOutFileName("DDR_ANNUAL_TAPE_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_ANNUAL_TAPE_TABLE");
                   freq_type_code = '4';
                   sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') \
    OR PYMT_PUB_DATE = TO_DATE('29-OCT-1929','DD-MON-YYYY'))",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (tenders_where_clause, "AND (A.TNDR_TENDER_DATE \
    = TO_DATE('%s','DD-MON-RR'))", pub_to_date.arr);               break;
              case 15:
                   /*strcpy (ddr_tape_name,
                        "idb_tape$out:ddr_general_tape.asc"); ** Commented by TCS **/
                   sprintf (ddr_tape_name,"%s", getOutFileName("DDR_GENERAL_TAPE_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_GENERAL_TAPE_TABLE");
                   freq_type_code = '3';
                   sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (tenders_where_clause, "AND (A.TNDR_TENDER_DATE \
    = TO_DATE('%s','DD-MON-RR'))", pub_to_date.arr);               break;
              default:
                   exit (printf ("Invalid tape option: %d\n", which_tape)); /*** %s changed by TCS to %d ***/
                   break;
         if ((fp = fopen(ddr_tape_name, "w+")) == NULL)
              exit (printf ("Unable to open asc <%s> file for write access\n",
                   ddr_tape_name));
    /*     GR. Partial 5
         if (which_tape == 0 || which_tape == 3 )
              if ((pfp = fopen(ddr_partial_rpt, "w+")) == NULL)
                   exit (printf ("Unable to open asc <%s> file \
    for write access\n", ddr_partial_rpt));
         /* WRITE THE HEADER RECORD ON THE TAPE */
         memset (copyright_notice, 0, sizeof(copyright_notice));
         sprintf (copyright_notice, "COPYRIGHT (c) %.4s STANDARD & POOR'S \
    CORPORATION. ALL RIGHTS RESERVED", year.arr);
         fprintf (fp, "%-80.80sDIVIDEND%8d%17.17s ",
    copyright_notice, control_date, run_date_start.arr);
         file_position = ftell(fp);
         fprintf (fp, "\n");
         total_records = 0;
         /* GET THE SPECIAL CATEGORY RECORDS */
         get_special_codes();
         /* SELECT FROM THE DRIVER TABLE TO GET ALL THE OTHER RECORDS */
         get_master_cusip_no();
         printf("After get_master_cusip_no()");
         get_run_date_finish();
         printf("After get_run_date_finish()");
         if ( DEBUGGING )
              printf ("initial cusip = %s\n", init_cusip_number);
              printf ("final cusip = %s\n", final_cusip_number);
              printf ("record type is %c\n", rec_type_code);
         /* WRITE THE TRAILER RECORD */
         fprintf (fp, "%8d%-17.17s%07d%-9.9s1%-9.9s%c\n", control_date,
    run_date_finish.arr, total_records, init_cusip_number , final_cusip_number,
    rec_type_code);
         /* re-wind and add to the header record ... */
         rewind(fp);
         fseek(fp, file_position - 33, 0);
         fprintf (fp, "%07d%-9.9s1%-9.9s%c", total_records, init_cusip_number,
    final_cusip_number, rec_type_code);
         fclose(fp);
    /*     GR Partial 5
         if (which_tape == 0 || which_tape == 3 )
              fclose(pfp);
         printf ("\nDONE: %07d%-9.9s1%-9.9s%c\n", total_records, init_cusip_number,
    final_cusip_number, rec_type_code);
    return (0); /*** Added by TCS ***/
    void prepare_declare_oracle_cursors() /* Modified by TCS */
         /* We'll us dynamic sql to get the appropriate where clause but use */
         /* a bind variable for the master cusip number. So we prepare and */
         /* declare get_issues, get_payments, get_tenders, get rights, and */
         /* get_s_h_meetings cursors only once, outside the driving loop. */
         EXEC SQL BEGIN DECLARE SECTION;
              /**** TCS Comment begins as per the change request ****
              VARCHAR          sql_stmt1[1500];*/     /* issues */
              /*VARCHAR          sql_stmt2[3000];     *//* payments */
              /*VARCHAR          sql_stmt3[500];          *//* tenders */
              /*VARCHAR          sql_stmt4[500];          *//* rights */
              /*VARCHAR          sql_stmt5[500];          *//* s_h_meetings */
              /**** TCS Add begins as per the change request ****/
              VARCHAR          sql_stmt1[2000];     /* issues */
              VARCHAR          sql_stmt2[4000];     /* payments */
              VARCHAR          sql_stmt3[1000];     /* tenders */
              VARCHAR          sql_stmt4[1000];     /* rights */
              VARCHAR          sql_stmt5[1000];     /* s_h_meetings */
              /**** TCS Add ends ****/
         EXEC SQL END DECLARE SECTION;
         /* prepare and declare the get_issues cursor */
         memset (sql_stmt1.arr, 0, sizeof(sql_stmt1.arr));
         sprintf (sql_stmt1.arr, "SELECT \
    A.ISSU_PAR_VALUE, \
    DECODE (A.ISSU_MARKET_SYMBOL||A.ISSU_NASDAQ,'OTCY','NASD', A.ISSU_MARKET_SYMBOL), \
    A.ISSU_C_RATE, A.ISSU_C_FREQ, A.ISSU_C_NEW_AMOUNT, A.ISSU_C_NEW_Q1, \
    A.ISSU_C_NEW_Q2, A.ISSU_C_NEW_Q3, A.ISSU_C_OLD_AMOUNT, A.ISSU_C_OLD_Q1, \
    A.ISSU_C_OLD_Q2, A.ISSU_C_OLD_Q3, A.ISSU_CURRENCY, \
    A.ISSU_UPD_HIS, A.ISSU_COMMENT, A.TAX_EXEMPT_FLAG,\
    B.SEC_TYPE_CODE, B.ACQ_BY_IND, B.ACQ_ISSUER_NO, \
    rtrim(substr(B.ACQ_ISSUER_DESCR,1,30)), \
    B.INDEX_CODE, B.TRFR_AGT_CODE, B.NY_AGT_CODE, B.TICKER_SYMBOL, \
    B.TICKER_SYMBOL2, \
    rtrim(substr(C.ISSR_DDR_ISSUER_DESCR,1,60)), \
    rtrim(substr(E.ISSUE_DESCR,1,30)), \
    rtrim(substr(D.ISSUER_DESCR1,1,30)), \
    F.TRFR_DAYS \
    FROM IDB.DDR_ISSUES A, IDB.DDR_ISSUES_2 B, IDB.DDR_ISSUERS C, \
    BLIS.CUSIP_ISSUERS D, BLIS.CUSIP_ISSUES E, IDB.DDR_TRANSFER F \
    WHERE A.ISSU_CUSIP_NO = :master_cusip_no \
    AND A.ISSU_CUSIP_NO = B.ISSU_CUSIP_NO(+) \
    AND SUBSTR(A.ISSU_CUSIP_NO, 1, 6) = C.ISSR_ISSUER_NO(+) \
    AND SUBSTR(A.ISSU_CUSIP_NO, 1, 6) = D.ISSUER_NO \
    AND A.ISSU_CUSIP_NO = E.CUSIP_NO \
    AND A.ISSU_TRANSFER_CODE = F.TRFR_TR_CD(+) ");
         sql_stmt1.len = strlen(sql_stmt1.arr);
         EXEC SQL PREPARE ISSUES FROM :sql_stmt1;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in preparing ISSUES");
         EXEC SQL DECLARE ISSUES_C CURSOR FOR ISSUES;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring ISSUES");
         /* now the get_payments cursor */
         memset (sql_stmt2.arr, 0, sizeof(sql_stmt2.arr));
         sprintf (sql_stmt2.arr, "SELECT \
    a.PYMT_RP_DIV, \
    a.PYMT_RP_DEC, \
    a.PYMT_RP_EXD, \
    a.PYMT_RP_REC, \
    a.PYMT_RP_PAY, \
    a.PYMT_RP_DUE, \
    a.PYMT_RP_TAX, \
    a.PYMT_RP_ANN, \
    a.PYMT_PRP_DIV, \
    a.PYMT_PRP_DEC, \
    a.PYMT_PRP_EXD, \
    a.PYMT_PRP_REC, \
    a.PYMT_PRP_PAY, \
    a.PYMT_PRP_DUE, \
    a.PYMT_PRP_TAX, \
    a.PYMT_PRP_ANN, \
    NVL(a.PYMT_SEQ_NO,0), \
    TO_CHAR(a.PYMT_DECLARED, 'YYMMDD'), \
    TO_CHAR(a.PYMT_EX_DATE, 'YYMMDD'), \
    TO_CHAR(a.PYMT_STK_REC, 'YYMMDD'), \
    TO_CHAR(a.PYMT_TRANSFER_DATE, 'YYMMDD'), \
    TO_CHAR(a.PYMT_PAYABLE, 'YYMMDD'), \
    a.PYMT_CODES, \
    NVL(a.PYMT_CASH_DIVD,0.0), \
    NVL(b.ORDINARY_INCOME,0.0), \
    NVL(b.CAP_GAINS,0.0), \
    NVL(b.SHORT_TM_CAP_GAINS,0.0), \
    NVL(b.LONG_TM_CAP_GAINS,0.0), \
    NVL(b.RETURN_OF_CAPITAL,0.0), \
    b.STK_DIVD_IND, \
    NVL(a.PYMT_STK_DIVD,0), \
    b.FRAC_IN_CASH_STK_IND, \
    NVL(b.FRAC_IN_CASH_PRICE,0.0), \
    NVL(a.PYMT_SPLIT_NEW,0), \
    NVL(a.PYMT_SPLIT_OLD,0), \
    TO_CHAR(a.PYMT_DB_DATE, 'YYMMDD'), \
    NVL(b.ARREARS_PAID,0.0), \
    NVL(b.ARREARS_DUE,0.0), \
    b.SPINOFF_IND, \
    b.SPINOFF_ISSUE_NO, \
    b.SPINOFF_ISSUER_DESCR, \
    b.SPINOFF_ISSUE_DESCR, \
    NVL(b.TAX_CODE,0), \
    NVL(b.TAX_CODE_2,0), \
    NVL(b.OLD_SEQ_NO,0), \
    b.ORDINARY_INCOME_CODE, \
    b.CAP_GAINS_CODE, \
    b.SHORT_TM_CAP_GAINS_CODE, \
    b.LONG_TM_CAP_GAINS_CODE, \
    b.RETURN_OF_CAPITAL_CODE, \
    TO_CHAR(b.CALL_DATE, 'YYMMDD'), \
    NVL(b.CALL_PRICE,0.0), \
    b.CALL_PRICE_CURRENCY, \
    b.CALL_AGT_NO, \
    b.ACCRUED_DIVD_IND, \
    TO_CHAR(a.PYMT_DB_DATE, 'YYMMDD'), \
    a.PYMT_DB_TEXT, \
    a.PYMT_DVD_TEXT, \
    a.PYMT_YEAR, \
    TO_CHAR(a.PYMT_STK_REC, 'fmMon dd'), \
    TO_CHAR(a.PYMT_DB_DATE, 'fmMon dd'), \
    b.NY_CALL_AGT_NO, \
    NVL(b.FOREIGN_TAX_RATE, 0.0), \
    NVL(b.NET_RATE, 0.0), \
    NVL(b.FEE, 0.0), \
    NVL(b.COMMISSION, 0.0), \
    a.PYMT_CASH_DIVD_FNS, \
    a.PYMT_STK_DIVD_FNS, \
    a.PYMT_DECLARED_FNS, \
    a.PYMT_EX_DATE_FNS, \
    a.PYMT_STK_REC_FNS, \
    a.PYMT_PAYABLE_FNS, \
    a.PYMT_SPLIT_FNS, \
    NVL (TO_NUMBER (TO_CHAR(a.PYMT_PUB_DATE, 'YYYYMMDD')), 0), \
    NVL (TO_NUMBER (TO_CHAR(a.PYMT_TRANSFER_DATE, 'YYYYMMDD')), 0), \
    NVL (TO_NUMBER (TO_CHAR(a.PYMT_STK_REC, 'YYYYMMDD')), 0), \
    NVL (TO_NUMBER (TO_CHAR(a.PYMT_DB_DATE, 'YYYYMMDD')), 0) \
    FROM IDB.DDR_PAYMENTS A, IDB.DDR_PAYMENTS_2 B \
    WHERE A.PYMT_CUSIP_NO = :master_cusip_no \
    AND A.PYMT_CUSIP_NO = B.PYMT_CUSIP_NO (+) \
    AND A.PYMT_SEQ_NO = B.PYMT_SEQ_NO (+) \
    AND NVL(INSTR(A.PYMT_CODES,'CO'),0) NOT IN (1,3,5,7,9,11) ");
         strcat (sql_stmt2.arr, payment_where_clause);
         sql_stmt2.len = strlen(sql_stmt2.arr);
         EXEC SQL PREPARE PAYMENTS FROM :sql_stmt2;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in preparing PAYMENTS");
         EXEC SQL DECLARE PAYMENTS_C CURSOR FOR PAYMENTS;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring PAYMENTS");
         /* now the get_tenders cursor */
         memset (sql_stmt3.arr, 0, sizeof(sql_stmt3.arr));
    /* FXL ADD SUBSTR to tndr_price_qual: substr(A.TNDR_PRICE_QUAL,1,14), 3/23/99,
    to to_number 3/29/99 */
         sprintf (sql_stmt3.arr, "SELECT \
    B.TNDR_AGT_NO, \
    B.NY_AGT_NO, \
    TO_CHAR(A.TNDR_TENDER_DATE, 'YYMMDD'), \
    A.TNDR_PRICE, \
    to_number(A.TNDR_PRICE_QUAL), \
    A.TNDR_TE_SIZE, \
    TNDR_TE_TEXT_1 \
    FROM IDB.DDR_TENDERS A, IDB.DDR_TENDERS_2 B \
    WHERE TNDR_CUSIP_NO = :master_cusip_no \
    AND TNDR_CUSIP_NO = TNDR_ISSUE_NO(+) \
    AND A.TNDR_TENDER_DATE = B.TNDR_TENDER_DATE(+) ");
         strcat (sql_stmt3.arr, tenders_where_clause);
         sql_stmt3.len = strlen(sql_stmt3.arr);
         EXEC SQL PREPARE TENDERS FROM :sql_stmt3;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in preparing TENDERS");
         EXEC SQL DECLARE TENDERS_C CURSOR FOR TENDERS;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring TENDERS");
         /* now the get_rights cursor */
         memset (sql_stmt4.arr, 0, sizeof(sql_stmt4.arr));
    /* ADD TO_CHAR(A.RGHT_DB_DATE, 'YYMMDD') */
         sprintf (sql_stmt4.arr, "SELECT \
    B.NO_RIGHTS_ISSUED, \
    B.SHS_REQ_FOR_PURCH, \
    B.RGHTS_REQUIRED, \
    B.QTY_SHS_PURCHASED, \
    B.TYPE_SHS_ELIGIBLE, \
    B.NEW_SHS_CUSIP_NO, \
    B.NEW_CO_ISSUER_DESCR, \
    TO_CHAR(A.RGHT_RECORD, 'YYMMDD'), \
    TO_CHAR(A.RGHT_EX_DATE, 'YYMMDD'), \
    TO_CHAR(B.NYC_RECORD_DATE, 'YYMMDD'), \
    TO_CHAR(A.RGHT_EXPIRE, 'YYMMDD'), \
    TO_CHAR(A.RGHT_DB_DATE, 'YYMMDD'), \
    A.RGHT_PRICE, \
    NVL(A.RGHT_RECORD_FNS,' '), \
    NVL(A.RGHT_EXPIRE_FNS,' '), \
    NVL(A.RGHT_EX_DATE_FNS,' '), \
    NVL(A.RGHT_PRICE_FNS,' '), \
    NVL(A.RGHT_BASIS_FNS,' '), \
    A.RGHT_FOOTNOTE, \
    B.US_INELIGIBILITY_IND, \
    B.RGHT_TRFR_IND \
    FROM IDB.DDR_RIGHTS A, IDB.DDR_RIGHTS_2 B \
    WHERE RGHT_CUSIP_NO = :master_cusip_no \
    AND RGHT_CUSIP_NO = RGHT_ISSUE_NO(+) \
    AND A.RGHT_RECORD = B.RGHT_RECORD_DATE(+) ");
         strcat (sql_stmt4.arr, rights_where_clause);
         sql_stmt4.len = strlen(sql_stmt4.arr);
         EXEC SQL PREPARE RIGHTS FROM :sql_stmt4;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in preparing RIGHTS");
         EXEC SQL DECLARE RIGHTS_C CURSOR FOR RIGHTS;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring RIGHTS");
         /* ram - added logic on 7/18/95 */
         /* for the standard footnotes cursor */
         EXEC SQL DECLARE STANDARD_FOOTNOTES_C CURSOR
         FOR
         SELECT SFTN_S_F_TEXT, SFTN_S_F_TYPE
         FROM IDB.DDR_STANDARD_FOOTNOTES
         WHERE SFTN_S_F_TYPE = :standard_footnote_type;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring STANDARD_FOOTNOTES");
         /* now the issue footnotes cursor */
         EXEC SQL DECLARE ISSUE_FOOTNOTES_C CURSOR
         FOR
         SELECT FTNT_F_TEXT, FTNT_F_TYPE
         FROM IDB.DDR_FOOTNOTES
         WHERE FTNT_CUSIP_NO = :master_cusip_no
         AND FTNT_SYMBOL = :footnote_symbol
         AND FTNT_YEAR IS NULL;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring ISSUE_FOOTNOTES");
         /* now the payment footnotes cursor */
         EXEC SQL DECLARE PAYMENT_FOOTNOTES_C CURSOR
         FOR
         SELECT FTNT_F_TEXT, FTNT_F_TYPE
         FROM IDB.DDR_FOOTNOTES
         WHERE FTNT_CUSIP_NO = :master_cusip_no
         AND FTNT_SYMBOL = :footnote_symbol
         AND FTNT_YEAR = :footnote_year;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring PAYMENT_FOOTNOTES");
         /* now the get_s_h_meetings cursor */
         /* ONLY for certain tape types. */
    /*     GR PARTial 5
         if (which_tape == 0 || which_tape == 3 || which_tape == 1 || which_tape == 5)
              memset (sql_stmt5.arr, 0, sizeof(sql_stmt5.arr));
              /* ram - 6/15/95 - changed ORigunal to smtg */
              /* TO_CHAR(ORIGINAL_REC_DATE, 'YYMMDD'), \ */
              sprintf (sql_stmt5.arr, "SELECT \
    TO_CHAR(SMTG_MTG_DATE, 'YYMMDD'), \
    TO_CHAR(SMTG_REC_DATE, 'YYMMDD'), \
    SMTG_FOOTNOTE \
    FROM IDB.DDR_S_H_MEETINGS \
    WHERE SMTG_CUSIP_NO = :master_cusip_no ");
              strcat (sql_stmt5.arr, s_h_meet_where_clause);
              sql_stmt5.len = strlen(sql_stmt5.arr);
              EXEC SQL PREPARE S_H_MEET FROM :sql_stmt5;
              if (sqlca.sqlcode)
                   sql_error (SYSERR, sqlca.sqlcode,
                        "Error in preparing S_H_MEET");
              EXEC SQL DECLARE S_H_MEET_C CURSOR FOR S_H_MEET;
              if (sqlca.sqlcode)
                   sql_error (SYSERR, sqlca.sqlcode,
                        "Error in declaring S_H_MEET");
         } /* end of if (which_tape == 0 || which_tape == 1 || which_tape == 5) */
    /* replaced get_calendar_dates function with use of PLSQL - ram - 5/24/95 */
    void get_calendar_dates() /* Modified by TCS */
         /* put first and last calendar dates into global ints */
         /* first_cal_date and last_cal_date (YYYYMMDD) using */
         /* ddr package function get_business_days. */
         /* The package object ddr is owned by idb, so I'll */
         /* specify this, just in case accounts other than idb */
         /* run this code. (EXECUTE priviledge is granted to */
         /* "idb_user" role.) */
    EXEC SQL BEGIN DECLARE SECTION;
              int          cal_start;
              int          cal_end;
              int          return_val;
    EXEC SQL END DECLARE SECTION;
         /* initialize destination globals */

    You actually need to run it with "check -access"; memuse and leaks won't help with the crash, which happens because of illegal memory access. Hopefully, "check -access" will help you to locate the bad guy, but that's not panacea either.
    To be precise:
    - start dbx
    $ dbx <your app>
    - issue
    (dbx) check -access
    (dbx) run
    and wait for dbx to stop and report suspicious memory access.

  • Root.sh failure during Grid install - segmentation fault for clscfg

    Hi anyone got any idea how to resolve the following error during execution of root.sh on second node of a RAC installation. I see there is a failure when clscfg -localadd is run - perhaps this is the start of the issue. I have no idea what this command is doing
    Any help appreciated
    Installing verison 11.2.0.2 on RHEL 5
    ntpd was NOT running - I ignored this during the pre-reqs at the end of the runInstaller - perhaps this is the issue and i need to start fresh and make sure its running before running root.sh ?
    root.sh....
    Entries will be added to the /etc/oratab file as needed by
    Database Configuration Assistant when a database is created
    Finished running generic part of root script.
    Now product-specific root actions will be performed.
    Using configuration parameter file: /opt/app/11.2.0/grid/crs/install/crsconfig_params
    Failure with signal 11 from command: 1 /opt/app/11.2.0/grid/bin/clscfg -localadd
    OLR initialization - successful
    Adding daemon to inittab
    ACFS-9200: Supported
    ACFS-9300: ADVM/ACFS distribution files found.
    ACFS-9307: Installing requested ADVM/ACFS software.
    ACFS-9308: Loading installed ADVM/ACFS drivers.
    ACFS-9321: Creating udev for ADVM/ACFS.
    ACFS-9323: Creating module dependencies - this may take some time.
    ACFS-9327: Verifying ADVM/ACFS devices.
    ACFS-9309: ADVM/ACFS installation correctness verified.
    CRS-2672: Attempting to start 'ora.mdnsd' on 'coden-ota-odc'
    CRS-2676: Start of 'ora.mdnsd' on 'coden-ota-odc' succeeded
    CRS-2672: Attempting to start 'ora.gpnpd' on 'coden-ota-odc'
    CRS-2676: Start of 'ora.gpnpd' on 'coden-ota-odc' succeeded
    CRS-2672: Attempting to start 'ora.cssdmonitor' on 'coden-ota-odc'
    CRS-2672: Attempting to start 'ora.gipcd' on 'coden-ota-odc'
    CRS-2676: Start of 'ora.cssdmonitor' on 'coden-ota-odc' succeeded
    CRS-2676: Start of 'ora.gipcd' on 'coden-ota-odc' succeeded
    CRS-2672: Attempting to start 'ora.cssd' on 'coden-ota-odc'
    CRS-2672: Attempting to start 'ora.diskmon' on 'coden-ota-odc'
    CRS-2676: Start of 'ora.diskmon' on 'coden-ota-odc' succeeded
    CRS-2676: Start of 'ora.cssd' on 'coden-ota-odc' succeeded
    Start of resource "ora.ctssd" failed
    CRS-2672: Attempting to start 'ora.ctssd' on 'coden-ota-odc'
    CRS-2674: Start of 'ora.ctssd' on 'coden-ota-odc' failed
    CRS-4000: Command Start failed, or completed with errors.
    Cluster Time Synchronisation Service start in exclusive mode failed at /opt/app/11.2.0/grid/crs/install/crsconfig_lib.pm line 6455.
    /opt/app/11.2.0/grid/perl/bin/perl -I/opt/app/11.2.0/grid/perl/lib -I/opt/app/11.2.0/grid/crs/install /opt/app/11.2.0/grid/crs/install/rootcrs.pl execution failed
    I executed the /opt/app/11.2.0/grid/bin/clscfg to see what the result was and it returns a Segmentation Fault to std err
    Edited by: 787789 on Nov 10, 2010 6:58 AM

    Hi,
    here is one document you can go for work around but it is on windows platform but similar error as you posted *CRS Installation Failed with "failed to configure Oracle Cluster Registry with CLSCFG, ret 9" [ID 851742.1]*
    Thanks

Maybe you are looking for

  • Retrieving pictures off of my hard drive (Time machine) from Iphoto

    I apologize if this issue has ben addressed, but I searched and havent seen this same question. Now, I have been using time machine with my LaCie to back up my Macbook. One of my main reasons is to back up 9,000+ pictures that I have on here. Now, i

  • Adding field to Table Control using screen exit

    Hi Folks, I have a requirement of adding a field in Table control of Standard SAP transaction also updating the same in standard SAP database table. The field is also not existing in the table, it is also added to the table using Append Structure. Wi

  • XL Reporter connection problem

    Hi all, When I login to SAP B1, msg appears at bottom 'connecting add on XL Reporter'. However ultimately add On connection fails and following error msg window appears- Unableto connect to SAP Business One [SAP Business One UI API] The requested loo

  • Logging step results question

    I'm using the sequential process model which includes database logging. I've modified the database schema and I am using my own insert statement. I'm trying to use the step results logging feature. I have 2 questions\issues I need help on: First Issu

  • VK11/12- Warning pop up

    Hii All There is a requiement in condition record where we want to have a warning pop up when we enter the valid from date i.e. whenever the valid from date is in past the system should give a pop up message. Can anyone let me know the settings where