nickva opened a new pull request, #5:
URL: https://github.com/apache/couchdb-hqueue/pull/5

   We have allocate size($item) then cast the result to a pointer of that item.
   
   This was discovered on macos with otp 25
   
   ```
   Process 71176 stopped
   * thread #16, name = '11_scheduler', stop reason = EXC_BAD_INSTRUCTION 
(code=EXC_I386_INVOP, subcode=0x0)
       frame #0: 0x00007ff81b74c363 libsystem_c.dylib`__chk_fail_overflow + 16
   libsystem_c.dylib`:
   ->  0x7ff81b74c363 <+16>: ud2
   libsystem_c.dylib`:
       0x7ff81b74c365 <+0>:  pushq  %rbp
       0x7ff81b74c366 <+1>:  movq   %rsp, %rbp
       0x7ff81b74c369 <+4>:  leaq   0x7966(%rip), %rdi        ; "detected 
source and destination buffer overlap"
   Target 0: (beam.smp) stopped.
   (lldb) bt
   * thread #16, name = '11_scheduler', stop reason = EXC_BAD_INSTRUCTION 
(code=EXC_I386_INVOP, subcode=0x0)
     * frame #0: 0x00007ff81b74c363 libsystem_c.dylib`__chk_fail_overflow + 16
       frame #1: 0x00007ff81b6dcf43 libsystem_c.dylib`__memset_chk + 18
       frame #2: 0x0000000147d1969b hqueue.so`hqueue_nif_insert [inlined] 
hqueue_nif_node_alloc at hqueue_nif.c:117:5 [opt]
       frame #3: 0x0000000147d1967a 
hqueue.so`hqueue_nif_insert(env=0x0000700008cb7d38, argc=3, 
argv=0x0000700008cb7e40) at hqueue_nif.c:296:18 [opt]
       frame #4: 0x00000001000351f2 
beam.smp`beam_jit_call_nif(c_p=0x0000000142e6cad8, I=<unavailable>, 
reg=0x0000700008cb7e40, fp=(hqueue.so`hqueue_nif_insert at hqueue_nif.c:269), 
NifMod=<unavailable>)(enif_environment_t*, int, unsigned long*), 
erl_module_nif*) at beam_jit_common.cpp:563:26 [opt]
       frame #5: 0x000000014363856e
   (lldb)
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to