Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: strange error message

by esr (Scribe)
on Aug 22, 2008 at 02:41 UTC ( #706042=note: print w/ replies, xml ) Need Help??


in reply to strange error message

No I can't send code that reproduces the problem because it is not reproducable at will. It has happened once (so far) and in a line of code some 200 lines past any changes I made to the program. It has all the earmarks of something earlier leaving a turdlet lying around and the later code is stepping in it. Besides, it appears that this error also caused the Perl interpreter/compiler to blow up. The Windows Event Viewer shows application errors for perl.exe with the description "Fault bucket".
However, for whatever help it might be the line which was attributed to the error is the last in this sequence:

@sess_funcs = ("F1E","F1W","F1N","F1S"); @v_funcs = ("$oev_code","$oevc_code"); @eprep_funcs = ("$oe_e","$e_e"); @ev_funcs = (@sess_funcs,@v_funcs,@eprep_funcs);
The last block of code added to the program was some 200 lines earlier:
if (! $date_to_use) { $msg = "Enter or confirm the date to schedule. \n"; while (! $date_to_use) { $msg .= " (mmmdd, mmmd, or mmm dd)\.\n"; $intext = $excel->InputBox("$msg","Enter date","$assumed_date" +); go_away(16,"Quitting as requested\.") if ($intext eq "0"); $date_to_use = check_date($intext); $msg = "Date error. Re-enter.\n" if (! $date_to_use); } }
What I am trying to understand it what is meant by trying to "coerce UNKNOWN" and what a "gv" is. I can guess that "gv" might be a global variable but I don't know that.
A Google search for the string "coerce UNKNOWN" shows other people seeing a similar message but I don't see any explanation for what it means.


Comment on Re: strange error message
Select or Download Code
Re^2: strange error message
by Anonymous Monk on Aug 22, 2008 at 08:33 UTC
    From perldiag
    Can't coerce %s to string in %s (F) Certain types of SVs, in particular real symbol table entries (typ +eglobs), can't be forced to stop being what they are.
    So I'm guessing its a bug in InputBox (whatever that is), or if one of the variables is overloaded, in one of them

      And since this error message template was instantiated as

      Can't coerce UNKNOWN to string in gv at sked.test.pl line 486

      esr would be well advised to search the program text for the strings UNKNOWN and gv.

      Later

      ... or to wait for a better-informed response. Thanks, dave_the_m.

        The "UNKNOWN" means that the SV being stringified was not a valid type - so either its a freed SV, or a corrupted SV. Which means it's either a bug in perl or some XS code, or the OP is doing something which is known to screw up at the Perl level, like modifying an array while iterating over it or using it as function arg.

        Dave.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://706042]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (3)
As of 2014-10-02 08:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    What is your favourite meta-syntactic variable name?














    Results (51 votes), past polls