Community
cancel
Showing results for 
Search instead for 
Did you mean: 
mrgronk
Beginner
183 Views

Internal error: 0_1428

Hi all,

I've come across a problem in the Intel C/C++ compiler for Mac OS X, and would like any advice on fixes, or alert the code maintainers to it.

The situation is this: I compile the attached file, and get the following result:

[user@computer dir]$ icc -c -o 091006_amber.o 091006_amber.c
091006_amber.c(26) (col. 1): internal error: 0_1428
compilation aborted for 091006_amber.c (code 4)

This error can be avoided by doing any of the following:

- Reducing the optimisation level from the default (i.e., -O2) to -O1
- Removing from among the list of included headers
- Removing the memset line from childsub()
- Removing the whole while() loop inside childsub() (however, removing all contents of the while loop and leaving the while(1){ } causes an abort)
- Removing parentsub(), even though all it does is call childsub()

There may be other workarounds that I have not yet discovered. Nevertheless, these all seem to be workarounds rather than fixes. It's also true that this file is very much a stub, and is the smallest possible file I could make that reproduces the error, so many of the workarounds I offered won't work in the general case. For the time being, I'm reducing the optimisation level when building the affected file in my program.

System information:

- Mac OS X 10.6, Snow Leopard (10.6.1), running either the "32-bit" or the "64-bit" kernel (I have forced boot into the full 64-bit kernel, and the same problem crops up under either kernel)
- Intel C/C++ compiler 11.1.067 (build date 2009-08-27), according to icc --version

I have attached the code that causes the problem. Any insight would be much appreciated. Code:

[cpp]#include        
#include        

typedef char    SHORTt[10];

typedef struct  {
        char            sName[10];
        int             iEquivs;
        SHORTt          saEquivs[20];
} EQUIVt;

static void
childsub( FILE *fIn )
{
EQUIVt          eEquiv;
int             i;
    
    memset(&eEquiv, 0, sizeof(eEquiv));
    while (1) {        
        eEquiv.iEquivs = i;
    }
}

void 
parentsub( FILE *fIn )
{
    childsub( fIn );
}[/cpp]


Thanks in advance.
0 Kudos
9 Replies
TimP
Black Belt
183 Views

Intel C++ Compiler Professional for applications running on IA-32, Version 1
.1 Build 20090903 Package ID: w_cproc_p_11.1.046
Copyright (C) 1985-2009 Intel Corporation. All rights reserved.

mrg.c
mrg.c(19): error #12082: infinite loop
mrg.c(20): error #12143: "i" is uninitialized

Don't know why the Mac compiler should be any different.
mrgronk
Beginner
183 Views

Quoting - tim18

Don't know why the Mac compiler should be any different.

Neither do I, but it is. It doesn't complain about infinite loops. In the original file, this code was looping over entries in a file, I think, or some other data structure where the structure itself contained the termination. I didn't really want to include all that stuff.
Quoc-An_L_Intel
Employee
183 Views


With the given code sample, I can't reproduce the internal error. See below.

This is on a system with OSX 10.6.1, Xcode 3.2, ICC 11.1.067. This is a Mac Pro with Quad core



spd48:ale super$ cat u68863.cpp
#include
#include

typedef char SHORTt[10];

typedef struct {
char sName[10];
int iEquivs;
SHORTt saEquivs[20];
} EQUIVt;

static void
childsub( FILE *fIn )
{
EQUIVt eEquiv;
int i;

memset(&eEquiv, 0, sizeof(eEquiv));
while (1) {
eEquiv.iEquivs = i;
}
}

void
parentsub( FILE *fIn )
{
childsub( fIn );
}

spd48:ale super$
spd48:ale super$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.6
BuildVersion: 10A432

spd48:ale super$ icc -V -c -o u68863.o u68863.cpp
Intel C Intel 64 Compiler Professional for applications running on Intel 64, Version 11.1 Build 20090827 Package ID: m_cproc_p_11.1.067
Copyright (C) 1985-2009 Intel Corporation. All rights reserved.

Edison Design Group C/C++ Front End, version 3.10.1 (Aug 27 2009 20:13:12)
Copyright 1988-2007 Edison Design Group, Inc.

spd48:ale super$
mrgronk
Beginner
183 Views

Quoting - Qale (Intel)
spd48:ale super$ icc -V -c -o u68863.o u68863.cpp
Intel C Intel 64 Compiler Professional for applications running on Intel 64, Version 11.1 Build 20090827 Package ID: m_cproc_p_11.1.067
Copyright (C) 1985-2009 Intel Corporation. All rights reserved.

Edison Design Group C/C++ Front End, version 3.10.1 (Aug 27 2009 20:13:12)
Copyright 1988-2007 Edison Design Group, Inc.

spd48:ale super$

OK, but isn't that trying to interpret it as a C++ file? It should be plain C.
Quoc-An_L_Intel
Employee
183 Views

Quoting - mrgronk

OK, but isn't that trying to interpret it as a C++ file? It should be plain C.

OK I see the internal error now. But it looks like a problem only on Snow Leopard Mac OS X 10.6.1. I don't see it on 10.5.

spd44:ale super$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.5.6
BuildVersion: 9G55

spd44:ale super$ icc -c -V -o u68863.o u68863.c
Intel C Intel 64 Compiler Professional for applications running on Intel 64, Version 11.1 Build 20090827 Package ID: m_cproc_p_11.1.067
Copyright (C) 1985-2009 Intel Corporation. All rights reserved.

Edison Design Group C/C++ Front End, version 3.10.1 (Aug 27 2009 20:13:12)
Copyright 1988-2007 Edison Design Group, Inc.

spd44:ale super$


Quoc-An_L_Intel
Employee
183 Views


A defect was file against this problem. Thesupport issue is #565937.
mrgronk
Beginner
183 Views

Quoting - Qale (Intel)

A defect was file against this problem. Thesupport issue is #565937.

Thanks Qale. Is there anything more I need to do at this time?
Quoc-An_L_Intel
Employee
183 Views


I'll post an update here when a fix is available.
Quoc-An_L_Intel
Employee
183 Views


This problem isresolved in the latest update version 11.1 update 3.
Reply