Summary: | Malloc_Test seg faults on LynxOS | ||
---|---|---|---|
Product: | ACE | Reporter: | levine |
Component: | ACE Tests | Assignee: | Douglas C. Schmidt <schmidt> |
Status: | RESOLVED --- | ||
Severity: | normal | ||
Priority: | P2 | ||
Version: | 5.0 | ||
Hardware: | All | ||
OS: | All |
Description
levine
1999-08-10 10:25:46 CDT
The SEGV happens: at /project/danzontmp/levine/ACE_wrappers/build/lynx/ace/Malloc_T.cpp:316 316 if (currp->s_.size_ >= nunits) // Big enough currp appears to have a bogus value: (gdb) p currp $4 = (ACE_Malloc_Header *) 0xf68990c3 (gdb) p *currp Cannot access memory at address 0xf68990c3. From Doug: That's weird! The only thing I can think of is that maybe LynxOS doesn't like this address in the child: static const void *CHILD_BASE_ADDR = #if defined (ACE_HAS_POSITION_INDEPENDENT_MALLOC) 64 * 1024 + #endif /* ACE_HAS_POSITION_INDEPENDENT_MALLOC */ ACE_DEFAULT_BASE_ADDR; Can you please let me know if the segfault is occurring in the child or in the parent? If it's in the parent, then I'm at a loss. If it's in the child, then we can probably pick a better base address, which should make LynxOS happy. The segfault is in the parent. ACE_DEFAULT_BASE_ADDR is 0 on LynxOS. That tells the OS to pick the address. It works well best other tests. ACE_MAP_FIXED is 0, as well. I recommend that we don't enable ACE_HAS_POSITION_INDEPENDENT_MALLOC with Lynx. As far as I can tell, we don't enable ACE_HAS_POSITION_INDEPENDENT_MALLOC on LynxOS. It's not clear why this fails, so for now, I've commented out the test on LynxOS Fixed the disabling of the test on LynxOS: ChangeLogTag: Wed Oct 13 10:11:47 1999 David L. Levine <levine@cs.wustl.edu> |