27

Alt text

What is R6003, R6009, ^@, ^C, ^A etc?

I don't understand the page.

4
  • 15
    Looks like the cat couldn't handle it. Jul 12, 2010 at 16:01
  • 7
    A simple Google of R6003 and R6009 reveals that they are both runtime errors; one is integer divide by 0, the other is not enough space for environment. I'll leave it up to you to decide which is which. The carat-prefixed symbols are control codes that were converted to ascii text. ^M is a newline, for example. Basically... it's a type of messed up error you might get trying to read a stack trace while doing some old sk00l hacking.
    – Randolpho
    Jul 12, 2010 at 16:18
  • @Randolpho: Where do these names (like R6003 etc) come from?
    – Moeb
    Jul 12, 2010 at 17:44
  • 2
    @Lance: It's still workin on ur problemz. Jul 12, 2010 at 23:06

4 Answers 4

36

This is roughly what you'd see when you open an old MS-DOS program (.exe) in a text editor. They scrolled the page until something recognizable showed up. Which are the runtime errors that the Microsoft C-runtime can show when it has to abort the program due to an unrecoverable error. Like a stack overflow.

The editor has a bit of trouble with some of the bytes in the file that are control codes in ASCII. Showing them with a ^ followed by a letter that's the code + 0x40, an old convention. So ^@ is 0x00, ^A is 0x01, ^C is 0x03, ^M is 0x0D (carriage return), etcetera. It displays 0x0A as-is, interpreted as a line-feed that terminates the line. Which gives clues to the editor's origin; it is a Unix editor. One way in which Unix and DOS/Windows are famously incompatible, a line-ending in Unix is "\n", but it is "\r\n" in Windows. Noted by @badp, the color scheme suggests gedit was used.

Some of the runtime errors are still defined in modern Windows C/C++ programs that were built with Microsoft's C compiler. Like R6018. But not a stack overflow any more; that's handled by the operating system today. Exception code 0xC00000FD, STATUS_STACK_OVERFLOW. Don't bother sending the error report to Microsoft; they already have a billion of them.

1
  • Those look like gedit themes.
    – badp
    Oct 9, 2010 at 13:12
10

Ages ago, error codes were defined in file cmsgs.h for Microsoft's C compiler. I am talking DOS here...

I am not sure if this is the correct reference, but it is anyhow close.

/***
*cmsgs.h - runtime errors
*
*       Copyright (c) 1990-1997, Microsoft Corporation. All rights reserved.
*
*Purpose:
*       The file defines, in one place, all error message strings used within
*       the C run-time library.
*
*       [Internal]
*
****/

#if _MSC_VER > 1000
#pragma once
#endif  /* _MSC_VER > 1000 */

#ifndef _INC_CMSGS
#define _INC_CMSGS

#ifndef _CRTBLD
/*
 * This is an internal C runtime header file. It is used when building
 * the C runtimes only. It is not to be used as a public header file.
 */
#error ERROR: Use of C runtime library internal header file.
#endif  /* _CRTBLD */

/*
 * runtime error and termination messages
 */

#ifdef _MAC
#define EOL "\n"
#else  /* _MAC */
#define EOL "\r\n"
#endif  /* _MAC */

#define _RT_STACK_TXT      "R6000" EOL "- stack overflow" EOL

#define _RT_FLOAT_TXT      "R6002" EOL "- floating point not loaded" EOL

#define _RT_INTDIV_TXT     "R6003" EOL "- integer divide by 0" EOL

#define _RT_SPACEARG_TXT   "R6008" EOL "- not enough space for arguments" EOL

#define _RT_SPACEENV_TXT   "R6009" EOL "- not enough space for environment" EOL

#define _RT_ABORT_TXT      "" EOL "abnormal program termination" EOL

#define _RT_THREAD_TXT     "R6016" EOL "- not enough space for thread data" EOL

#define _RT_LOCK_TXT       "R6017" EOL "- unexpected multithread lock error" EOL

#define _RT_HEAP_TXT       "R6018" EOL "- unexpected heap error" EOL

#define _RT_OPENCON_TXT    "R6019" EOL "- unable to open console device" EOL

#define _RT_NONCONT_TXT    "R6022" EOL "- non-continuable exception" EOL

#define _RT_INVALDISP_TXT  "R6023" EOL "- invalid exception disposition" EOL

/*
 * _RT_ONEXIT_TXT is specific to Win32 and Dosx32 platforms
 */
#define _RT_ONEXIT_TXT     "R6024" EOL "- not enough space for _onexit/atexit table" EOL

#define _RT_PUREVIRT_TXT   "R6025" EOL "- pure virtual function call" EOL

#define _RT_STDIOINIT_TXT  "R6026" EOL "- not enough space for stdio initialization" EOL

#define _RT_LOWIOINIT_TXT  "R6027" EOL "- not enough space for lowio initialization" EOL

#define _RT_HEAPINIT_TXT   "R6028" EOL "- unable to initialize heap" EOL

/*
 * _RT_DOMAIN_TXT, _RT_SING_TXT and _RT_TLOSS_TXT are used by the floating
 * point library.
 */
#define _RT_DOMAIN_TXT     "DOMAIN error" EOL

#define _RT_SING_TXT       "SING error" EOL

#define _RT_TLOSS_TXT      "TLOSS error" EOL


#define _RT_CRNL_TXT       EOL

#define _RT_BANNER_TXT     "runtime error "


#endif  /* _INC_CMSGS */
2

It looks like they opened a random .exe in Vim, searched for "stack overflow", and took screenshots with various colorschemes.

1

It reminds me more about the old Apple ][e, when booting, displaying a screen of random characters, with ^@ for zeroes...

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .