1836438 Members
3458 Online
110100 Solutions
New Discussion

Re: ENOMEM+SIGSEGV

 
Lars Bausch_1
New Member

ENOMEM+SIGSEGV

Hello !

I have compiled the boinc client and setiathome app for hpux.
On the most systems both runs without problems.

But one user have on two systems the problem, that he get a lot of ENOMEM, results in a SIGSEGV (I_NOEXIST).

On some other systems the error was fixed, with installing the patch bundles from december 2003.

But on this two systems from this user, the patches get the client not to work.
We also checked kernel parameters, an set it to the same values like my working systems.


Any hints ?

Regards,

Lars


9 REPLIES 9
Lars Bausch_1
New Member

Re: ENOMEM+SIGSEGV

Attached a output from a tusc in my first posting.

Lars
Ermin Borovac
Honored Contributor

Re: ENOMEM+SIGSEGV

mmap(NULL, 180224, PROT_READ|PROT_EXEC, MAP_SHARED|MAP_SHLIB, 3, 98304) ERR#12 ENOMEM

From your tusc output I can see mmap() fails with ENOMEM when it tries to map some shared libraries. This is likely to happen as these libraries have previously been mapped with mmap().

open("language.ini", O_RDONLY, 0666) ..................... ERR#2 ENOENT

This line looks suspicious. Your program is trying to open file language.ini in the current directory. Is this file required and does it exist on systems where you don't see this problem?
Lars Bausch_1
New Member

Re: ENOMEM+SIGSEGV

The EONET from language.ini is ok. It happens on a running system too.
Ermin Borovac
Honored Contributor

Re: ENOMEM+SIGSEGV

If you have a core file left from the crash you can try getting stack trace with gdb bt command.

$ gdb core
(gdb) bt

Otherwise compile your program with -g and run it under gdb. You may be able to pinpoint line where is crashes unless it crashes in the code from one of the shared libraries program uses. But at least it will give you some clue where to look next.
Amit Agarwal_1
Trusted Contributor

Re: ENOMEM+SIGSEGV

I have noticed few queries on memory fault getting solved by increasing 'maxssiz' kernel tunable. Most probably it is set to a low value hence this problem. Try increasing it.
Lars Bausch_1
New Member

Re: ENOMEM+SIGSEGV

The kernel parameters on the affected two systems was setup like my systems, where the binary runs.

We had installed the newest libc patch (PHCO_31903). Since the patch installation we don't get a SIGSEGV anymore.
What could cause this issue ?

Regards

Lars



Kevin Schultz
Advisor

Re: ENOMEM+SIGSEGV

Hi Lars,

Are you by chance the person I discussed building SETI@home with a few months ago? :) If so, allow me to extend congratulations on getting it up and running on HP-UX. As you can see I am gearing up to get it running on my own box.

If you are not this person, please disregard this note (but still, thank you for your work on BOINC!).

Best regards,



Kevin
Amit Agarwal_1
Trusted Contributor

Re: ENOMEM+SIGSEGV

I can see that there are multiple defect fixed in this patch. The symptoms (for two defects) closest to your problem seems to be:

1. When SBA is enabled and realloc(3C) is called to allocate a
very large block of memory, a segmentation fault may occur.

2. 64-bit applications allocating very large memory sizes
using malloc(3C) may core dump.

Most probably one of the two fixes helped resolve your problem.

-Amit
Lars Bausch_1
New Member

Re: ENOMEM+SIGSEGV

@Kevin:
No, I saw, that the person you have spoken, had never released the boinc client and seti app, because he had some problem with client and app.
The HPUX boinc client and seti app is downloadable public : http://boinc.berkeley.edu/download_other.php or at the direct download site : http://www.lb.shuttle.de/apastron/boincDown.shtml

@Amit :
Thanks for your explanations ! But I am a little bit confused. The binary runs on the most systems without the newest libc patch without problems.
On the other systems the client and apps runs with the GPK Dec. 2003. Older Patchlevels will also generate SIGSEGV