On 04/14/2014 01:01 PM, Kinkie wrote:

> The attached test program runs just fine on MacOS Mavericks; testRock
> fails, yet the code looks really the same as in src/ipc/mem/Segment.cc
> to me (after removing the O_TRUNC flag to shm_open).. can anyone spot
> a difference I can't see?

Perhaps strace (or equivalent) would expose the critical difference?

Also, this is a wild guess, but you may want to double check that old
shared memory segments are not interfering with one of your test cases.

Alex.


> output:
> --------------
> mini:shm_test kinkie$ ./shm_test 66584
> start
> fd: 3
> sz: 66584
> mmap
> mem at 0x10dd9b000
> ok!
> --------------
> testRock:
> mini:squid kinkie$ gdb-apple ./src/tests/testRock
> [...]
> 
> Program received signal EXC_BAD_ACCESS, Could not access memory.
> Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000068
> 0x00007fff92ff8eca in flockfile ()
> 
> (gdb) bt
> #0  0x00007fff92ff8eca in flockfile ()
> #1  0x00007fff93001b10 in vfprintf_l ()
> #2  0x00007fff92ffa68e in fprintf ()
> #3  0x000000010000b4fb in fatal_common (message=0x1000fb8b0
> "Ipc::Mem::Segment::create failed to
> ftruncate(/squid-testRock_Store_i.shm, 66584): (22) Invalid
> argument\n") at fatal.cc:44
> #4  0x000000010000b4ab in fatal (message=0x1000fb8b0
> "Ipc::Mem::Segment::create failed to
> ftruncate(/squid-testRock_Store_i.shm, 66584): (22) Invalid
> argument\n") at fatal.cc:88
> #5  0x000000010000b600 in fatalf (fmt=<value temporarily unavailable,
> due to optimizations>) at fatal.cc:99
> #6  0x00000001000b257b in Ipc::Mem::Segment::create (this=0x100306810,
> aSize=66584) at mem/Segment.cc:78
> [...]
> 
> 
> 
> 
> 

Reply via email to