Segfault on new?

  • Follow


Okay, I have a really simple program that illustrates a problem I'm
having.

I'm using VC++6.0 (yes, an upgrade is in the works).  Anywho, I have
this problem:


int main (int argc, char * argv[])
{
int iNumFuncs = 1;
int * hey = new int [iNumFuncs];   <<--Segfaults.   ??????
return 0;
}


Is my installation just gone out the window, or am I so incredibly
tired that I can't even do a dynamic allocation anymore?
0
Reply linkingfire (13) 9/30/2008 9:49:34 PM

Scoots wrote:
> Okay, I have a really simple program that illustrates a problem I'm
> having.
> 
> I'm using VC++6.0 (yes, an upgrade is in the works).  Anywho, I have
> this problem:
> 
> 
> int main (int argc, char * argv[])
> {
> int iNumFuncs = 1;
> int * hey = new int [iNumFuncs];   <<--Segfaults.   ??????
> return 0;
> }
> 
> 
> Is my installation just gone out the window, or am I so incredibly
> tired that I can't even do a dynamic allocation anymore?

The code seems OK (the memory leak is beside the point, I guess).  If 
you need your question answered with VC++ in mind, then you need to ask 
it in the VC++ newsgroup, though:  microsoft.public.vc.language.

There can be some compiler specific settings that are off-topic here, 
try the other newsgroup and see what they say...

V
-- 
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
0
Reply v.Abazarov (13255) 9/30/2008 9:54:58 PM



On Sep 30, 5:54 pm, Victor Bazarov <v.Abaza...@comAcast.net> wrote:
> Scoots wrote:
> > Okay, I have a really simple program that illustrates a problem I'm
> > having.
>
> > I'm using VC++6.0 (yes, an upgrade is in the works).  Anywho, I have
> > this problem:
>
> > int main (int argc, char * argv[])
> > {
> > int iNumFuncs = 1;
> > int * hey = new int [iNumFuncs];   <<--Segfaults.   ??????
> > return 0;
> > }
>
> > Is my installation just gone out the window, or am I so incredibly
> > tired that I can't even do a dynamic allocation anymore?
>
> The code seems OK (the memory leak is beside the point, I guess).  If
> you need your question answered with VC++ in mind, then you need to ask
> it in the VC++ newsgroup, though:  microsoft.public.vc.language.
>
> There can be some compiler specific settings that are off-topic here,
> try the other newsgroup and see what they say...
>
> V
> --
> Please remove capital 'A's when replying by e-mail
> I do not respond to top-posted replies, please don't ask- Hide quoted text -
>
> - Show quoted text -

Well, the memory leak is kinda irrelevant, I just commented out the
few hundred other lines in the code and didn't bother posting them
here.  There IS a delete[], it's just commented out.

And I didn't think this was a VC++ question in particular, since I'm
not using a single call to anything relating to VC++.  What I posted
should be standard c++ in it's entirety.

My question, is what can be causing that.  And I believe your answer
was: "Compiler."

Thanks,
~Scoots.

(P.S.  I appologize for any seeming rudeness, it is unintentional.)
0
Reply linkingfire (13) 9/30/2008 10:01:43 PM

Scoots wrote:

> 
> 
> On Sep 30, 5:54 pm, Victor Bazarov <v.Abaza...@comAcast.net> wrote:
>> Scoots wrote:
>> > Okay, I have a really simple program that illustrates a problem I'm
>> > having.
>>
>> > I'm using VC++6.0 (yes, an upgrade is in the works).  Anywho, I have
>> > this problem:
>>
>> > int main (int argc, char * argv[])
>> > {
>> > int iNumFuncs = 1;
>> > int * hey = new int [iNumFuncs];   <<--Segfaults.   ??????
>> > return 0;
>> > }
>>
>> > Is my installation just gone out the window, or am I so incredibly
>> > tired that I can't even do a dynamic allocation anymore?
>>
>> The code seems OK (the memory leak is beside the point, I guess).  If
>> you need your question answered with VC++ in mind, then you need to ask
>> it in the VC++ newsgroup, though:  microsoft.public.vc.language.
>>
>> There can be some compiler specific settings that are off-topic here,
>> try the other newsgroup and see what they say...
>>
>> V
>> --
>> Please remove capital 'A's when replying by e-mail
>> I do not respond to top-posted replies, please don't ask- Hide quoted
>> text -
>>
>> - Show quoted text -
> 
> Well, the memory leak is kinda irrelevant, I just commented out the
> few hundred other lines in the code and didn't bother posting them
> here.  There IS a delete[], it's just commented out.
> 
> And I didn't think this was a VC++ question in particular, since I'm
> not using a single call to anything relating to VC++.  What I posted
> should be standard c++ in it's entirety.
> 
> My question, is what can be causing that.  And I believe your answer
> was: "Compiler."
> 
> Thanks,
> ~Scoots.
> 
> (P.S.  I appologize for any seeming rudeness, it is unintentional.)

I don't use arrays much, so the syntax is a bit unfamiliar to me. However,
its working fine here with gcc version 4.3.1 on OpenSUSE 11.0

int main (int argc, char * argv[])
{
int iNumFuncs = 1;
int * hey = new int [iNumFuncs]; //  <<--Segfaults.   ??????
hey[0] = 99;
cout <<  "hey = " << hey << "  hey[0] =  "  << hey[0] <<  endl;
return 0;
}

Output:  hey = 0x804b008  hey[0] =  99

Chris Gordon-Smith
www.simsoup.info




0
Reply use.address (75) 9/30/2008 11:03:58 PM

Scoots <linkingfire@msn.com> kirjutas:

> Okay, I have a really simple program that illustrates a problem I'm
> having.
> 
> I'm using VC++6.0 (yes, an upgrade is in the works).  Anywho, I have
> this problem:
> 
> 
> int main (int argc, char * argv[])
> {
> int iNumFuncs = 1;
> int * hey = new int [iNumFuncs];   <<--Segfaults.   ??????
> return 0;
> }

With VC++ you should not be able to get a segfault. At best you could hope 
for an access violation ;-)

This aside, your code looks fine. Are you sure you posted the actual code?

Paavo


0
Reply nobody5182 (258) 10/1/2008 8:09:35 PM

Scoots wrote:

> On Sep 30, 5:54 pm, Victor Bazarov <v.Abaza...@comAcast.net> wrote:
>> Scoots wrote:
>> > Okay, I have a really simple program that illustrates a problem I'm
>> > having.
>>
>> > I'm using VC++6.0 (yes, an upgrade is in the works).  Anywho, I have
>> > this problem:
>>
>> > int main (int argc, char * argv[])
>> > {
>> > int iNumFuncs = 1;
>> > int * hey = new int [iNumFuncs];   <<--Segfaults.   ??????
>> > return 0;
>> > }
>>
>> > Is my installation just gone out the window, or am I so incredibly
>> > tired that I can't even do a dynamic allocation anymore?
>>
>> The code seems OK (the memory leak is beside the point, I guess).  If
>> you need your question answered with VC++ in mind, then you need to ask
>> it in the VC++ newsgroup, though:  microsoft.public.vc.language.
>>
>> There can be some compiler specific settings that are off-topic here,
>> try the other newsgroup and see what they say...
> 
> Well, the memory leak is kinda irrelevant, I just commented out the
> few hundred other lines in the code and didn't bother posting them
> here.  There IS a delete[], it's just commented out.
> 
> And I didn't think this was a VC++ question in particular, since I'm not
using a single call to anything relating to VC++.

Your question wasn't specific to VC++. It was fine, but cannot be answered
here.

> What I posted should be standard c++ in it's entirety.

Yes, it is.

> My question, is what can be causing that.  And I believe your answer
> was: "Compiler."

Yes. Regarding standard C++, your code is - as far as I can see - correct,
so it must be some compiler issue. And for that, a VC++ group will be more
appropriate.

0
Reply ramagnus (3485) 10/1/2008 8:55:58 PM

Indeed, this was the code, minus a few thousand lines that were
essentially commented out (the calls to other files/functions) which
is why I took out the includes.  But I had yes, actually reduced my
main to that through commenting out code.

And yes, it wasn't a true segfault :-)

Too many years in school to take segfault out of my vocabulary though!

I took your advice and asked over there and the issue has been...
well, avoided if not resolved.
0
Reply linkingfire (13) 10/3/2008 3:56:27 PM

6 Replies
23 Views

(page loaded in 0.091 seconds)


Reply: