AttachCurrentThread SEGV linux Itanium 64 Java 6

I have a Java application which is core dumping. This application has a JNI component. The JNI component tries to attach a native thread to VM to do a call back to Java method. SEGC occurs while doing AttachCurrentThread. Here is a code snippet.
JNIEnv *env;
JavaVM *jvm_local;
jsize nVMs;
/* Get the JNI Env from the JVM */
/* JNI_GetCreatedJavaVMs(JavaVM **vmBuf, jsize bufLen, jsize nVMs); /
if(JNI_GetCreatedJavaVMs(&jvm_local, 1, &nVMs) != JNI_OK) return -1;
(*jvm_local)->AttachCurrentThread(jvm_local, (void **)&env, NULL);
Java dump
# A fatal error has been detected by the Java Runtime Environment:
# SIGSEGV (0xb) at pc=0x2000000000b30560, pid=7537, tid=2305843011812471424
# JRE version: 6.0_17
# Java VM: Java HotSpot(TM) 64-Bit Server VM (14.3-b01 mixed mode linux-ia64 )
# Problematic frame:
# V [libjvm.so+0x7dc560]
# 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 (0x60000000002bf000): JavaThread "<no-name - thread is attaching>" [_thread_in_vm, id=7737, stack(0x200000009ae50000,0x200000009ae64000)]
siginfo:si_signo=SIGSEGV: si_errno=0, si_code=2 (SEGV_ACCERR), si_addr=0x0000000000000030
I looked at the core generated. See below:
(gdb) where
#0 0xa000000000010640 in __kernel_syscall_via_break ()
#1 0x20000000001274b0 in raise () from /lib/tls/libc.so.6.1
#2 0x2000000000129db0 in abort () from /lib/tls/libc.so.6.1
#3 0x200000000115dff0 in os::abort ()
from /strnas02/local/java/jdk1.6.0_17/jre/lib/ia64/server/libjvm.so
#4 0x200000000143c540 in VMError::report_and_die ()
from /strnas02/local/java/jdk1.6.0_17/jre/lib/ia64/server/libjvm.so
#5 0x200000000116a720 in JVM_handle_linux_signal ()
from /strnas02/local/java/jdk1.6.0_17/jre/lib/ia64/server/libjvm.so
#6 0x200000000115adb0 in signalHandler ()
from /strnas02/local/java/jdk1.6.0_17/jre/lib/ia64/server/libjvm.so
#7 <signal handler called>
#8 0x2000000000b30560 in frame::compiled_sender_sp ()
from /strnas02/local/java/jdk1.6.0_17/jre/lib/ia64/server/libjvm.so
#9 0x2000000000b334b0 in frame::sender ()
from /strnas02/local/java/jdk1.6.0_17/jre/lib/ia64/server/libjvm.so
#10 0x2000000000cfc230 in java_lang_Throwable::fill_in_stack_trace ()
from /strnas02/local/java/jdk1.6.0_17/jre/lib/ia64/server/libjvm.so
#11 0x2000000000cfc850 in java_lang_Throwable::fill_in_stack_trace ()
from /strnas02/local/java/jdk1.6.0_17/jre/lib/ia64/server/libjvm.so
#12 0x2000000000b17900 in Exceptions::throw_stack_overflow_exception ()
from /strnas02/local/java/jdk1.6.0_17/jre/lib/ia64/server/libjvm.so
#13 0x2000000000ce6f00 in JavaCalls::call_helper ()
from /strnas02/local/java/jdk1.6.0_17/jre/lib/ia64/server/libjvm.so
#14 0x2000000001157d40 in os::os_exception_wrapper ()
from /strnas02/local/java/jdk1.6.0_17/jre/lib/ia64/server/libjvm.so
#15 0x2000000000ce48d0 in JavaCalls::call ()
from /strnas02/local/java/jdk1.6.0_17/jre/lib/ia64/server/libjvm.so
#16 0x2000000000ce4ca0 in JavaCalls::call_special ()
from /strnas02/local/java/jdk1.6.0_17/jre/lib/ia64/server/libjvm.so
#17 0x2000000000ce5130 in JavaCalls::call_special ()
from /strnas02/local/java/jdk1.6.0_17/jre/lib/ia64/server/libjvm.so
#18 0x200000000138aee0 in JavaThread::allocate_threadObj ()
from /strnas02/local/java/jdk1.6.0_17/jre/lib/ia64/server/libjvm.so
#19 0x2000000000d00780 in attach_current_thread ()
from /strnas02/local/java/jdk1.6.0_17/jre/lib/ia64/server/libjvm.so
#20 0x2000000000d00c80 in jni_AttachCurrentThread ()
from /strnas02/local/java/jdk1.6.0_17/jre/lib/ia64/server/libjvm.so
#21 0x200000008b33bd30 in genericACFConnectionCallback (
hdbc=0x60000000003b6bd0, param=0x0, foType=0, foEvent=1) at JdbcOdbc.c:4627
#22 0x200000008b3ada40 in FailoverCallbackThread (a=0x600000000021cf60)
at /ade/mardhana_him_gcia64linux1/timesten/VisiChannel/oc/src/vocctx.cpp:666
#23 0x200000000006d7f0 in start_thread () from /lib/tls/libpthread.so.0
#24 0x200000000026f9f0 in __clone2 () from /lib/tls/libc.so.6.1
I see Exceptions::throw_stack_overflow_exception (). Is this a "reliable" indication that there was stack overflow? Here is the VM info:
OS:Red Hat Enterprise Linux AS release 4 (Nahant Update 3)
uname:Linux 2.6.9-34.0.1.0.11.EL #1 SMP Mon Dec 4 14:42:32 PST 2006 ia64
libc:glibc 2.3.4 NPTL 2.3.4
rlimit: STACK 16000k, CORE infinity, NPROC 16315, NOFILE 1024, AS infinity
load average:1.37 1.24 1.23
CPU:total 4 Itanium 2 Madison 9M, family 31 model 2 revision 1, lb
Memory: 16k page, physical 8244064k(688096k free), swap 2097120k(2095872k free)
vm_info: Java HotSpot(TM) 64-Bit Server VM (14.3-b01) for linux-ia64 JRE (1.6.0_17-b0405), built on Oct 14 2009 21:17:59 by "lab_ipfjbld" with gcc 4.2.0
I will appreciate any pointers.
With regards,
mp

jschell wrote:
# SIGSEGV The most likely cause of that in an app with JNI code is a C/C++ pointer bug. That is followed by a misuse of an API (which is going to end up resolving to a pointer error too.)
Pointer bugs do not necessarily produce immediate errors. They can cause the app to fail in unexpected ways almost anywhere after the point where the bug occurred. A common indicator of this is if the code changes or the execution through the code changes then a different bug (location) occurs.I suspected that "stack overflow" is not a good indicator (especially based on some of your older posts). I do not understand what you mean by -- That is followed by a misuse of an API (which is going to end up resolving to a pointer error too.). I am using the VM pointer and am attaching a native thread to it to call back into Java layer. Can you please elaborate on the misuse?
Edited by: coffeeguy on Apr 8, 2010 1:11 PM
Edited by: coffeeguy on Apr 8, 2010 1:27 PM

Similar Messages

  • J2EE 5.0 on Linux Itanium (IA64)

    Does anyone know if J2EE 5.0 for Linux is supported and available on Itanium (IA64).

    Java EE 5 SDK is not officially supported on this platform. You could attempt installation using workarounds described here:
    http://wiki.java.net/bin/view/Projects/LinDist
    Another option would be to download and install GlassFish distribution which is open source equivalent of Application Server bundled in Java EE 5 SDK and then download and install other parts of SDK (samples, javadocs, etc) separately. Relevant download URLs:
    https://glassfish.dev.java.net/downloads/04May06.html
    http://java.sun.com/javaee/downloads/index.jsp
    (see "Download the Components Independently" section)

  • Cannot get 10.1.0.3 on linux Itanium to install on RHEL4

    I have been trying to get rdbms version 10.1.0.3 for Linux Itanium to install on a new HP rx6600 running RHEL4 and have not had much luck thus far...I have an open SR with metalink but still not much progress...
    Initially I had to download the oracle jvm patch for the montecito processor and I installed a patched version of the jre and jdk. This got the installer to continue on a little further but still I cannot get the oui to launch.
    Now that we have the patch version of the jre I am running the installer with the -jreLoc parameter and pointing it to the new jre but I am getting the following annoying error.
    oracle@bistand Disk1]$ ./runInstaller -debug -jreLoc $ORACLE_HOME/jre
    Starting Oracle Universal Installer...
    Checking installer requirements...
    Checking operating system version: must be redhat-2.1, redhat-3, redhat-4, UnitedLinux-1.0, SuSE-9
    or SuSE-8
    Passed
    All installer requirements met.
    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2009-10-29_01-38-58PM. Please wait ...unzip: cannot find
    /orahomes/10gr1_db_home/jre/*.jar, /orahomes/10gr1_db_home/jre/*.jar.zip or
    /orahomes/10gr1_db_home/jre/*.jar.ZIP.
    No zipfiles found.
    Error in writing to directory /tmp/OraInstall2009-10-29_01-38-58PM. Please ensure that this
    directory is writable and has atleast 60 MB of disk space. Installation cannot
    continue.
    : Success
    My tmp dir is writable and I have plently of space and I have tried a workaround to create a newtmp dir and export the variables to use newtmp but still the annoying error persists?
    Also I see that when runing the installer with the debug option it is looking for the jar files in the jre location? No idea why this is happeneing...
    Has anyone gotten this to work?
    Thanks.

    Because I have a 10.1.0.3 database that I need to migrate to new hardware and I want to use oracle dataguard to faciilitate a zero down time migration to ASM and the rdbms versions need to be the same in order to have the ability to use data guard... I plan to upgrade after the database has been migrated.
    And your probably thinking why not just upgrade the 10.1.0.3 database first and then migrate? Well I am trying to avoid upgrading the currently installed 10.1.0.3 database because we are reliant on tape backups and do not have a good disk backup/restore solution should something go wrong with the database upgrade...So I was hoping to get the db migrated over first and then do the upgrade of the database on the newer hardware and new storage because with my new hardware I have the ability to do online disk backups which will be more reliable and less risk involved in the event that the upgrade doesn't go so well...
    Trust me life would be so easy If I could just install oracle 11G.

  • The Install problem 10.1.0.3 on linux itanium

    hi.
    I met the installation problem 10.1.0.3 on linux itanium due to ntcontab.o.
    When I stoped and restarted the installation (too many times!), it break in the same point... (99%)
    The log file produced:
    /usr/bin/make -f ins_net_client.mk ntcontab.o ORACLE_HOME=/oracle/rm -f ntcontab.*
    (if [ "compile" = "compile" ] ; then \
    /oracle/bin/gennttab > ntcontab.c ;\
    /usr/bin/gcc -c ntcontab.c ;\
    rm -f /oracle/lib/ntcontab.o ;\
    mv ntcontab.o /oracle/lib/ ;\
    /usr/bin/ar rv /oracle/lib/libn10.a /oracle/lib/ntcontab.o ; fi)
    ntcontab.c:7:23: sys/types.h: No such file or directory
    mv: cannot stat `ntcontab.o': No such file or directory
    /usr/bin/ar: /oracle/lib/ntcontab.o: No such file or directory
    make: *** [ntcontab.o] Error 1
    at present
    gcc version: 3.4
    g++ version: 3.4
    any hints?
    thanks

    Thanks for your answer.
    cpu information:
    oracle@dr_re_01d:/etc> cat redhat-release
    Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
    processor : 0
    vendor : GenuineIntel
    arch : IA-64
    family : 32
    model : 0
    revision : 7
    archrev : 0
    features : branchlong, 16-byte atomic ops
    cpu number : 0
    cpu regs : 4
    cpu MHz : 1598.002498
    itc MHz : 400.000000
    BogoMIPS : 32614.90
    siblings : 1
    processor : 1
    vendor : GenuineIntel
    arch : IA-64
    family : 32
    model : 0
    revision : 7
    archrev : 0
    features : branchlong, 16-byte atomic ops
    cpu number : 0
    cpu regs : 4
    cpu MHz : 1598.002498
    itc MHz : 400.000000
    BogoMIPS : 10.48
    siblings : 1
    processor : 2
    vendor : GenuineIntel
    arch : IA-64
    family : 32
    model : 0
    revision : 7
    archrev : 0
    features : branchlong, 16-byte atomic ops
    cpu number : 0
    cpu regs : 4
    cpu MHz : 1598.002498
    itc MHz : 400.000000
    BogoMIPS : 8.38
    siblings : 1
    processor : 3
    vendor : GenuineIntel
    arch : IA-64
    family : 32
    model : 0
    revision : 7
    archrev : 0
    features : branchlong, 16-byte atomic ops
    cpu number : 0
    cpu regs : 4
    cpu MHz : 1598.002498
    itc MHz : 400.000000
    BogoMIPS : 8.38
    siblings : 1
    I don't have the patch list for 10r1, rh4 ( it can't find in metalink).
    so, I am processing in reference to the patch list for 10r1, rh3.
    I passed a part of ntcontab.o error, now.
    I received two new message about O.S patch: ultra search and EM
    thanks

  • Configuration needed for Installing Oracle 9i-R2 on Linux Itanium

    I need a specific documentation for Installing Oracle 9i-R2 on Linux Itanium server.

    Oracle does not support running the 32-bit database on Itanium.64-bit Oracle database software only supports 64-bit for Itanium.
    Check Metalink Note:266043.1 for details
    Virag

  • Migrate EBS(12.1.1)  DB (10.2.0.4) RAC from linux itanium to HP-UX Itanium

    Dear Friends,
    We've a migration project to move oracle EBS database(10.2.0.4) 2 node RAC from linux itanium to hpux itanium and later upgrade to 11.2.0.2.
    Could you please send me a document which explain the steps to proceed.
    EBSVesrion (12.1.1)
    Current DB Linux Version RHEL 5.2 Itanium , (10.2.0.4)
    Future DB : HP-UX 11iV3 Itanium. (11.2.0.2)
    Regards,

    Duplicate post ? - 10g to 11g upgrade and platform migration from linux to hp unix
    Pl post EBS questions in the EBS forums - http://forums.oracle.com/forums/category.jspa?categoryID=3
    HTH
    Srini

  • How to execute Linux command from Java app.

    Hi all,
    Could anyone show me how to execute Linux command from Java app. For example, I have the need to execute the "ls" command from my Java app (which is running on the Linux machine), how should I write the codes?
    Thanks a lot,

    You can use "built-in" shell commands, you just need to invoke the shell and tell it to run the command. See the -c switch in the man page for your shell. But, "ls" isn't built-in anyays.
    If you use exec, you will want to set the directory with the dir argument to exec, or add it to the command or cmdarray. See the API for the variants of java.lang.Runtime.exec(). (If you're invoking it repeatedly, you can most likely modify a cmdarray more efficiently than having exec() decompose your command).
    You will also definitely want to save the returned Process and read the output from it (possibly stderr too and get an exit status). See API for java.lang.Process. Here's an example
    java.io.BufferedReader br =
    new java.io.BufferedReader(new java.io.InputStreamReader(
    Runtime.getRuntime().exec ("/sbin/ifconfig ppp0").
    getInputStream()));
    while ((s = br.readLine()) != null) {...                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Execute linux command from java

    I wanna execute linux command from java, bu the output has error:
    Return code = 1
    top: failed tty get
    The code as:
    import java.io.*;
    public class Execute {
         public static void main(String[] args) {
              try {
                   final Process process = Runtime.getRuntime().exec("top");
                   new Thread() {
                        public void run() {
                             try {
                                  InputStream is = process.getInputStream();
                                  byte[] buffer = new byte[1024];
                                  for (int count = 0; (count = is.read(buffer)) >= 0;) {
                                       System.out.write(buffer, 0, count);
                             } catch (Exception e) {
                                  e.printStackTrace();
                   }.start();
                   new Thread() {
                        public void run() {
                             try {
                                  InputStream is = process.getErrorStream();
                                  byte[] buffer = new byte[1024];
                                  for (int count = 0; (count = is.read(buffer)) >= 0;) {
                                       System.err.write(buffer, 0, count);
                             } catch (Exception e) {
                                  e.printStackTrace();
                   }.start();
                   int returnCode = process.waitFor();
                   System.out.println("Return code = " + returnCode);
              } catch (Exception e) {
                   e.printStackTrace();
    }Help please.

    Your code is probably good to run a program, that does not use terminal capabilities.
    Program "top" is a little bit more complicated - you have to run it with a real terminal.
    Try to run "xterm -e top". You can find an example how to run an external program
    from java code in cnd/gdb module on http://cnd.netbeans.org
    For example, take a look at openExternalProgramIOWindow() method on this page:
    http://cnd.netbeans.org/source/browse/cnd/gdb/src/org/netbeans/modules/cnd/debugger/gdb/proxy/Attic/GdbProxyCL.java?rev=1.1.2.6.2.5&only_with_tag=release551_fixes&view=markup
    It runs a command with external terminal.
    Thanks,
    Nik

  • Unable to execute Linux command from Java

    Hi,
    I am currently working on a code wherein i need to execute Linux command from Java. Below are some of the query i have.
    1) Is there any efficient method of running OS commands from Java, rather than using Runtime and Process method.
    2) Below is details of my code which fails in execution
    **-- Java Version**
    java version "1.6.0"
    OpenJDK Runtime Environment (build 1.6.0-b09)
    OpenJDK Server VM (build 1.6.0-b09, mixed mode)
    -- Program Code ----
    Where <path> = Path i put myself
    package test;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.*;
    public class GetInode{
         * @param args
         public static void main(String[] args) {
              GetInode test = new GetInode();
              test.getInode();
         public void getInode(){                    
              String command = "/usr/bin/stat -Lt <path>;
              System.out.println(command);
              Process process;
              Runtime rt;     
              try{
              rt = Runtime.getRuntime();               
              process = rt.exec(command);
              InputStreamReader isr = new InputStreamReader(process.getErrorStream());
              BufferedReader bre = new BufferedReader(isr);
              BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream());
              System.out.println(bre.readLine());
    System.out.println(br.readLine().split(" ")[7]);
              process.destroy();          
              }catch (Exception ex){
                   System.out.println("Error :- " + ex.getMessage());
    ------Output -------------
    /usr/bin/stat -Lt "<path>"
    /usr/bin/stat: cannot stat `"<path>"': No such file or directory
    Error :- null
    Can any one help me what is wrong and why i am unable to run the Linux command from Java.

    For clarity purpose............i m submitting actual code here
    --- Code ---
    package test;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.*;
    public class GetInode{
    * @param args
    public static void main(String[] args) {
    GetInode test = new GetInode();
    test.getInode();
    public void getInode(){               
    String command = "/usr/bin/stat -Lt \"/afs/inf.ed.ac.uk/user/s08/s0898671/workspace/CASWESBLIN/TestFS/01_FIL_01.txt.txt\"";
    System.out.println(command);
    Process process;
    Runtime rt;
    try{
    rt = Runtime.getRuntime();
    process = rt.exec(command);
    InputStreamReader isr = new InputStreamReader(process.getErrorStream());
    BufferedReader bre = new BufferedReader(isr);
    BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
    System.out.println(bre.readLine());
    System.out.println(br.readLine().split(" ")[7]);
    process.destroy();
    }catch (Exception ex){
    System.out.println("Error :- " + ex.getMessage());
    --- Output ---
    [ratz]s0898671: java GetInode
    /usr/bin/stat -Lt "/afs/inf.ed.ac.uk/user/s08/s0898671/workspace/CASWESBLIN/TestFS/01_FIL_01.txt.txt"
    /usr/bin/stat: cannot stat `"/afs/inf.ed.ac.uk/user/s08/s0898671/workspace/CASWESBLIN/TestFS/01_FIL_01.txt.txt"': No such file or directory
    Error :- null
    -- Linux Terminal --
    If i copy the first line from the output and execute on Linux terminal her is the output that i get
    [ratz]s0898671: /usr/bin/stat -Lt "/afs/inf.ed.ac.uk/user/s08/s0898671/workspace/CASWESBLIN/TestFS/01_FIL_01.txt.txt"
    /afs/inf.ed.ac.uk/user/s08/s0898671/workspace/CASWESBLIN/TestFS/01_FIL_01.txt.txt 12003 24 81a4 453166 10000 1c 360466554 2 0 1 1246638450 1246638450 1246638450 4096
    Can you just assist me where am i really making mistake.......i was wondering if the command that i pass from Java....can be executed on Linux terminal why is it faling to run from java.........and when i print the Error Stream for process output........it show cannot Stat.......

  • Problems with Dynamic Remastering (DRM) with 10.2.0.4 on Linux Itanium

    One of my customers is having severe RAC performance issues, which appeared three times so far. Each time, the performance impact lasted around 10 minutes and caused basically a hang of the application. ASH investigation revealed that the time frame of performance issues exactly matches a DRM operation of the biggest segment of the database. During the problematic time period, there are +50 instead of 2-3 active sessions and they are mostly waiting for gc related events: "gc buffer busy","gc cr block busy", "gc cr block 2-way", "gc current block 2-way", "gc current request", "gc current grant busy", etc.
    In addition, there is one single session which has wait event "kjbdrmcvtq lmon drm quiesce: ping completion" (on instance 1) and 1-3 sessions with wait event "gc remaster". (on instance 2)
    Does anybody have any experience with DRM problems with 10.2.0.4 on Linux Itanium?
    I know that it is possible to deactive DRM, but usually it should be beneficial to have it enabled. I could not find any reports of performance impact during DRM operation on metalink. Support is involved but clueless.
    Regards,
    Martin

    Oracle Support has requested stacktraces of lms processes during the period of performance degradation. We decided to enable OSWatcher to get systemwide linux data and procwatcher to get lms process stacktraces. We created a Grid Control User Defined Metric to check whether the symptoms of a DRM performance problem is taking place. Then we triggered the lms stacktraces with a Grid Control Response Action script of the UDM.
    Oracle Support has also requested global hanganalyze and system state dumps but we decided not to collect system state dumps because of the big additional performance impact.
    The oswatcher data showed that during the drm period, the lms processes had very high CPU resource utilization.
    In the meantime Oracle Support has confirmed that we are hitting 6960699. We have received patch 8516675 which includes the bugfix and have installed it. Now, we are waiting to see whether this indeed fixes the issue.

  • Linux Itanium

    Hello team. I have a brand new HP Integrity rx2800 i2 and we installed hpux v3. Now we want to create 2 virtual machines with redhat 5. My question is if oracle 11g r2 is supported on Linux x64 Itanium.
    The certification matrix only talks about Linux x64 without specifying the type of processor.
    I hope i made my self clear.
    Thanks in advance.

    http://www.oracle.com/us/corporate/press/346696
    and
    Support note: "Support Status - Oracle Database on Linux Itanium [ID 1130325.1]"

  • Oracle BI EE 10.1.3.4 not getting installed on Linux Itanium

    Hi
    I am installing Oracle BI EE 10.1.3.4 (evaluation version downloaded from OTN) on Red Hat Enterprise Linux 5 on Itanium (64 bit) server. As I have read in documentation, OBIEE comes only in 32 bit and should have 32 bit emulation on the 64 bit server. We already have 32 bit emulation activated on the server.
    I have created an Oracle User account on the server and copied RH_LINUX folder containing the installation files for OBIEE in the Oracle User folder.
    When I run [oracle@machinename Oracle_Business_Intelligence]$ ./UnixChk.sh -s, it gives SUCCESS.
    But when I run [oracle@machinename Oracle_Business_Intelligence]$ ./setup.sh for OBIEE, it gives:
    IntallShield Wizard
    Initializing InstallShield Wizard...
    Preparing Java(tm) Virtual Machine...
    ................................................[oracle@machinename Oracle_Business_Intelligence]$
    The installation simply stops without going forward.
    I have even tried ./setup.sh -console but still it gives the same problem.
    Any help will be highly appreciated.
    Regards
    Ruchir

    I checked that document and its not mentioning it clearly. It says that OBIEE is supported on Red Hat Enterprise Linux 5 with following rider:
    "Windows and Linux 64-bit support: For the Windows and Linux releases, the Oracle BI EE software is 32-bit. The
    software can run on 64-bit processors that support 32-bit emulation. The supported processors are AMD64 and EM64T.
    NOTE: Revisions A and B of this guide incorrectly listed Itanium2 as a supported processor."
    We have 32-bit emulation activated on our Server but the document doesn't clearly states that whether it supports Itanuim or not (though it has specifically mentioned AMD64 and EM64T processors as supported 64-bit processors and has specifically listed Itanium2 as NOT supported processor)

  • How can i run a linux command in java app?

    i created a cell script to run the compile process of my C++ simulator and want to control it thru java application, i tried the following but it doesn't work.
    the command in linux should be. under the path /home/workspace/SIM/ run: . / zs_compile
    and i use runtime to do this
    String path="home/workspace/SIM/ . /zs_compile";
    try {Runtime.getRuntime().exec(path);}
    catch( IOException e) {
    e.printStackTrace() ;
    Error report is java.io.IOException: java.io.IOException: home/workspace/SIM/ . /zs_compile : not found
    who can help me to find the reason, thanks a lot!!!!!

    the reason is that the command you're truing to execute can't be found. se this article for other traps relatd to runtime.exec:
    http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html
    the command in linux should be. under the path /home/workspace/SIM/ run: . / zs_compilecould yu elaborate a bit? "should be . under the path" -- do you mean it should be sourced from that path? Sourcing a script file makes no sense from a Java program.

  • Problem in executing Linux command from Java Programme.

    hi everybody,
    can anybody help me to solve one problem i have.
    i want to capture the output of linux command "grep" in my java programme.but it is not working properly .(maybe this sub-process doesn't have permission to read files)
    here is my code and corresponding outputs.
    import java.io.*;
    public class BSearch
    public static void main(String kj[])
    try
    Runtime rt=Runtime.getRuntime();
    String command="grep \"hello\" -r /usr/MyDir ";               
    Process rtProc=rt.exec(command);          
    InputStream is=rtProc.getInputStream();
    BufferedReader br =new BufferedReader(new InputStreamReader(is));     
    String line =null;
    while((line=br.readLine()) != null)
    System.out.println(br.readLine());
    br.close();
    catch(Exception e)
    System.err.println("Error in command "+e);               
    it finds "hello" pattern only in BSearch.class file although if i fire this command on LINUX prompt it
    shows all the files in /usr/MyDir which contain "hello" pattern.
    java programme output :
    Binary file /usr/MyDir/BSearch.class matches.
    linux command output :
    /usr/MyDir/one.txt: hello sdfs
    Binary file /usr/MyDir/BSearch.class matches.
    /usr/MyDir/two.txt: kjsdf hello sdfsdf
    will anybody help me solve this problem.

    It may be a Problem of Catching the Echoes back from the Processes...I have a Program which Captures the Echoes..see if it works
    import java.beans.PropertyChangeEvent;import java.beans.PropertyChangeListener;import java.beans.PropertyChangeSupport;import java.lang.ref.WeakReference;/** * Implements a proxy property change listener using a weak reference to avoid memory locking that would occur if it * was a strong reference. To understand this, we hve to understand that the property change listeners themselves are * hilding onto panels and other objects with strong java references. If the panel goes away while we are viewing an * object, we have a circular emory hold situation where the panel cant be collected because it has ahold of the * property and the property cannot because it has ahold of the pane. If we use weak references instead, then the hard * link between the listener and the producer is softened to almost nothing. */public class WeakPropertyChangeListener implements PropertyChangeListener {  /**   * A poperty change support object is included here so that the listener can remove   * himself from the listeners if the reference internally goes to null.   */  private PropertyChangeSupport pcs = null;  /** Holds the weak reference to the real listener. */  private WeakReference weakRef = null;  /**   * Constructs a new Proxy object for the given support and listener.   * @param pcs The property change support that this object will be using.   * @param pcl The real listener.   */  public WeakPropertyChangeListener(PropertyChangeSupport pcs, PropertyChangeListener pcl) {    if (pcs == null) throw new NullPointerException("pcs");    if (pcl == null) throw new NullPointerException("pcl");    this.pcs = pcs;    weakRef = new WeakReference(pcl);  } /** @see <{PropertyChangeListener}> */ public void propertyChange(PropertyChangeEvent changeEvent) {    Object referrant = weakRef.get();    if (referrant == null) {      pcs.removePropertyChangeListener(this);    } else {      ((PropertyChangeListener)referrant).propertyChange(changeEvent);    } } /** Returns true for comparison to referrant or this. */ public boolean equals(Object obj) {    if (obj instanceof WeakPropertyChangeListener) return super.equals(obj);    else if (obj != null)return obj.equals(weakRef.get());    else return false;  }}// snipet public void addPropertyChangeListener(PropertyChangeListener listener) {    this.propertyChangeSupport.addPropertyChangeListener(      new WeakPropertyChangeListener(this.propertyChangeSupport, listener));  } public void removePropertyChangeListener(PropertyChangeListener listener) {    this.propertyChangeSupport.removePropertyChangeListener(listener);  }

  • JNI - core dump - internal error on linux after calling Java method

    I'm getting a core dump after calling athe main statric method using JNNI.
    On linux.
    I can get the class id correcttly but when I attempt to call the method it craches with an internal error , anyone know why it would crash instead of just not work.
    if(cls)
        main_methodID = env->GetStaticMethodID(cls, "main", "([Ljava/lang/String;)V");
           printf("Class Found Successfully\n");
      else
        printf ( "cls not found\n");
        return 0;
      if(main_methodID)
              jstring first_str = env->NewStringUTF("The First String");//create string
              jobjectArray args = (jobjectArray)env->NewObjectArray(1,env->FindClass("java/lang/String"), first_str);//new array with 2 elements
                   env->SetObjectArrayElement(args, 2, first_str);//insert the second string into index 1 of the array
              jstring second_str = env->NewStringUTF("The Second String");//create string
              env->SetObjectArrayElement(args, 1, second_str);//insert the second string into index 1 of the array
         env->CallStaticVoidMethod(cls, main_methodID, args);//pass the array to the Java main method
                                  The JAVA method is
      public static void main(String[] args) {
        System.out.println("Main method in Framework");
            Framework framework = new Framework();
                                 

    I see yere points but what I see on linux is it makes it to the constructor of the Java object and somewhere afterwards it bails out, the Java app does work alone. It appears to have problems initializing the JFrame, could there be a problem with the Java inheritance when a JVM is invoked throurgh native invocation??
    Here's some of the Java stuff
    public class Framework extends WindowAdapter {
        public int numWindows = 0;
        private Point lastLocation = null;
        private int maxX = 500;
        private int maxY = 500;
        public Framework() {
            System.out.println("JAVA Framework cnst");//GETTING HERE
            makeNewWindow();
        public void makeNewWindow() {
            System.out.println("JAVA makeWindow"); //GETTING HERE
            JFrame frame = new MyFrame(this); //NOT GETTING HERE!!!!!!!!!
            numWindows++;
            System.out.println("Number of windows: " + numWindows);
            System.out.println("Frame location: " + lastLocation);
            frame.setVisible(true);
            System.out.println("Post Java set frame visible");
        public static void main(String[] args) {
        System.out.println("Main method in Framework");
            Framework framework = new Framework();//GETTING HERE
    class MyFrame extends JFrame {
        protected Dimension defaultSize = new Dimension(200, 200);
        protected Framework framework = null;
        public MyFrame(Framework controller) {
            super("New Frame");
            System.out.println("MyFrame cnst ");//NOT GETTING HERE!!!!!!
            framework = controller;
            setDefaultCloseOperation(DISPOSE_ON_CLOSE);
            addWindowListener(framework);
            JMenu menu = new JMenu("Window");
            menu.setMnemonic(KeyEvent.VK_W);
           setSize(defaultSize);
    }

Maybe you are looking for