- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - HP-UX
- >
- Unexplained SIGXFSZ
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Discussions
Forums
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО10-04-2002 04:06 AM
тАО10-04-2002 04:06 AM
There is plenty of free space on the volume. The file is only being extended to about 820MB (so no obvious limit there, even if the volume didn't have large files enabled).
Most confusing is that all attempts to reproduce this behaviour in a small test program have failed. The only thing I can think of that I haven't tried is making the test program multi-threaded in the same way as the real application. Is there some cumulative effect that might mean the multi-threaded app is hitting a (hopefully configurable!) limit, which the single-threaded app would not? I've tried linking the test app with the pthreads library in case that was doing something bizarre in initialisation. Any other reasons I might be missing as to why this signal would occur?
I'm stumped :(
-------
The machine in question is 2xPA8500, running HP-UX B.11.00 (64-bit) with 8GB RAM.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО10-04-2002 04:18 AM
тАО10-04-2002 04:18 AM
Re: Unexplained SIGXFSZ
SIGXFSZ signal is caused when , file size exceeds the maximum file size that can be created by a process. Have you enabled large files support in your file system.
regards,
U.SivaKumar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО10-04-2002 04:33 AM
тАО10-04-2002 04:33 AM
Re: Unexplained SIGXFSZ
BTW, if you want to duplicate the problem... the signal is only delivered to UNIX95 conforming applications. These need to be linked with unix95.o, see man setrlimit(2).
Regards...
Dietmar.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО10-04-2002 05:04 AM
тАО10-04-2002 05:04 AM
Re: Unexplained SIGXFSZ
core file size (blocks) 2097151
data seg size (kbytes) 585936
file size (blocks) unlimited
max memory size (kbytes) unlimited
open files 20000
pipe size (512 bytes) 16
stack size (kbytes) 8192
cpu time (seconds) unlimited
max user processes 176
virtual memory (kbytes) unlimited
The application doesn't call setrlimit. Also, if it is getting linked with unix95.o (which from what you say and the setrlimit man page it must be) it's not intentional. Would it be enough if a shared library that it links with is UNIX 95?
For an application that is not UNIX 95 would you expect a write() call to return a value less than the requested length to write in all situations where a SIGXFSZ would be sent to a UNIX 95 application? That was certainly my understanding, and all the write calls in the test app succeed. In any case... I tried explicitly linking my test program with unix95.o with the same result.
BtW: Yes, large files are enabled on the volume with the data files.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО10-04-2002 06:07 AM
тАО10-04-2002 06:07 AM
Re: Unexplained SIGXFSZ
From my understanding a non-UNIX95 application should not receive SIGXFSZ... I may be wrong, of course.
Did you check if UNIX95 is set in your environment? It has the same effect as linking with unix95.o.
Regards...
Dietmar.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО10-04-2002 06:16 AM
тАО10-04-2002 06:16 AM
Re: Unexplained SIGXFSZ
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО10-04-2002 06:20 AM
тАО10-04-2002 06:20 AM
Re: Unexplained SIGXFSZ
Really weird... my next trouble-shooting step would be a system call trace.
Use the options -e and -f.
Dietmar.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО10-04-2002 07:42 AM
тАО10-04-2002 07:42 AM
Re: Unexplained SIGXFSZ
These are the cases to distinguish...
1) If the application is compiled and linked with the UNIX95 environment enabled, the application is marked and the kernel is appraised of this compile-time condition when the application runs and it will deliver the signal whenever the limit is
exceeded. This signal is delivered regardless of the state of the UNIX95 environment flag at the time the application is run.
2) If an application is compiled and linked without the UNIX95 environment enabled (the legacy/default case), the application is not marked and the kernel will not deliver the signal when the limit is exceeded. This preserves the classic behavior.
3) Regardless of whether or not the application is compiled with the UNIX95 environment unset, if the application explicitly enables a signal handler, the ignore condition or the default behavior for the signal, the signal will be delivered and appropriately processed whenever the limit is exceeded. We assume that an application that is aware of a signal need not be protected from that signal.
4) If the application is specifically sent a signal by another application via the kill() or raise() functions, the signal will be delivered. We assume that a user who explicitly sends a signal could just have easily sent a SIGKILL (-9), which could not be avoided by the application anyway.
So, in summary, if UNIX95 was not set during compile/link time AND unix95.o was not used AND no handler, default or ignore signal action was enabled or specified at runtime, then no SIGXFSZ should be sent with failed write(2)s.
Regards...
Dietmar.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО10-04-2002 08:01 AM
тАО10-04-2002 08:01 AM
Re: Unexplained SIGXFSZ
So the question is just why there is an error at all. The tusc snippet attached shows the last few calls made to extend the offending file (the select calls are from a different thread). I'll try tweaking my test app to more accurately recreate the same system calls in case that makes a difference, and also make sure it sets a signal handler in the ongoing search for a simple repro!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО10-04-2002 08:35 AM
тАО10-04-2002 08:35 AM
Solutionis it possible to place a getrlimit() call immediately before the write? Just to be 100% sure that no limitation is acually effective?
Did you already check if growing the file to that size is generally possible, e.g. by appending data from command line?
Regards...
Dietmar.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО10-07-2002 07:21 AM
тАО10-07-2002 07:21 AM
Re: Unexplained SIGXFSZ
In putting some further fencepost calls to getrlimit I found... a call to ulimit(). No wonder a search for get/setrlimit turned up nothing! So how embarrassed am I? :o
Thanks for all the help.