Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

Internal error: 0_1428

mrgronk
Beginner
620 Views
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
Honored Contributor III
620 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.
0 Kudos
mrgronk
Beginner
620 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.
0 Kudos
Quoc-An_L_Intel
Moderator
620 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$
0 Kudos
mrgronk
Beginner
620 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.
0 Kudos
Quoc-An_L_Intel
Moderator
620 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$


0 Kudos
Quoc-An_L_Intel
Moderator
620 Views

A defect was file against this problem. Thesupport issue is #565937.
0 Kudos
mrgronk
Beginner
620 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?
0 Kudos
Quoc-An_L_Intel
Moderator
620 Views

I'll post an update here when a fix is available.
0 Kudos
Quoc-An_L_Intel
Moderator
620 Views

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