Jemalloc SEGV for 1MB chunk

Channa channa.kad at gmail.com
Wed Jan 28 04:03:13 PST 2009


Hi,
Thanks for your reply.
You mean to say i should modify the test as below:

#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 <= 1048575; i++)
   buf[i] = 'a';
buf[size]='\0';
printf("The length of buff is : %d\n",strlen(buf));
free(buf);
return 0;
}

I NULL terminated the string
buf[size] = '\0'  <== The last character is NULL

But still i get a SEGV at strlen.

Could you please tell me if my changes above are correct?

Regards,
Channa

On 28/01/2009, Harti Brandt <hartmut.brandt at dlr.de> wrote:
> On Wed, 28 Jan 2009, Channa wrote:
>
>  C>Hi All,
>  C>I am using jemalloc.c source from FreeBSD-current source.
>  C>When i allocate 1MB of memory using malloc() and use it as the below
>  C>test shows
>  C>
>  C>#include <stdio.h>
>  C>#include <stdlib.h>
>  C>#include <string.h>
>  C>
>  C>int main()
>  C>{
>  C>      int i;
>  C>      char *buf;
>  C>      size_t size = 1048576 ;
>  C>
>  C>      buf = malloc(size);
>  C>      for (i = 0; i < 1048576; i++)
>  C>              buf[i] = 'a';
>  C>      printf("The length of buff is : %d\n",strlen(buf));
>  C>      free(buf);
>  C>      return 0;
>  C>}
>  C>
>  C>When i try to call strlen(buf) SEGV is recived.
>
>  Would be better to terminate the string with a '\0' so that it is really a
>  string.
>
>  harti
>
>  C>
>  C>This behaviour is seen when only for 1MB chunk if i allocate
>  C>memory lesser than 1MB no issues noticed.
>  C>
>  C>Could anyone see similar problem?
>  C>Is the above test wrong?
>  C>Or some issue with huge memory allocation in jemalloc?
>  C>
>  C>Your response will be very helpful.
>  C>
>  C>Thanks & Regards,
>  C>Channa
>  C>_______________________________________________
>  C>freebsd-current at freebsd.org mailing list
>  C>http://lists.freebsd.org/mailman/listinfo/freebsd-current
>  C>To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
>  C>
>  C>
>


More information about the freebsd-current mailing list