# New Ticket Created by Geoffrey Broadwell # Please include the string: [perl #49972] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=49972 >
--- osname= linux osvers= 2.6.22.10 arch= i486-linux-gnu-thread-multi cc= cc --- Flags: category=core severity=low ack=no --- The error message from parrot when there is a spelling mismatch between a function call and the function's actual declaration is accurate but confusing: ***** $ cat > foob.pir .sub main :main foo() .end .sub foob print "Hello\n" .end $ ./parrot foob.pir Null PMC access in invoke() current instr.: 'main' pc 7 (foob.pir:2) ***** Of course, once you've seen this error message once or twice, you won't soon forget the diagnosis. For the sake of beginners however it would be nice to add a hint to the message, for example: "Null PMC access in invoke(); misspelled sub name in function call?" And a similar hint for method calls as well, I suppose. -'f --- Summary of my parrot 0.5.2 (r24923) configuration: configdate='Thu Jan 17 00:08:44 2008 GMT' Platform: osname=linux, archname=i486-linux-gnu-thread-multi jitcapable=1, jitarchname=i386-linux, jitosname=LINUX, jitcpuarch=i386 execcapable=1 perl=/usr/bin/perl Compiler: cc='cc', ccflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHASATTRIBUTE_CONST -DHASATTRIBUTE_DEPRECATED -DHASATTRIBUTE_FORMAT -DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL -DHASATTRIBUTE_NORETURN -DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED -DHASATTRIBUTE_WARN_UNUSED_RESULT -falign-functions=16 -mno-accumulate-outgoing-args -W -Wall -Waggregate-return -Wbad-function-cast -Wc++-compat -Wcast-align -Wcast-qual -Wchar-subscripts -Wcomment -Wdeclaration-after-statement -Wdisabled-optimization -Wextra -Wformat-nonliteral -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Wimport -Winit-self -Winline -Winvalid-pch -Wmain -Wmissing-braces -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wmissing-prototypes -Wnested-externs -Wno-endif-labels -Wno-shadow -Wno-unused -Wnonnull -Wpacked -Wparentheses -Wpointer-arith -Wreturn-! type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Wtrigraphs -Wundef -Wunknown-pragmas -Wvariadic-macros -Wwrite-strings', Linker and Libraries: ld='cc', ldflags=' -L/usr/local/lib', cc_ldflags='', libs='-ldl -lm -lpthread -lcrypt -lrt -lgmp -lreadline' Dynamic Linking: share_ext='.so', ld_share_flags='-shared -L/usr/local/lib -fPIC', load_ext='.so', ld_load_flags='-shared -L/usr/local/lib -fPIC' Types: iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4, ptrsize=4, ptr_alignment=1 byteorder=1234, nv=double, numvalsize=8, doublesize=8 --- Environment: HOME =/home/geoff LANG =en_US.UTF-8 LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH =/home/geoff/svk/parrot:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games SHELL =/bin/bash