Brent Dax:
# Steve Fink (via RT):
# # Index: classes/default.pmc
# # ===================================================================
# # RCS file: /home/perlcvs/parrot/classes/default.pmc,v
# # retrieving revision 1.17
# # diff -a -u -r1.17 default.pmc
# # --- classes/default.pmc     25 Apr 2002 21:35:16 -0000      1.17
# # +++ classes/default.pmc     14 May 2002 22:05:24 -0000
# # @@ -41,6 +41,8 @@
# #      * the garbage collector.
# #      */
# #     PMC* mark (PMC *end_of_used_list) {
# # +       internal_exception(INTERNAL_PANIC, "custom_mark flag 
# # set but no custom mark routine defined\n");
# # +        return NULL;
# #     }
# #  
# #     INTVAL get_integer () {
# 
# I suggest that you use the PANIC() macro instead of 
# internal_exception().  PANIC() prints the C file and line 
# number, a ton of configuration info, and a message saying 
# that you should contact p6i unless you did something in the 
# internals that might have caused the panic.  (It will also 
# eventually make Parrot dump core so you can figure out what 
# went wrong.)

I know I shouldn't reply to myself, but I thought I should include an
example.  :^)

I commented out lines 26 and 36 in embed.c (calls to init_world()),
recompiled, and got...

  C:\brent\Visual Studio Projects\Perl 6\parrot\parrot>parrot
  Parrot VM: PANIC: Null vtable used!
  C file pmc.c, line 49
  Parrot file (not available), line 0
  
  We highly suggest you notify the Parrot team if you have not been
working on
  Parrot.  Use bugs6.perl.org or send an e-mail to
[EMAIL PROTECTED]
  Include the entire text of this error message and the text of the
script that
  generated the error.  If you've made any modifications to Parrot,
please
  describe them as well.
  
  Version     : 0.0.5-devel
  Configured  : Tue May 14 00:21:19 2002
  Architecture: i386-nojit
  JIT Capable : No
  
  Interp Flags: 0x0
  Exceptions  : (missing from core)
  
  Dumping core...
  
  Sorry, coredump is not yet implemented for this platform.

FYI, pmc.c line 49 and the surrounding bits look like:

    if (!pmc->vtable || !pmc->vtable->init) {
        /* This is usually because you either didn't call init_world
early 
         * enough or you added a new PMC class without adding 
         * Parrot_(classname)_class_init to init_world. */
        PANIC("Null vtable used");
        return NULL;
    }

--Brent Dax <[EMAIL PROTECTED]>
@roles=map {"Parrot $_"} qw(embedding regexen Configure)

blink:  Text blinks (alternates between visible and invisible).
Conforming user agents are not required to support this value.
    --The W3C CSS-2 Specification

Reply via email to