- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - HP-UX
- >
- Re: Application coredumps on PA-RISC 11.23 on exit...
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
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
тАО11-18-2009 02:16 AM - last edited on тАО11-20-2012 07:41 PM by Maiko-I
тАО11-18-2009 02:16 AM - last edited on тАО11-20-2012 07:41 PM by Maiko-I
I have an multithreaded application running on HP-UX 11.23 PA-RISC, HP-UX 11.23 ia64, HP-UX 11.31 ia64. I use gcc 4.4.0 in order to build it.
It runs and correctly exits on HP-UX 11.23 ia64 and HP-UX 11.31 ia64. The problem is on HP-UX 11.23 PA-RISC. On this platform the application coredumps on exit. It seems that cause of the coredump is not in my code. I would appreciate some advice. Here is a backtrace.
HP gdb 5.9 for PA-RISC 2.0 (wide), HP-UX 11.00 and target hppa2.0w-hp-hpux11.00.
Copyright 1986 - 2001 Free Software Foundation, Inc.
Hewlett-Packard Wildebeest 5.9 (based on GDB) is covered by the GNU General Public License. Type "show copying" to see the conditions to change it and/or distribute copies. Type "show warranty" for warranty/support.
..
(gdb) core-file ./core
Core was generated by `rating_server'.
Program terminated with signal 6, Aborted.
#0 0xc00000000020144c in kill+0x2c () from /lib/pa20_64/libc.2
(gdb) bt
#0 0xc00000000020144c in kill+0x2c () from /lib/pa20_64/libc.2
#1 0xc0000000001ad044 in raise+0x2c () from /lib/pa20_64/libc.2
#2 0xc0000000001e7768 in abort_C+0x180 () from /lib/pa20_64/libc.2
#3 0xc0000000001e77cc in abort+0x1c () from /lib/pa20_64/libc.2
#4 0x40000000002a094c in os_sp::app_env_log::sigsegv_handler (num=11, r=) at ../../../src/common/rating_shared/app_env_log.cpp:274
#5
#6 0xc0000000001a1434 in free+0x29c () from /lib/pa20_64/libc.2
#7 0xc000000000b05e40 in emutls_destroy (ptr=0x8000000100f275a8) at ../../../libgcc/../gcc/emutls.c:74
#8 0xc000000000b4df0c in __specific_data_thread_exit+0x32c () from /lib/pa20_64/libpthread.1
#9 0xc000000000b590f4 in pthread_exit+0x62c () from /lib/pa20_64/libpthread.1 #10 0x400000000027de44 in threads::thread::thread_proc (th=0x8000000100f66aa0) at ../../../src/common/rating_lib/threads.cpp:273
#11 0x400000000027dfdc in start_routine_thread (p_arg=) at ../../../src/common/rating_lib/threads.cpp:18
#12 0xc000000000b55cac in __pthread_bound_body+0xcc () from /lib/pa20_64/libpthread.1
#13 0xc000000000b8a4ec in __pthread_bound_start+0x14 () from /lib/pa20_64/libpthread.1
(gdb)
By the way, pthread library cumulative patch PHCO_39699 has been installed on the server.
P.S. This thread has been moved from HP-UX > General to HP-UX > languages - HP Forums Moderator
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО11-18-2009 07:03 AM
тАО11-18-2009 07:03 AM
Re: Application coredumps on PA-RISC 11.23 on exit in emutls_destroy()
On HP-UX 11.23 ia64, HP-UX 11.31 ia64 gcc 4.3.1 is used.
On HP-UX 11.23 PA-RISC I have used gcc 4.3.1, gcc 4.3.3, gcc 4.4.0. Whatever version I used the application always coredumps in the emutls_destroy().
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО11-20-2009 12:12 AM
тАО11-20-2009 12:12 AM
Re: Application coredumps on PA-RISC 11.23 on exit in emutls_destroy()
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40024
Is anybody from HP has seen this thread?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО11-21-2009 10:01 AM
тАО11-21-2009 10:01 AM
Re: Application coredumps on PA-RISC 11.23 on exit in emutls_destroy()
>Is anybody from HP has seen this thread?
This looks like it may be the issue. I'll ask Monday.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО11-23-2009 12:33 AM
тАО11-23-2009 12:33 AM
Re: Application coredumps on PA-RISC 11.23 on exit in emutls_destroy()
Dennis,
By the way, It doesn't prove anything of course but we have another team in our company, they develop their program on the same platforms. Some time ago they changed their compiler from 3.4.4 to 4.3.1 and immediately experienced the same problem. Then they changed file emutls.c (line 74), recompiled gcc and everything worked OK. We have used their patched gcc 4.3.1 and our program also exited correctly.
What they changed is the emutls_destroy() function. On this link that I had posted earlier (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40024) it clearly stated that there was bug in gcc and they changed it in this way:
- for (i = 0; i < size; ++i)
+ for (i = 0; i < size - 1; ++i)
Your function has this code:
static void
emutls_destroy (void *ptr)
{
struct __emutls_array *arr = ptr;
pointer size = arr->size;
pointer i;
for (i = 0; i < size; ++i)
{
if (arr->data[i])
free (arr->data[i][-1]);
}
free (ptr);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО11-23-2009 06:39 AM
тАО11-23-2009 06:39 AM
Re: Application coredumps on PA-RISC 11.23 on exit in emutls_destroy()
Rather, HP function has this code:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО12-11-2009 08:12 AM
тАО12-11-2009 08:12 AM
Re: Application coredumps on PA-RISC 11.23 on exit in emutls_destroy()
I am wondering if there is any news related to my question? You said earlier that perhaps it was an issue.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО12-11-2009 02:11 PM
тАО12-11-2009 02:11 PM
SolutionI guess we didn't reply since you already had a solution.
Our expert says:
it looks like it was fixed in 4.3.4, 4.4.1, and 4.5.0. It looks like the user has 4.3.1 and 4.4.0 which would not have this fix in GCC.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО12-14-2009 01:16 AM
тАО12-14-2009 01:16 AM
Re: Application coredumps on PA-RISC 11.23 on exit in emutls_destroy()
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО12-14-2009 12:33 PM
тАО12-14-2009 12:33 PM
Re: Application coredumps on PA-RISC 11.23 on exit in emutls_destroy()
That's right. Perhaps early next year when 4.5.0 is finished.