System Calls
I've modified the linux kernel and created a few new system calls. I would like to be able to call these functions from a java application. Can someone please explain how to make a system call in Java? Thanks for your help.
Chris
And you can call those functions directly with Java Native Interface. The Java tutorial has an example where printf is called from Java. Sun also has a book online, hope you'll find it helpful:
http://java.sun.com/docs/books/jni/
JS, MSC, PITA, TTFN.
http://www.acronymfinder.com
Similar Messages
-
Error during installation of ECC6- system call failed
Dear all,
i encounter the error as below during sap installation. its looks like the ID issue, but this id (fbqadm) is using by me to log into the windows. please help me.
thank
ERROR 2009-03-17 10:07:25.583 [syxxsyshlp.cpp:78]
syslib::printOSError(const iastring &, int, DWORD, const iastring &, CMessage::eLogMessage)
FSL-00001 System call failed. Error 1326 (Logon failure: unknown user name or bad password.
) in execution of system call 'LogonUser' with parameter (fbqadm, SAPFBWDEV01, *******, LOGON32_LOGON_INTERACTIVE,LOGON32_PROVIDER_DEFAULT,&hUserToken), line (1014) in file (synxccuren.cpp).
TRACE 2009-03-17 10:07:25.813 [iaxxejsbas.hpp:408]
handleException<ESyException>()
Converting exception into JS Exception ESyException.
TRACE 2009-03-17 10:07:25.813
Function setMessageIdOfExceptionMessage: modlib.jslib.caughtExceptionproblem fix after reboot the server
-
Error on WAS no. 10054 SAP Basis System: Operating system call
Hi All,
Error on WAS no. 10054 SAP Basis System: Operating system call
we got the following error message in the syslog of the WAS:
SAP Basis System: Operating system call recv failed (error no. 10054)
The system still works. What can we do?
Thanks.
Best Regards,Hi,
Please check the folloiwng notes
Error no. 10054
34116 - Syslog: "Operating System call xxxx failed"
Thanks
Adil -
Correct Forum? CGI and Server behaviour on Solaris at system()-call
Hi to you all,
Do not know if i am in the correct forum, but maybe it is a Webserver problem.
I have Sun ONE Webserver 6.1 running on Solaris.
Craete some CGI`s in C.
Now I have a problem with one CGI, which have to call a Shellscript via system() call.
The Client just calls the CGI with some parameters, which will write the informations in a file with some additional informations from a database, after that, the script should be startet and do some printjobs in the background.
The CGI and the Shell-script is working fine. My Problem is, that the system() call always waits, until the ShellScript has finished, so the Webserver send the "data successful written" site after a couple of minutes, it should send it immeditatly to the client, so the session is closed.
I have tried to put the shellscript in background with "&", also with nohup and a second shell script which justs starts the first script, also with all combinations of nohup and "&" for background process.
also i tried with "pclose(popen(SCRIPT,"W");" to call the script, it is always the same, the session will close only, when the script has been finished.
In an other Forum I found an entry, that , however, IPlanet webserver always will do this in this way. The session will be closed, when all called processes has benn fisnished.
Any Ideas to solve my problem?The web server reads from the CGI program's stdout. It knows the HTTP response is complete when the CGI program closes its stdout.
When you call system(), the child process inherits the CGI program's stdout and keeps it open until it finishes. If you want the child process to run asynchronously from the HTTP response, you should give the child process a new stdout with > /dev/null. (You'll still need to place the child process in the background with &.) Alternatively, you can fork(), close(1), then exec(). -
Tracing what is happening in the connect() system call
I've been playing around with some of the recipies in dtrace today trying to find out why it takes so long to connect from a linux machine to an ultra 5 running sendmail but I'm not having a lot of luck.
The one thing I can find is that the amount of time for the connect system call to return takes a long time. Here's the dtrace script I wrote (borrowing from Bryan Cantrill's blog):
bash-2.05b# cat functiontime.d
#!/usr/sbin/dtrace -s
#pragma D option flowindent
syscall::connect:entry
/execname == "sendmail"/
self->start = vtimestamp;
syscall:::entry,
syscall:::return
/self->start/
trace(vtimestamp - self->start);
syscall::connect:return
/execname == "sendmail"/
self->start = 0;
exit(0);
This is the output:
bash-2.05b# ./functiontime.d
dtrace: script './functiontime.d' matched 454 probes
CPU FUNCTION
0 => connect 0
0 | connect:return 303079
0 <= connect
I know there are other syscalls going on from the time connect enters to the time it returns but I have no idea how to get them to print.
Any ideas how I can make this script more useful to see exactly where sendmail is getting hung up?You might also try something like
#!/usr/sbin/dtrace -s
#pragma D option flowindent
syscall::connect:entry
/execname == "sendmail"/
self->depth = 1;
self->syscallstart = timestamp
fbt:::entry
/self->depth/
self->start[self->depth] = timestamp;
trace(self->start[self->depth++] - self->syscallstart);
fbt:::return
/self->depth/
this->delta = timestamp - self->start[--self->depth];
@func[probefunc] = quantize(this->delta);
printf("delta is %d\n", this->delta);
self->start[self->depth] = 0;
syscall::connect:return
/self->depth/
exit(0);
}This will give you the function call flow inside the kernel along with the following:
- on function entry, a time delta since connect was called
- on function exit, how long we spent in the function
- on return from the connect system call, a list of histograms showing the call times for all functions called
You are probably going to want to redirect the output as it gets big.
Also note, I've written this to give the information only for the first call to connect.
Alan.
Alan Hargreaves - http://blogs.sun.com/tpenta
Senior Technical Support Specialist/VOSJEC Engineer
Product Technical Support (APAC)
Sun Microsystems -
Exchange 2007 SP3 Install on 2008R2 Fails with "The data passed to a system call is too small"
I'm installing Exchange 2007 SP3 onto Server 2008 R2. I have run this install in compatibility mode and in normal install mode with the same results. Error code 3221684346: The data area passed to a system call is too small. I am installing directly from
the SP3 files, this is not an upgrade. What do I have to do to get this to work?
[2/15/2011 7:24:18 AM] [2] Interpreting line <CreateSecureKey:MSExchangeIS\ParametersPrivate> -- ID:31259 --
[2/15/2011 7:24:18 AM] [2] CInsParser::ScProcessLine (f:\08.03.0083\sources\dev\admin\src\libs\exsetup\hiddenw1.cxx:1199)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[2/15/2011 7:24:18 AM] [2] Processing file 'C:\Exchange Server\Setup\data\mdb_reg.ins', at or near line 77 (CreateSecureKey:MSExchangeIS\ParametersPrivate) -- ID:31111 -- CInsParser::ScProcessLine (f:\08.03.0083\sources\dev\admin\src\libs\exsetup\hiddenw1.cxx:488)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[2/15/2011 7:24:18 AM] [2] Registry file name: 'C:\Exchange Server\Setup\data\mdb_reg.ins' CRegistryManager::ScProcessFile (f:\08.03.0083\sources\dev\admin\src\udog\setupbase\tools\regmgr.cxx:125)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[2/15/2011 7:24:18 AM] [2] Filename = 'C:\Exchange Server\Setup\data\mdb_reg' CBaseAtom::ScRunRegistryFile (f:\08.03.0083\sources\dev\admin\src\udog\setupbase\basecomp\baseatom.cxx:1379)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[2/15/2011 7:24:18 AM] [2] Leaving CBaseAtom(Information Store Service)::ScRunRegistryFile
[2/15/2011 7:24:18 AM] [2] Filename = 'C:\Exchange Server\Setup\data\mdb_reg' CBaseAtom::ScAddRegistryKeys (f:\08.03.0083\sources\dev\admin\src\udog\setupbase\basecomp\baseatom.cxx:1249)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[2/15/2011 7:24:18 AM] [2] Leaving CBaseAtom(Information Store Service)::ScAddRegistryKeys
[2/15/2011 7:24:18 AM] [2] CAtomBaseMDB::ScAddRegistryKeys (f:\08.03.0083\sources\dev\admin\src\udog\exsetdata\components\server\a_basemdb.cxx:132)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[2/15/2011 7:24:18 AM] [2] Leaving CAtomBaseMDB::ScAddRegistryKeys
[2/15/2011 7:24:18 AM] [2] CBaseAtom::ScAdd (f:\08.03.0083\sources\dev\admin\src\udog\setupbase\basecomp\baseatom.cxx:639)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[2/15/2011 7:24:18 AM] [2] Leaving CBaseAtom(Information Store Service)::ScAdd
[2/15/2011 7:24:18 AM] [2] Service = 'MSExchangeIS' CBaseServiceAtom::ScAdd (f:\08.03.0083\sources\dev\admin\src\udog\setupbase\basecomp\basesvcatom.cxx:203)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[2/15/2011 7:24:18 AM] [2] Leaving CBaseServiceAtom(Information Store Service)::ScAdd
[2/15/2011 7:24:18 AM] [2] mode = 'Install' (61953) CBaseAtom::ScSetup (f:\08.03.0083\sources\dev\admin\src\udog\setupbase\basecomp\baseatom.cxx:535)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[2/15/2011 7:24:18 AM] [2] ScSetupAtom (f:\08.03.0083\sources\dev\admin\src\udog\exsetdata\exsetds.cxx:897)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[2/15/2011 7:24:18 AM] [2] Leaving ScSetupAtom
[2/15/2011 7:24:18 AM] [2] [ERROR] An error occurred. The error code was 3221684346. The message was The data area passed to a system call is too small..
[2/15/2011 7:24:18 AM] [1] The following 1 error(s) occurred during task execution:
[2/15/2011 7:24:18 AM] [1] 0. ErrorRecord: An error occurred. The error code was 3221684346. The message was The data area passed to a system call is too small..
[2/15/2011 7:24:18 AM] [1] 0. ErrorRecord: Microsoft.Exchange.Management.Deployment.ExsetdataException: An error occurred. The error code was 3221684346. The message was The data area passed to a system call is too small..
[2/15/2011 7:24:18 AM] [1] [ERROR] An error occurred. The error code was 3221684346. The message was The data area passed to a system call is too small..
[2/15/2011 7:24:18 AM] [1] Setup is halting task execution because of one or more errors in a critical task.
[2/15/2011 7:24:18 AM] [1] Finished executing component tasks.
[2/15/2011 7:24:18 AM] [1] Ending processing.
[2/15/2011 7:42:08 AM] [0] End of Setup
[2/15/2011 7:42:08 AM] [0] **********************************************I would probably rebuild the host machine. The Exchange installation should occur without any issues, and where a problem does occur that can be an indication of a more widespread problem. Rebuild the machine, reinstall the prerequisites and try again.
Simon.
Simon Butler, Exchange MVP
Blog |
Exchange Resources | In the UK?
Hire Me.
Hello Poster.
I am having the same issue, however it is most likely NOT a host box problem. The above advice is not a fix. I have 3 servers that are cloned with the same setup. 2 were fixed by doing the Vista compatibility trick, this one gave a different error (which
happened to be the same as above). This org was a 5.5 to 2000. to 2003 coexistence with 2007 currently(because the mailbox role won't install). It has something to do with AD or permissions. Server 2008 r2 inherently has problems installing exchange.
Example, having to use vista compatibility to get the mailbox role to install. SP2 patch gives the same error to some people, and also doesn't upgrade the mailbox role properly in some cases. Some people have had luck restarting the IIS admin service, but
that did not solve my copy of this error. I will repost here if I find a solution to this issue...
Same exact setup log for me as well.
[3/4/2011 10:45:51 AM] [2] Interpreting line <OpenMachineKey:SYSTEM\CurrentControlSet\Services> -- ID:31259 --
[3/4/2011 10:45:51 AM] [2] Interpreting line <CreateSecureKey:MSExchangeIS\ParametersPrivate> -- ID:31259 --
[3/4/2011 10:45:51 AM] [2] CInsParser::ScProcessLine (f:\08.03.0083\sources\dev\admin\src\libs\exsetup\hiddenw1.cxx:1199)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[3/4/2011 10:45:51 AM] [2] Processing file 'C:\Program Files\Microsoft\Exchange Server\Setup\data\mdb_reg.ins', at or near line 77 (CreateSecureKey:MSExchangeIS\ParametersPrivate) -- ID:31111 -- CInsParser::ScProcessLine (f:\08.03.0083\sources\dev\admin\src\libs\exsetup\hiddenw1.cxx:488)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[3/4/2011 10:45:51 AM] [2] Registry file name: 'C:\Program Files\Microsoft\Exchange Server\Setup\data\mdb_reg.ins' CRegistryManager::ScProcessFile (f:\08.03.0083\sources\dev\admin\src\udog\setupbase\tools\regmgr.cxx:125)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[3/4/2011 10:45:51 AM] [2] Filename = 'C:\Program Files\Microsoft\Exchange Server\Setup\data\mdb_reg' CBaseAtom::ScRunRegistryFile (f:\08.03.0083\sources\dev\admin\src\udog\setupbase\basecomp\baseatom.cxx:1379)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[3/4/2011 10:45:51 AM] [2] Leaving CBaseAtom(Information Store Service)::ScRunRegistryFile
[3/4/2011 10:45:51 AM] [2] Filename = 'C:\Program Files\Microsoft\Exchange Server\Setup\data\mdb_reg' CBaseAtom::ScAddRegistryKeys (f:\08.03.0083\sources\dev\admin\src\udog\setupbase\basecomp\baseatom.cxx:1249)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[3/4/2011 10:45:51 AM] [2] Leaving CBaseAtom(Information Store Service)::ScAddRegistryKeys
[3/4/2011 10:45:51 AM] [2] CAtomBaseMDB::ScAddRegistryKeys (f:\08.03.0083\sources\dev\admin\src\udog\exsetdata\components\server\a_basemdb.cxx:132)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[3/4/2011 10:45:51 AM] [2] Leaving CAtomBaseMDB::ScAddRegistryKeys
[3/4/2011 10:45:51 AM] [2] CBaseAtom::ScAdd (f:\08.03.0083\sources\dev\admin\src\udog\setupbase\basecomp\baseatom.cxx:639)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[3/4/2011 10:45:51 AM] [2] Leaving CBaseAtom(Information Store Service)::ScAdd
[3/4/2011 10:45:51 AM] [2] Service = 'MSExchangeIS' CBaseServiceAtom::ScAdd (f:\08.03.0083\sources\dev\admin\src\udog\setupbase\basecomp\basesvcatom.cxx:203)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[3/4/2011 10:45:51 AM] [2] Leaving CBaseServiceAtom(Information Store Service)::ScAdd
[3/4/2011 10:45:51 AM] [2] mode = 'Install' (61953) CBaseAtom::ScSetup (f:\08.03.0083\sources\dev\admin\src\udog\setupbase\basecomp\baseatom.cxx:535)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[3/4/2011 10:45:51 AM] [2] ScSetupAtom (f:\08.03.0083\sources\dev\admin\src\udog\exsetdata\exsetds.cxx:897)
Error code 0XC007007A (122): The data area passed to a system call is too small.
[3/4/2011 10:45:51 AM] [2] Leaving ScSetupAtom
[3/4/2011 10:45:51 AM] [2] [ERROR] An error occurred. The error code was 3221684346. The message was The data area passed to a system call is too small..
[3/4/2011 10:45:51 AM] [1] The following 1 error(s) occurred during task execution:
[3/4/2011 10:45:51 AM] [1] 0. ErrorRecord: An error occurred. The error code was 3221684346. The message was The data area passed to a system call is too small..
[3/4/2011 10:45:51 AM] [1] 0. ErrorRecord: Microsoft.Exchange.Management.Deployment.ExsetdataException: An error occurred. The error code was 3221684346. The message was The data area passed to a system call is too small..
[3/4/2011 10:45:51 AM] [1] [ERROR] An error occurred. The error code was 3221684346. The message was The data area passed to a system call is too small..
[3/4/2011 10:45:51 AM] [1] Setup is halting task execution because of one or more errors in a critical task.
[3/4/2011 10:45:51 AM] [1] Finished executing component tasks.
[3/4/2011 10:45:51 AM] [1] Ending processing.
Just curious though, how long is your FQDN? Mine is 34 characters plus whatever exchange is adding to it during setup for this particular string. I found a post with the same error for ISA server and some buffer is only 100 characters for a system call.
ERROR_INSUFFICIENT_BUFFER 122 (0x7A) The data area passed to a system call is too small. http://msdn.microsoft.com/en-us/library/ms681382(v=vs.85).aspx Indicates a msft programming problem.
Outsource Technology Inc. MSFT Professional Consultant -
Dear All,
I am getting a below error while doing ehp6 installation on sybase (high availbility )
can any one help me on this..?
An error occurred while processing option SAP Business Suite 7i 2011 > Enhancement Package 6 for SAP ERP 6.0 > SAP Application Server ABAP > SAP ASE > High-Availability System > Database Instance( Last error reported by the step: System call failed. Error 2 (The system cannot find the file specified. ) in execution of system call 'CreateProcessAsUser' with parameter ( , NULL, Program Files/sapinst_instdir/BS2011/ERP606/AS-ABAP/SYB/HA/DB, &StartupInfo, &ProcessInfo), line (646) in file (d:\depot\bas\720_rel\bc_720-2_rel\gen\optu\ntamd64\ins\sapinst\impl\src\syslib\synxcchapp.cpp), stack trace: d:\depot\bas\720_rel\bc_720-2_rel\gen\optu\ntamd64\ins\sapinst\impl\src\ejs\ejscontroller.cpp: 181: EJSControllerImpl::executeScript() d:\depot\bas\720_rel\bc_720-2_rel\gen\optu\ntamd64\ins\sapinst\impl\src\ejs\jsextension.hpp: 1059: CallFunctionBase::call() d:\depot\bas\720_rel\bc_720-2_rel\gen\optu\ntamd64\ins\sapinst\impl\src\osmod\iaxxbprocess.cpp: 423: CIaOsProcess::start_impl() d:\depot\bas\720_rel\bc_720-2_rel\gen\optu\ntamd64\ins\sapinst\impl\src\syslib\synxcchapp.cpp: 238: CSyChildApplicationImpl::start(false) d:\depot\bas\720_rel\bc_720-2_rel\gen\optu\ntamd64\ins\sapinst\impl\src\syslib\synxcchapp.cpp: 262: CSyChildApplicationImpl::doStart() .). You can no
Regards,
Letz..Hello Mauricio.
Thanks
Two Thinks:
1.- This error appears precisely in the process of creating SAP users including you mention sidadm:
A.- Execute sapinst
B.- Installation option is chosen
SAP NetWeaver CE Production Edition
Installation Options
High-Availability System
Central Service Instance (SCS)
c.- System ID, Next and appear message error
2.- However, the user manually create sidadm, I gave the permissions you indicate, and the error message is the same
Thanks -
I want to join some split files into one. In command prompt I use COPY /B file.1+file.2 file to join the files. How can i do the same in my java application. Please show the code which I suppose will use getRuntime. Thanks in advance.
Well if there is a problem with system calls then can
you tell me if there is a class in java for
concetanating files. Not directly.
At present I am joing the files
by reading each byte from the files and writing them
to another file which takes hell lot of time. You should read the files in large chunks. Much much faster.
Thanks
in advance again. Also if you say about sequential
file class then please expalin a bit bcs I couldn't
implement it.Post the code you are having trouble with explaining what it should do and what it actually does. -
Unix system() system call in Java
Hi,
system() call in Unix is very helpfull when you need to implement a piece of code that is already implemented in an exsiting utility.
Is there a way to achive a similar functionality?
To put it in simpler words - is there a way, in Java, to call some method that will invoke a Unix shell and will execute the command specified in the string that is past in?
Could you please CC the reply to [email protected]
Thanks,
-MichaelRuntime.exec()
> Could you please CC the reply to [email protected]
Certainly not. -
How to get the size of physical memory by using system call ?
how to get the size of physical memory by using system call ?What system call can be used for me to get the size of physical memor? thanks.
%vmstat 3
procs memory page disk faults cpu
r b w swap free re mf pi po fr de sr s0 -- -- -- in sy cs us sy id
0 0 0 3025816 994456 4 19 6 0 0 0 0 8 0 0 0 459 253 139 1 1 99
0 0 0 2864688 777408 0 2 0 0 0 0 0 3 0 0 0 428 134 175 0 1 99
0 0 0 2864688 777408 0 0 0 0 0 0 0 7 0 0 0 448 112 166 0 0 100
one interesting observation about vmstat I found out is (mostly on Solaris)
the first line of information always off chart, so I usually do a few interval to get constant result.
if you use linux
just
cat /proc/meminfo -
Reading output of a system call
Hi,
It appears that java system call does not return a value in Netware OS.
The same code functions flawlessly on other OS'es, eg. linux and windows.
If the following code is run on a Netware (6.5), the following error is
returned:
External App Returned:
java.io.IOException: Bad file number
Does anyone knows how to receive the values from the system call on Netware?
To reproduce the problem, do the following:
1) save the included source code to netware server's sys:java/classes
with a filename ExecuteExternalApp.java
2) compile it issuing a console command:
javac sys:java/classes/ExecuteExternalApp.java
3) execute the application:
java ExecuteExternalApp volumes
This should successfully launch the system command "volumes" but also
would give an error message:
External App Returned:
java.io.IOException: Bad file number
---- Source code
import java.io.*;
public class ExecuteExternalApp{
public static String executeSystemCommand(String command) throws
Exception {
String ret = "";
try
Process process = Runtime.getRuntime().exec(command);
BufferedReader input = new BufferedReader(new
InputStreamReader(process.getInputStream()));
BufferedReader err = new BufferedReader(new
InputStreamReader(process.getErrorStream()));
//InputStreamReader iar = new
InputStreamReader(process.getInputStream());
StringBuffer sb = new StringBuffer();
String line = "";
//while ((line = input.readLine()) != null)
//testi tuleeko yksi rivi
line = input.readLine();
sb.append(line);
input.close();
ret = sb.toString();
catch (Exception err)
ret = err.toString();
return ret;
public static void main(String[] args) throws Exception {
if (args.length > 0){
String output = executeSystemCommand(args[0]);
System.out.println("External App Returned:");
System.out.println(output);
else
System.out.println("Usage: ExecuteExternalApp <command>");Guenter wrote:
> Hi Jonne,
> Jonne Viljanen <jonne.viljanen@rmv_this.helsinki.fi> wrote in
> news:y%[email protected]:
>
>> Thank you for your effort. I've been trying to write a simple program
>> that would monitor if any cluster resource would be in comatose and in
>> such case, it would try to online the resource on some other cluster
>> node. For this I'd need to run these system commands and parse their
>> output:
>>
>> - "cluster resources" - to see if any resource is in comatose
>>
>> and
>>
>> - "cluster view" - to determine which nodes are online.
>>
>> Also i'd need to run "cluster offline resource" and "cluster online
>> resource node", but for these command I would not need to get the
>> output.
>>
>> I know that my approach is a bit clumsy, but it's beauty is in its
>> simplicity. Novell's engineer suggested that with a bit more effort one
>> could read the data from ldap or cluster related virtual XML files on
>> the _Admin volume. I think that I should investigate the latter
>> approach, since I'd like to avoid handling the ldap authentication. I
>> appreciate any comments and suggestions. Code examples are also greatly
>> welcomed ;-)
> hmmm, well that sounds to me as if the language doesnt matter at all since
> finally you most likely fire your app from cron to do these tasks frequently
> automatically, right? Therefore I'd suggest you take a look at Perl - it
> seems better suited for these tasks; look at sys:/perl/scripts where you find
> Perl scripts which do already some cluster stuff, and AFAICT these make use
> of the _ADMIN volume.
> Additional info and Perl samples can be found with the VFS NDK IIRC:
> http://developer.novell.com/wiki/ind..._File_Services
>
> greetz, Gnter.
>
Hi Gnter,
Thank you for your excellent help. I started to play with the _ADMIN
-volume today. I was amazed to see how much can be done with it. I got
my little cluster watch application almost working in just 1 hour, but
then spent the rest of the day trying to get it fully functional ;-) I
still cannot figure out what is wrong with my code, so I was wondering
if I could get any help from this newsgroup.
I'm able to read the *.xml files and determine the cluster state and all
the information I need. However I dont seem to be able to write the
command files. I'm trying the following:
public void offlineClusterResource(String resourceName) {
String fileName = "_ADMIN:/Novell/cluster/Resource.cmd";
//String logFile = "sys:java/classes/ClusterWorker.log";
String commandLine = "<virtualIO><datastream
name=\"command\"></virtualIO>"+
"<ncsRequest><offline>" +
"<resource>" + resourceName + "</resource>" +
"</offline></ncsRequest>";
//Log("Turning the cluster resource " + resourceName + "
offline!!!", logFile);
try {
//PrintWriter in autoFlush mode
PrintWriter pw = new PrintWriter(new FileWriter(fileName,
false), false);
pw.println(commandLine);
pw.close();
} catch (IOException e) {
System.out.println("Unable to write " + fileName);
It seems not to write anything to _ADMIN:/Novell/cluster/Resource.cmd.
If I set the file to be eg. SYS:/tmp/Resource.cmd -it writes nicely to
the file.
What am I missing here?
Cheers,
Jonne -
Can I source an environment before making a system call from the database
I can execute system calls from the database like
Process proc = Runtime.getRuntime().exec("env");
but I am unable to source an environment before making the call.
Our goal is to from within the database to execute tkprof on a
raw trace file then load both files into clobs in a table. We can load
the raw trace no problem, we just cannot figure out how to execute
tkrprof on the raw trace then load its output.
Anyone know if this is possible to hava java get a runtime and then call
an environment file to source the environment so that path's and other environment variables are set prior to executing another system command.Thanks for that...but can I do multiple edits in my Stored Procedure Vaibhav and pass back something that I can then utilize in my SSIS? For example...
One and Only one Member Span...so I'd be doing a SELECT COUNT(*) based on my match criteria or handle the count accordingly in my Stored Procedure and passing something back via the OLE DB Command and handling it appropriately in SSIS
Are there "Diabetes" claims...again probably by analyzing a SELECT COUNT(*)
Am I expecting too much from the SSIS...should I be doing all of this in a Stored Procedure? I was hoping to use the SSIS GUI for everything but maybe that's just not possible. Rather use the Stored Procedure to analyze my stged data, edit accordingly, do
data stores accordingly...especially the data anomalies...and then use the SSIS to control navigation
Your thoughts........
Could you maybe clarify the difference between an OLE DB Command on the Data Flow and the Execute SQL Task on the Control Flow...
You can get return values from oledb comand if you want to pipeline.
see this link for more details
http://josef-richberg.squarespace.com/journal/2011/6/30/ssis-oledb-command-and-procedure-output-params.html
The procedure should have an output parameter defined for that
I belive if you've flexibility of using stored procedure you may be better off doing this in execute sql task in control flow. Calling sp in data flow will cause it to execute sp once for each row in dataset whereas in controlflow it will go for set based
processing
Please Mark This As Answer if it solved your issue
Please Vote This As Helpful if it helps to solve your issue
Visakh
My Wiki User Page
My MSDN Page
My Personal Blog
My Facebook Page -
How to set "Dirty" view flag to make a system call WDDOMODIFYVIEW again
Hi!
When a button is hit I want to mark my view "Dirty" so that system call WDDOMODIFYVIEW again. I need this to refresh/rebuild the view after user action.Anurag, you right. I've created simple WD application and WDDOMODIFYVIEW is called after every button hit.
But it my case I've added button to a standard component (FPM_OIF_COMPONENT) by means of Enhancement Points. And hitting this button does not lead to call of WDDOMODIFYVIEW method. Though all standard buttons in the componend do lead to call of this method.
Strange behavior.
I thought, may be there is a way to "force" system to invoke this method. Like set view to some status "Needs to be redrawn", "Dirty", "Invalid", etc. -
Windows 2008 x64 TS Printing - The data area passed to a system call is too small
Hi,
I have a Windows 2008 TS using Easy Print. The server has two quad core cpu's with 16Gb of ram and is running a light processing accounting program for 80 users. The machine and easy print both work fine until the server reaches about 5Gb of memory in use. Once this happens user's documents stop printing with event id's 6161 The data area passed to a system call is too small being logged. None of the hotfixes seem to be applicable to my scenario as I am not getting the common "Access Denied" error. I have increased received and transmit buffer sizes on both NIC's to the 2048 maximum, and set the Sizreqbuf setting in the registry - to no avail.
Any help appreciated.
ThanksHi,
Thanks for the post.
The Event error 6161 is caused by one of the following conditions:
The printer is not reachable on the network
Windows cannot allocate sufficient memory
There was invalid or incomplete data received by the print spooler
A driver upgrade failed
There is a bad printer device driver
For more information, please refer to the following article:
http://technet.microsoft.com/en-us/library/cc773865(WS.10).aspx
In this case, I assume that this issue may be caused by the insufficient memory.
In Event Viewer, examine the event and look for the following text: "Win32 error code returned by the print processor: 8. Not enough storage is available to process this command".
If so, please collect system information for 60 seconds and generate a System Diagnostics Report:
Open an elevated Command Prompt window. (Click Start, point to All Programs, click Accessories, right-click Command Prompt, and then click Run as administrator.)
At the command prompt, type perfmon /report and then press ENTER. Reliability and Performance Monitor will start collecting data to create the System Diagnostics Report.
When the report is ready for viewing, locate the Diagnostic Results section of the report, and then check for any warnings (indicated by Warnings in the report). You can follow links to additional help on resolving warnings from this section. In addition, you can expand each category in the Basic System Checks section to see more details about why warnings appear. Also, the Performance section provides process-level details about top consumers of resources. You might need to increase the size of the paging file or add physical memory.
Thanks,
Miles -
Need guidance on using ddi_regs_map_setup solaris system call
Hi all,
Am a beginner in using Sun Solaris.
I am working on porting our source code from linux to solaris.
In Linux we are using inb/outb to read/write to keyboard data port(0x60) .
I know that there is an equivalent system call for inb/outb in solaris. But in man page(of sun os) it is mentioned that inb/ outb are obsolete. It was mentioned that we can use ddi_get8/ddi_put8 functions respectively.
ddi_get8 call requires ddi_acc_handle_t as a parameter which we can get it from ddi_regs_map_setup system call.
Syntax for this call is:
int ddi_regs_map_setup(dev_info_t *dip, uint_t rnumber,
caddr_t *addrp, offset_t offset, offset_t len,
ddi_device_acc_attr_t accattrp, ddi_acc_handle_t handlep);
Please let me know where does the 0x60 port number fits in the above system call and what does these parameters rnumber, offset, len corresponds to ?Hi,
The Fault_PC 0x13575e8 tells you exactly where you
die. I assume you have used this in mdb on
the core file to find you are dying in the ddi_get8 call?
Are you checking return value of ddi_regs_map_setup?
Are you sure the register you are accessing is in register set 1?
Are there other places prior to the panic where
the ddi_get/ddi_put routines work correctly? A bus error
here generally means the location you are trying to access
does not exist on the device. (It could also be alignment,
but not with ddi_get8). The address
looks like 1fe.02001400, which looks like a possibly
valid address in I/O space.
I would print the value of wc->ioaddr to make sure
it is a valid virtual address.
Hi,
I'm in the middle of porting a device driver for a
PCI card from linux to solaris (it's wcfxo from
zaptel - part of asterisk).
>
WARNING: [AFT1] Bus Error on System Bus in privileged
mode from CPU0 Data access at TL=0, errID
0x0000000b.985ccf88
AFSR 0x00000000.84000000<PRIV,BERR> AFAR
AFAR 0x000001fe.02001400
AFSR.PSYND 0x0000(Score 05) AFSR.ETS 0x00
0x00 Fault_PC 0x13575e8
UDBH 0x0000 UDBH.ESYND 0x00 UDBL 0x0000
0000 UDBL.ESYND 0x00
panic[cpu0]/thread=2a10007dd40: [AFT1] errID
0x0000000b.985ccf88 BERR Error(s)
See previous message(s) for detailsThe actual code which seems to cause the panic is:
#define inb(a) ddi_get8(wc->devhandle, a)
ints = inb(wc->ioaddr + WC_INTSTAT);where there initialisation includes:
static struct ddi_device_acc_attr dev_attr = {
DDI_DEVICE_ATTR_V0,
DDI_STRUCTURE_LE_ACC,
DDI_STRICTORDER_ACC
ddi_regs_map_setup(wc->dip, 1, &wc->ioaddr, 0, 255,
&dev_attr,
&dev_attr, &wc->devhandle);I've tested the same card in a linux x86 box, and it
works fine, so I'm happy it's not a hardware
problem.
Any suggestions on what might be causing this?
Thanks,
Simon -
How to use system call in assembler
I write codes to display the dictionary using C,
and it can run well,and then I want to use system call
in assembler to realize the same function ,but it doesn't
display the dictionary,how to correct it?
Look:
//C
#include <stdio.h>
int main()
char *name[2];
name[0]="/bin/ls";
name[1]=NULL;
execve(name[0],name,NULL);
return 0;
//Assembler
.data
msg:.string "/bin/ls"
.text
.global _start
_start:
movl $0xb,%eax
movl $msg,%ebx
mov $msg,%ecx
movl $0,%edx
int $0x80
movl $1,%eax
movl $0,%ebx
int $0x80If you compile with -Wwrite-strings, as I like to do for new code, you'll notice it warns about assigning the address of read-only memory to a plain char *. You might want to declare name as follows to avoid accidentally trying to modify it:
char const *name[2];
But as for your question. The execve system call requires a pointer to a list (array) of pointers to strings in %ecx. You are passing it a pointer to a single string, which means it will try to interpret the string ("/bin/ls")as a series of pointers to strings, with potentially disastrous (and certainly weird) results.
Last edited by Trent (2012-12-28 15:31:38)
Maybe you are looking for
-
Can you get an Apple ID for corporate use to associate with more than 10 devices?
Can you get an Apple ID for corporate use to associate with more than 10 devices?
-
IPod say's "Do Not Disconnect" but still not recognized. Please help!!
Hi everyone. Ok here's my situation. Im using a MacBook Pro (Mac OS X Lion 10.7.5) iTunes 11.4 (64Bit) iPod 4th Gen. (White 20GB 'Click-Wheel') After doing a system restore on my ancient dinosaur ipod 4th gen. (the white 20GB 'Click Wheel') and 'upgr
-
[SOLVED] Thinkpad T510 - Intel Core i7 - Integrated Graphics
Hi, i recent bought a ThinkPad T510 4349-2RG with an Intel Core i7 M 620 built-in. There is also an NVIDIA NVS 3100. According to the Intel-Homepage, my CPU should have an integrated GPU (http://www.intel.com/products/processor … ations.htm). The NV
-
OS 10.4.11 - MacBook Pro Crashing more and more every day - why?
Crashes more and more often - several times in a day. Hope someone can help. This has happened to some of my friends who just put up their hands and bought one of the newer macs. I've only had this one for a year, and I don't/can't put up the funds a
-
ACROBAT 9 PRo and OS X 10.6.8
I just updated my MAC to 10.6.8 and was previously running Acrobat 9 Pro. I am using CS5 and I now can not make a PS file from Illustrator. I also can't seem to find updates for 9 PPDs