Interrupting clnt_call in Solaris 10 using signals

Is there a way to interrupt a clnt_call() before it times out in Solaris 10 using signals?
Under Solaris 2.6, we were able to send a client a SIGINT, the client would accept the signal, reset the timeout using clnt_control() and then immediately time out of the clnt_call when the signal handler returned.
Under Solaris 8, the SIGINT no longer interrupted the blocked clnt_call when the nsl library was dynamically linked in but we were able to statically link in libnsl.a from the 2.6 library and keep our interrupt functionality working.
Under Solaris 10, this workaround no longer works. Signals, other than the ones with predefined actions like SIGKILL, SIGSTOP, etc., all get queued up until the clnt_call times out on its own. siginterrupt has no effect on the clnt_call blocking of signals.
Thanks in advance for any information on this topic.

The problem only occurs when we use INADDR_ANY to bind a socket. The program works as expected when we use real as well as virtual IP address configured for an interface on any Solaris Zone. When we use INADDR_ANY, error number is 14 (EFAULT, Bad Address).
Just wondering if we need to make any configuration changes in order to allow INADDR_ANY to work.

Similar Messages

  • JNI, Solaris and Signal 11

    There are a number of bugs in the database that have the following attributes:
    -JNI
    -Solaris
    -Signal 11 exceptions.
    -Long running applications.
    I am experiencing something similar. I was using C threads for some call back functionality (and of course registering it them with JNI.) I was hoping that starting the threads with java would help but it didn't.
    I have several questions:
    -Has anyone found anything that allows them to work around this? Doesn't matter what you think it was - like a different switch on an application server. I am just curious if anyone thinks they solved it in any way.
    -Does anyone have an idea what might cause it? Even an just an idle thought?
    -Does anyone have a long running application, that uses JNI on Solaris and they don't experience this (obviously the JVM itself does this, but I am still curious?)
    -And slightly different that the above, does anyone have a long running JNI Solaris application using C threads that doesn't have this problem?

    jschell, are you still experiencing this?
    You may have seen some of my posts before... I have seen many of yours. But I hadn't seen this one until now, by chance.
    I am running on Solaris 8 with Java 1.3.1_03 and have a multithreaded C/C++ program that invokes the JVM and makes calls into Java via JNI. Actually, I have a few programs like this, but a particular one is set up to run as a daemon and eventually (after a couple of hours) runs into a segmentation fault (signal 11). The stack in the core file when the program fails shows that a thread started in the native code attempted "AttachCurrentThread()" and then a segfault happens way down in the JVM somewhere. However, I had an issue like this previously and I tracked it down (unexpectedly) to a memory leak in a totally unrelated portion of the native code. So I am trying to find other memory leaks in the code using tools like Rational Purify but it is tricky to get Purify and the JVM to play nicely together.
    Additional info: I have all latest patches applied, not using signal handlers, and am using the "alternate" thread library in /usr/lib/lwp.
    - I have another similar program on Solaris that does not seem to have this problem.
    - The same program that's crashing on Solaris seems to run OK on both Windows and HP-UX.
    Given the above, I am pursuing the avenue of a memory corruption in the native code as that has turned out to be the cause of numerous other problems in the past, but I am having a very hard time with this one. jschell (or anyone else), please let me know about your status and what you think.
    Thanks -
    Chris

  • Data are not transfered to a table view using signal out

    Hi all,
    we have recently upgraded to SP16 and I'm now facing a problem on my model that worked fine when we were on SP15.
    I have a data service returning data to my model. The data are transfered to a signal out element and then displayed into a table view using a signal in element. Now the table view remains empty.
    I have checked that the dataservice returns data because if I directly connect my table view with the dataservice the data are displayed. But my requirement is to use signal in/out elements.
    This error was not appearing in SP15.
    Any ideas?
    Regards
    Panos

    After doing some tests I found out that if you have a model that has more than 2 signals in/out then the 3rd one will not work. This is definitely a bug.
    Hope that soon there will be a SP without any new bugs!

  • I have recently started a solaris. I have a solaris using 64x and 86x systems and have java. The machine is very active and is very quick. I am happy so far with its performance and think its worthwhile to continue with my projects. That's all I have to s

    I have recently started a solaris. I have a solaris using 64x and 86x systems and have java. The machine is very active and is very quick. I am happy so far with its performance and think its worthwhile to continue with my projects. That's all I have to say.
    John Lupton

    I have recently started a solaris. I have a solaris using 64x and 86x systems and have java. The machine is very active and is very quick. I am happy so far with its performance and think its worthwhile to continue with my projects. That's all I have to say.
    John Lupton

  • Document on 10g RAC setup on solaris using vmware

    Hi All,
    I am planning to setup "Oracle 10g RAC setup on Solaris using vmware", but I am strucked up at installation of Soaris 10 in VMWare.
    Can any body please help/provide me the document on Solaris 10 installation for RAC setup .
    The main problems I am having during the SOlaris 10 setup is
    1) Setting up the static public and private addresses required for RAC
    2) Partitioning the disk space.
    Thanks in advance,
    Mahipal Reddy

    Refer these,
    http://www.scribd.com/doc/15650880/Install-Rac-on-Solaris-Vmware
    http://www.disperu.com/using-vmware-server-install-10g-rac-on-solaris/
    http://nayyares.blogspot.com/2008/11/step-by-step-rac-10g-r2-solaris-10.html
    Thanks
    Edited by: Cj on Dec 13, 2010 2:38 AM

  • Trying to use signal in and signal out but couldn't pass parameters

    Hi all,
               I am trying to use Signal out from 1st iview and trying to get the same parameters to the second iview where this iview gets populated when i click a button in result of first iview.
    I have created these two iviews in same model and it deployed without errors.
    When i run the first iview and give the parameters and say submit i get the result and when i click a button a new iview opens(requirement) but its not taking the same parameters as i have given in first iview.
    Could any one give me suggestions how to use them or where should i correct it.
    Thanks
    Venkat

    Hi,
    please follow these steps you will be able to achieve the results:
    1.> Go to the form of the first iview.Drag output port and create signal out with proper name.Click the link created in between the signal out and the form and give a proper name(event name). This name you have to mentioned in the button action property.Go to the form and click the button property.Then in action tab you can mentioned the action as custom action.
    2.> Configure the signal out means select the fields which you want to transfer to the other iview.
    3.> Then go to the other layer and drill down in that.
    4.> create a form and drag input port of it and create a signal in and give the same name as you have mentioned in the signal out.
    5.> configure the signal in. And give all the fields which you have mentioned in the signal out.(it is case sensitive, so better give the correct names)
    6.> Double click the form and select all the fields which you want to be visible on the form.
    7.> just save nad deploy the model and you can transfer data between the two iviews.
    You can check with this link having same type of issue:
    Re: pass data between forms in different layers
    Regards,
    Nutan

  • How to Use signal In and Signal Out with Respect to this Question

    Hi,
    I have a requirement where i have to change the data of the employee.
    For that i am first searching for the employee using a RFC from R/3.
    After searching i call another RFC for udating the Data.
    The Data is updated successfully in the R/3, but its not reflecting in the Iview.
    Can I use the Portal Eventing Mechansim using Signal In and Signal Out.
    If yes then please forward me the example or model file to me on
    dhruvpradipshah at gmail dot com
    Thanks & Regards,
    Dhruv Shah

    Dhruv,
    You can update the status by passing the return message or the output of the BAPi / RFC in a table or a form in the iview.
    Regards,
    Ahmed Salah

  • Ldap client in Solaris  using TLS

    I have installed an OpenLap server (version 2.2.13-2) in a Red Hat ES 4.
    My LDAP clients are
    - Linux (redhat and mandriva)
    - Solaris 8 (with the last recommended path and 10893-62 path for ldapv2)
    - Tru64 (5.1B)
    If a use simple authentification all works fine (search in LDAP,
    authentification and automount).
    However, when I use TLS the Solaris LDAP client doesn't seem to work.
    When I run the LDAP client the process freeze
    With my Linux and Tru64 clients all work fine using LS.
    I have downloaded the certificates from my LDAP server using Netscape browser.
    I have copied cert7.db and key3.db in the "/var/ldap/directory" with a
    "chmod 644" in this files.
    I can do a "ldapsearch -x -ZZ objectclass=*" and this returns data.
    The last logs of the ldap_cachemgr are:
    Mon Nov 20 09:34:46.4425 Starting ldap_cachemgr, logfile /var/ldap/cachemgr.log
    If I do a truss when I launch the client the
    result was this:
    lwp_cond_wait(0xFF0F34F0, 0xFF0F3500, 0xFF0ECD88) (sleeping...)
    lwp_cond_wait(0xFF0F34F0, 0xFF0F3500, 0xFF0ECD88) (sleeping...)
    lwp_cond_wait(0xFF0F34F0, 0xFF0F3500, 0xFF0ECD88) (sleeping...)
    lwp_cond_wait(0xFF0F34F0, 0xFF0F3500, 0xFF0ECD88) (sleeping...)
    lwp_cond_wait(0xFF0F34F0, 0xFF0F3500, 0xFF0ECD88) (sleeping...)
    lwp_cond_wait(0xFF0F34F0, 0xFF0F3500, 0xFF0ECD88) (sleeping...)
    lwp_cond_wait(0xFF0F34F0, 0xFF0F3500, 0xFF0ECD88) (sleeping...)
    lwp_cond_wait(0xFF0F34F0, 0xFF0F3500, 0xFF0ECD88) (sleeping...)
    lwp_cond_wait(0xFF0F34F0, 0xFF0F3500, 0xFF0ECD88) (sleeping...)
    lwp_cond_wait(0xFF0F34F0, 0xFF0F3500, 0xFF0ECD88) (sleeping...)
    lwp_cond_wait(0xFF0F34F0, 0xFF0F3500, 0xFF0ECD88) (sleeping...)
    door_return(0x00000000, 0, 0x00000000, 0) (sleeping...)
    lwp_cond_wait(0xFF0F34F0, 0xFF0F3500, 0xFF0ECD88) (sleeping...)
    This is my ldap_client_file:
    # Do not edit this file manually; your changes will be lost.Please use
    ldapclient (1M) instead.
    NS_LDAP_FILE_VERSION= 2.0
    NS_LDAP_SERVERS= srvldap
    NS_LDAP_SEARCH_BASEDN= dc=example,dc=com
    NS_LDAP_AUTH= tls:simple
    NS_LDAP_SEARCH_REF= FALSE
    NS_LDAP_SEARCH_SCOPE= sub
    NS_LDAP_SEARCH_TIME= 30
    NS_LDAP_CACHETTL= 3600
    NS_LDAP_PROFILE= tls_profile
    NS_LDAP_SERVICE_SEARCH_DESC= passwd: ou=Users,dc=example,dc=com?one
    NS_LDAP_SERVICE_SEARCH_DESC= group: ou=Groups,dc=example,dc=com?one
    NS_LDAP_SERVICE_SEARCH_DESC= shadow: ou=Users,dc=example,dc=com?one
    NS_LDAP_SERVICE_SEARCH_DESC= auto_home:
    automountMapName=auto_home,ou=Sun,ou=AutoFS,dc=example,dc=com?one
    NS_LDAP_SERVICE_SEARCH_DESC= auto_master:
    automountMapName=auto_master,ou=Sun,ou=AutoFS,dc=example,dc=com?one
    NS_LDAP_SERVICE_SEARCH_DESC= auto.home:
    nisMapName=auto.home,ou=Sun,ou=AutoFS,dc=example,dc=com?one
    NS_LDAP_SERVICE_SEARCH_DESC= auto.master:
    nisMapName=auto.master,ou=Sun,ou=AutoFS,dc=example,dc=com?one
    NS_LDAP_BIND_TIME= 10
    I have launched ethereal so see network communications with my Solaris 8 client and the LDAP server.
    And with this configuration the Solaris box only communicates with the LDAP server using LDAP port 389 and not LDAPS port 636.
    I have done the same test with a linux and tru64 box and they use LDAPS port 636 to communicate with my LDAP server.
    Does anyone have an idea on getting Solaris using TLS/SSL?
    Thanks.

    LDAP Setup and Configuration Guide
    Solaris 8 2/04 Update Collection > LDAP Setup and Configuration Guide > 1. Overview > Solaris Name Services
    [http://docs.sun.com/app/docs/doc/806-5580/6jej518ou?l=en&a=view&q=solaris+8+ldap]
    Download this book in PDF (557 KB)
    [http://dlc.sun.com/pdf/806-5580/806-5580.pdf]

  • Using "signal in"

    Hi,
    I use in my application two signals-in (in one iView).
    I would like to put their values in store, and get them from there later, but if I refere to their values in store - they appear to be empty.
    The only thing that worked was connecting each signal to corresponding form (since I failed to connect one form to two signals-in), and refere their values from this form. (I need to find another way, because these forms just make my App bigger)
    Another way I'm trying is connecting each input to data service, everytime I need it, but I can't choose the event on link from signal to data store. So I'm not sure that parameters are passed correctly this way: the branch with event chosen by me passes part of parameters, and the signal in should pass it's parameters.
    How sould I use signal in?
    Thanks,
    Yulia

    Hi,
    what do you mean with "I use in my application two signals-in (in one iView).
    I would like to put their values in store..."?
    Diego.

  • "Error -10452 occurred at AI singlescan, no interrupt level available for use."

    AI sample channel (single point waveform).vi
    Error -10452 occurred at AI singlescan.
    Possible reasons:
    NI-DAQ LV: No interrupt level available for use.
    I have configured 2 virtual channels to use AI chn0 and chn1 in Measurment and Automation explorer, but I get error -10452 in the test panel.

    SS 01,
    In order to better troubleshoot this error, can you tell me what board you are using, what operating system you have, and what versions of NI-DAQ and LabVIEW you have installed?
    Have a great day.

  • Compile occi under solaris using g++/gcc problem

    Hi Expert:
    I got some link error when i tried to compile a demo occi code under solaris using g++. Please share experience.
    Thanks.

    Namespaces are not supported in -compat=4 mode. The only effect of -features=namespace is to recognize "namespace" as a keyword, and disallow it as an identifier. You don't actually get namespace semantics.
    The pupose of -compat=4 is to allow code written for C++ 4.x to compile and run until the code can be updated to conform to the C++ Standard. If you want to use features from the C++ standard, like namespaces, you must use Sun C++ in the default standard mode.
    If you remove -compat=4, the code compiles and links. If you need to use -compat=4 mode, remove uses of namespace, and fix the code to remove name conflicts.
    BTW, we recommend against using -features=bool in -compat=4 mode. It can cause odd behavior when part of the code expects boolean expressions to have type int and part of the code expects bool to be a different type.
    It appears you are using C++ 5.0, a product that has been obsolete for several years and which is no longer supported. You should consider updating to Sun Studio 11 (C++ 5.8), at no cost.
    http://developers.sun.com/sunstudio/

  • Generating PWM signal using Signal Express

    Hi,
       Would anyone help in generating PWM signal usinf Signal Express 2.5.1.   I am using a cDAQmx and connected NI 9472 to the slot number 6 to output the PWM signal. Also I have connected a NI 9421 to the slot number 5 to acquire the PWM signal, so that I could verify the signal.
       So would you please let me know how could I generate a PWM signal using Signal Express without any LabVIEW Programming. Please help me out.

    HI Aamruth,
    I atached a project, where you can see how to do it. I hope this helps.
    Regards, Mona 
    Attachments:
    PWM.seproj ‏29 KB

  • Solaris using wrong IRQ with iprb

    P4 machine, intergrated Intel i815/82559 controller.
    Installed Solaris 8 2/02, and applied most recent recommended patch cluster.
    iprb0 is not able to communicate with anything on the network. snoop shows arp packets going out, but nothing comming in. In the past when I have seen this, this has been the result of an IRQ conflict with the NIC and something else. This time, the integrated NIC is using IRQ 11 according to the configuration diskette, but the system cofigures the device as if it were using IRQ 8.
    How can I fix this?
    # ls -l /dev/iprb*
    lrwxrwxrwx 1 root other 53 Jan 16 09:16 /dev/iprb -> ../devices/pci@0,0/pci8086,244e@1e/pci1014,234@8:iprb
    lrwxrwxrwx 1 root other 54 Jan 16 09:16 /dev/iprb0 -> ../devices/pci@0,0/pci8086,244e@1e/pci1014,234@8:iprb0
    # prtconf -vp
    Node 0x195e90
    assigned-addresses: 82024010.00000000.f2000000.00000000.00001000.81024014.00000000.00002000.00000000.00000040
    class-code: 00020000
    compatible: 31696370.2c343130.00343332.31696370.2c343130.00343332.38696370.2c363830.39343432.69637000.73616c63.32302c73.30303030.00000000
    device-id: 00002449
    devsel-speed: 00000001
    fast-back-to-back:
    interrupts: 00000001
    max-latency: 00000038
    min-grant: 00000008
    model: 'PCI: 1014,234 - Intel i815/82559 Ethernet'
    name: 'pci1014,234'
    power-consumption: 00000001.00000001
    reg: 00024000.00000000.00000000.00000000.00000000.02024010.00000000.00000000.00000000.00001000.01024014.00000000.00000000.00000000.00000040
    revision-id: 00000003
    slot: 00000000
    subsystem-id: 00000234
    subsystem-vendor-id: 00001014
    unit-address: '8'
    vendor-id: 00008086
    #prtconf -Dv
    pci1014,234, instance #0 (driver name: iprb)
    Driver properties:
    name <chosen-interrupt> length <8>
    value <0x01000000fecaddba>.
    Hardware properties:
    name <interrupts> length <4>
    value <0x01000000>.
    name <device-id> length <4>
    value <0x49240000>.
    name <vendor-id> length <4>
    value <0x86800000>.
    name <reg> length <60>
    value <0x004002000000000000000000000000000000000010400202000000000000000000000000001000001440020100000000000000000000000040000000>.
    Interrupt Specifications:
    Interrupt Priority=0x6 (ipl 6), vector=0xb (11)

    So if I turn off the APIC, how does the machine respond?
    Let me give an example. I have a Tyan x86 system on Sol8. The chipset is Intel 7501 so it has an advanced APIC system. It also has a 7209 U320 SCSI controller. This should give better disk I/O with an U320 disk than the older U160 controller but where the older system took 45 seconds to write a 2 Gig file of zeros, the newer system took 15 minutes. So I turned of the IOAPIC and Extended IOAPIC in the BIOS. Now the disk test gives 30 seconds instead of 15 minutes. So far so good.
    The sytems are used as application servers and are not disk bound (either NIC or CPU bound). They currently run OK with either BIOS setting. However, the load with the APIC enabled is under 1 with 'top' showing the application taking 15% of the CPU and the system 5%. With the APIC disabled, the application takes 50% of the CPU and the system takes 3%. I haven't done any comparative load testing (what is the max load in each configuration) because I can't. All 'load testing' is done extreeeeemely carefully in production and a load test environment is not even contemplated much less defined.
    So any informed guesses as to what is going on would be appreciated. Is the CPU now handling all the interrupts that the IOAPIC system formerly took care of hence the increased load? But vmstat shows system interrupts are down from 15K to 5K with IOAPIC disabled. Could use a little help in figuring out if this is a good change or not. Suggestions for tests to run also cheerfully accepted.

  • Is there a way to disable interrupts for a Solaris 9/ sun OS 5.9 machine

    I am trying to figure out if there is a way to disable interrupts in solaris 9 on a sun 5.9 sparc9 machine, while under lock. I don't want the process to get bumped under lock. I have been looking for a way to do it and have come up empty handed. Am I just missing something? -Thanks

    Thanks for the response, I understand that using real time scheduling I can still be preempted. I also understand how to solve my problem on a multiple CPU machine. Unfortunately I only have that luxery on part of the system. There is a part of the system, 7% of the processes, that run on a single cpu machine. This is a customer requirement, I can't change it. What I want to do is possibly take advantage of the priority inheritance features of the mutex locks, however, I believe this needs to be enacted as root, since they need to run real time and it seems that you need to be root to enable the real time features. However, to propose this as an option to solve my issue, I need to show that it works. I have kicked off a process using priocntl with RT and a priority of 11, and I can see them run as real time and in a priority level of 111 using TOP, but when I put code in so I know they are in the mutex portion of the code, I don't see a priority change. I created a mutex with the protect option and a priority ceiling of 5. Does anyone know if this would be reflected anywhere. I tried opening an xterm and using a priocntl -d, but I see priority 11 even when it is in a mutex with a ceiling of 5. I would have expected it to go to five. Just in case I had the levels backwards, I also tried a ceiling of twenty and there still was no change. How can I test the priority inheritance capability? Does anyone know which call would reflect the priority change? I just need to show it does something in order to propose the change at that low of a level in our system code. Thanks again everyone who has tried to help me understand this.

  • How to execute an application in Solaris using Runtime.getRuntime.exec() ?

    I am currently doing a project which requires the execution of Solaris applications through the use of Java Servlet with this Runtime method - Runtime.getRuntime.exec()
    This means that if the client PC tries to access the servlet in the server PC, an application is supposed to be executed and launched on the server PC itself. Actually, the servlet part is not an issue as the main problem is the executing of applications in different platforms which is a big headache.
    When I tried running this program on a Windows 2000 machine, it works perfectly fine. However, when I tried it on a Solaris machine, nothing happens. And I mean nothing... no errors, no nothing. I really don't know what's wrong.
    Here's the code.
    public void doPost(HttpServletRequest request, HttpServletResponse response)
         throws ServletException, IOException
         response.setContentType("text/html");
         PrintWriter out = response.getWriter();
              Process process;                                                       Runtime runtime = Runtime.getRuntime();
              String com= "sh /opt/home/acrobat/";
              String program = request.getParameter("program");
              try
                        process = runtime.exec(com);
              catch (Exception e)
                   out.println(e);
    It works under Windows when com = "c:\winnt\system32\notepad.exe"
    When under Solaris, I have tried everything possible. For example, the launching of the application acrobat.
    com = "/opt/home/acrobat"
    com = "sh /opt/home/acrobat"I have also tried reading in the process and then printing it out. It doesn't work either. It only works when excuting commands like 'ls'
    BufferedReader read = new BufferedReader(new InputStreamReader(process.getInputStream()));Why is it such a breeze to execute prgrams under Windows while there are so many problems under Solaris.
    Can some experts please please PLEASE point out the errors and give me some advice and help to make this program work under Solaris! Please... I really need to do this!!
    My email address - [email protected]
    I appreciate it.
    By the way, I'm coding and compiling in a Windows 2000 machine before ftp'ing the .class file to the Solaris server machine to run.

    it is possible that you are trying to run a program that is going to display a window on an X server, but you have not specified a display. You specifiy a display by setting the DISPLAY environment variable eg.
    setenv DISPLAY 10.0.0.1:0
    To check that runtime.exec is working you should try to run a program that does not reqire access to an X Server. Try something like
    cmd = "sh -c 'ls -l > ~/testlist.lst'";
    alternatively try this
    cmd = "sh -c 'export DISPLAY=127.0.0.1:0;xterm '"
    you will also need to permit access to the X server using the xhost + command

Maybe you are looking for

  • ICloud Sync with Microsoft Outlook is no longer working.

    The icon in the upper right corner of the home tab in Contacts says Wrong Password. It was working fine until recently. How do I correct this? Where do you set the Apple ID password in Outlook?

  • Telnet data out

    Hello, I am having a problem with the telnet read data out, i am getting with the wanted output also many other characters, is there any way to filter those? example:     [1;1HMicrosoft Windows XP [Version 5.1.2600] [2;1H(C) Copyright 1985-2001 Micro

  • Is it possible to listen local radio station without wi-fi connection

    s it possible to listen local radio station without wi-fi connection

  • MacBook crashes often and irregular

    Hello there, I am getting this kernel panic report after my MacBook Pro crashes, which happens more often recently. Any help is appreciated! Thank you very much! Interval Since Last Panic Report:  146235 sec Panics Since Last Report:          3 Anony

  • PSE 9 cant open file

    just bought a Nikon d800, shot a wedding yesterday, downloaded my photos, running pse9 on windows vista, and cant open any of the files, shot in raw, 'because  it is the wrong file type' ....help please !!  jen