Download ILU 2.0beta1 Reference Manual
Transcript
Chapter 17: Debugging ILU Programs 260 Problem: My process ’A’ has an object reference to an object ’O’ in process ’B’. Process ’B’ exits, and then restarts. Even though the server name and object identifier for ’O’ are the same as the first time around, process A is unable to perform operations on ’O’. Discussion: The answer here is similar to the answer to the "It seems that ILU is contacting the wrong server... " problem. You’re probably letting ILU choose the server’s port number by either letting ILU use it’s defaults, or by specifying a 0 in the port field in the transport specification when creating the ilu Server. ILU in process ’A’ caches the contact information from the first process ’B’. When process ’B’ comes back up, the port number is different. You can specify what port should be used in the transport information to prevent this from happening. For example, to always come up at port 1234, use "tcp 0 1234". Problem: I’m having problems importing ILU into Python. Discussion: (Where ILUHOME represents where you installed ILU) You need to have the ILUHOME/lib directory on your PYTHONPATH environment variable. Also, ensure that ILUHOME/bin is also on your PATH environment variable. Problem: I’m in Windows, and trying to build some of the examples and I get complaints that it doesn’t know how to make some of the files. Discussion: The Windows make files are not set up to run the language stubbers. You must run the stubbers manually before doing the make. e.g. c-stubber Test1.isl Problem: I’m on Unix (most probably Digital’s), and my program sometimes exits unexpectedly. Discussion: You may be running into a problem where a PIPE signal is generated and the established action is to exit the program. In the ILU source file runtime/kernel/bsdutils.c, the function ilu HandleSigPIPE tries to set up the process to ignore SIGPIPE. However, it only does this if the initial SIGPIPE is not SIG DFL. (You should see an error message if ilu HandleSigPIPE can’t setup to ignore SIGPIPE) On some systems it has been noticed that even though the application did not explicitly set up a SIGPIPE handler, the initial SIGPIPE is not SIG DFL, and the handler that runs terminates the program. A workaround to this problem is to either set the SIGPIPE handler to SIG DFL yourself before the ilu HandleSigPIPE function runs, or set it to a handler that does nothing with the signal. 17.7 Bug Reporting and Comments Report bugs (nah! -- couldn’t be!) to the Internet address [email protected], or to the XNS address ILU-bugs:PARC:Xerox. Bug reports are more helpful with some information about the activity. General comments and suggestions can be sent to either [email protected] or [email protected]. Often the our first reply to a bug report is a request for a typescript that shows the bug occurring, with all trace debugging turned on. If that doesn’t make it clear to us, our second reply may be a request for a stack trace, with printouts of relevant variables and data strutures. Including these things in your bug report may speed the cycle of interactions.
Related documents