Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Jan 2009 17:09:30 +0530
From:      Channa <channa.kad@gmail.com>
To:        freebsd-current@freebsd.org
Subject:   Jemalloc SEGV for 1MB chunk
Message-ID:  <515c64960901280339m17fa9309v2e1bc3f55454ab@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi All,
I am using jemalloc.c source from FreeBSD-current source.
When i allocate 1MB of memory using malloc() and use it as the below
test shows

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
	int i;
	char *buf;
	size_t size = 1048576 ;

	buf = malloc(size);
	for (i = 0; i < 1048576; i++)
		buf[i] = 'a';
	printf("The length of buff is : %d\n",strlen(buf));
	free(buf);
	return 0;
}

When i try to call strlen(buf) SEGV is recived.

This behaviour is seen when only for 1MB chunk if i allocate
memory lesser than 1MB no issues noticed.

Could anyone see similar problem?
Is the above test wrong?
Or some issue with huge memory allocation in jemalloc?

Your response will be very helpful.

Thanks & Regards,
Channa



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?515c64960901280339m17fa9309v2e1bc3f55454ab>