nickva commented on issue #49:
URL: https://github.com/apache/couchdb-erlfdb/issues/49#issuecomment-1021525764


   > 11> [[begin K = integer_to_binary(X,32), erlfdb:transactional(Db, fun(Tx) 
-> erlfdb:wait(erlfdb:get(Tx, K)) end) end || X <- lists:seq(10,1000)] || _Y <- 
lists:seq(1,500)].
   ../include/internal/ethr_mutex.h:656: Fatal error in ethr_mutex_lock(): 
Invalid argument (22)
                                                                                
                Aborted (core dumped)
   
   This is an interesting one. Looks like a use after free perhaps?. Is it easy 
to reproduce? Wonder if it is a resource reference counting bug: a destructor 
is called, we are deallocating, then some thread tries to lock it. The error 
comes from:
   
   ```
   static ETHR_INLINE void
   ETHR_INLINE_MTX_FUNC_NAME_(ethr_mutex_lock)(ethr_mutex *mtx)
   {
       int res = pthread_mutex_lock(&mtx->pt_mtx);
       if (res != 0)
        ETHR_FATAL_ERROR__(res);
   }
   ```
   


-- 
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: notifications-unsubscr...@couchdb.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to