On Friday, 8 September 2023 at 07:59:37 UTC, rempas wrote:
I do have the following struct:

```d
struct Vec(T) {
private:
  T* _ptr = null; // The pointer to the data
u64 _cap = 0; // Total amount of elements (not bytes) we can store

public:
/* Create a vector by just allocating memory for it. The null terminator is not set for strings as, the vector is considered empty and we should first push something to it
     in order to use it! */
  this(i64 size) {
    this._len = 0;
    this._cap = size;

static if (is(T == char)) { size += 1; } // Additional space for the null terminator
    this._ptr = cast(T*)malloc(size);
  }
}
```

That's some minimal code that I do have just to showcase it. So, some times, this work will works, some others, it will give me the following error:

`Fatal glibc error: malloc.c:2594 (sysmalloc): assertion failed: (old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)`

The problem seems to happen when the pointer that is returned from `malloc` is assigned to the `_ptr` field. If I just assign it to a variable and don't assign anything to `_ptr`, it will work!

Is there any possible that there is a compiler bug? I do use ldc2 and `betterC`!

I've had an error message like that before. This was the answer: https://stackoverflow.com/questions/46803671/sysmalloc-assertion

Without additional code it's hard to say if that's your problem.
      • Re: mal... evilrat via Digitalmars-d-learn
        • Re:... rempas via Digitalmars-d-learn
          • ... Richard (Rikki) Andrew Cattermole via Digitalmars-d-learn
            • ... rempas via Digitalmars-d-learn
              • ... Richard (Rikki) Andrew Cattermole via Digitalmars-d-learn
              • ... rempas via Digitalmars-d-learn
          • ... Kagamin via Digitalmars-d-learn
            • ... rempas via Digitalmars-d-learn
  • Re: malloc error... Hipreme via Digitalmars-d-learn
  • Re: malloc error... bachmeier via Digitalmars-d-learn
  • Re: malloc error... rempas via Digitalmars-d-learn
  • Re: malloc error... Basile B. via Digitalmars-d-learn
  • Re: malloc error... Richard (Rikki) Andrew Cattermole via Digitalmars-d-learn

Reply via email to