Issue #3193 has been updated by tse. Status changed from New to Closed
---------------------------------------- Bug #3193: assertion: z->z_NFree > 0 in _slaballoc http://bugs.dragonflybsd.org/issues/3193#change-13878 * Author: tse * Status: Closed * Priority: Normal * Assignee: * Category: * Target version: ---------------------------------------- I'm getting "assertion: z->z_NFree > 0 in _slaballoc" when malloc'ing memory in a second thread it happens on the 31st or 32nd malloc Kernel is DragonFly v5.4.2-RELEASE As it stands, the code requires jack and midi to be setup, but I could try and reduce it to a simpler test case if that's helpful And if it's in any-way helpful, it looks roughly like this: // size enough to store frames of input, dynamically updatable by jack _Atomic size_t buf_size; // ring of pointers to bufs for jack to copy data into #define ringBufs_MAX 24 struct Recording*ringBufs[ringBufs_MAX]; _Atomic uint32_t ringBufs_dirty, ringBufs_clean; // positions in ring int ringBuf_fill(void*data) { struct Data*d = (struct Data*)data; SDL_SetThreadPriority(SDL_THREAD_PRIORITY_NORMAL); while(true) { // could change to a cond-var while((d->ringBufs_dirty+1)%ringBufs_MAX == atomic_load(&d->ringBufs_clean)) {} d->buf_size = atomic_load(&d->buf_size); d->ringBufs[d->ringBufs_dirty] = malloc(d->buf_size); atomic_store(&d->ringBufs_dirty, (d->ringBufs_dirty+1)%ringBufs_MAX); } } -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account
