Date: Wed, 28 Jan 2009 17:31:43 +0530 From: Channa <channa.kad@gmail.com> To: Christoph Mallon <christoph.mallon@gmx.de> Cc: freebsd-current@freebsd.org Subject: Re: Jemalloc SEGV for 1MB chunk Message-ID: <515c64960901280401w1e1d08bfx29adc124bc749c4a@mail.gmail.com> In-Reply-To: <49804597.6040303@gmx.de> References: <515c64960901280339m17fa9309v2e1bc3f55454ab@mail.gmail.com> <49804597.6040303@gmx.de>
next in thread | previous in thread | raw e-mail | index | archive | help
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, Christoph Mallon <christoph.mallon@gmx.de> wrote: > Channa schrieb: > > > > 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 > > > > You did not NUL-terminate ('\0') the string. >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?515c64960901280401w1e1d08bfx29adc124bc749c4a>