Here is the stacktrace:
 Message: '' is a list, not  a string.
       at jess.Value.a(Unknown Source)
       at jess.Value.a(Unknown Source)
       at jess.Value.a(Unknown Source)
       at jess.Value.stringValue(Unknown Source)
       at jess.Value.symbolValue(Unknown Source)
       at jess.dx.call(Unknown Source)
       at jess.ac.a(Unknown Source)
       at jess.Funcall.execute(Unknown Source)
       at jess.FuncallValue.resolveValue(Unknown Source)
       at jess.ce.call(Unknown Source)
       at jess.ac.a(Unknown Source)
       at jess.Funcall.execute(Unknown Source)
       at jess.FuncallValue.resolveValue(Unknown Source)
       at jess.f4.call(Unknown Source)
       at jess.ac.a(Unknown Source)
       at jess.Funcall.execute(Unknown Source)
       at jess.FuncallValue.resolveValue(Unknown Source)
       at jess.cu.a(Unknown Source)
       at jess.cu.call(Unknown Source)
       at jess.ac.a(Unknown Source)
       at jess.Funcall.execute(Unknown Source)
       at jess.FuncallValue.resolveValue(Unknown Source)
       at jess.i.call(Unknown Source)
       at jess.ac.a(Unknown Source)
       at jess.Funcall.execute(Unknown Source)
       at jess.Defrule.a(Unknown Source)
       at jess.Activation.a(Unknown Source)
       at jess.en.a(Unknown Source)
       at jess.en.a(Unknown Source)
       at jess.Rete.if(Unknown Source)
       at jess.Rete.run(Unknown Source)
       at hunterai.HunterAIClient.gameUpdate(HunterAIClient.java:156)
       at eisbot.proxy.JNIBWAPI.gameUpdate(JNIBWAPI.java:795)
       at eisbot.proxy.JNIBWAPI.startClient(Native Method)
       at eisbot.proxy.JNIBWAPI.start(JNIBWAPI.java:597)
       at hunterai.HunterAIClient.start(HunterAIClient.java:102)
       at hunterai.HunterAIClient.main(HunterAIClient.java:42)

The first line in my code that the trace lists is where I run the engine
from my Java application:

       engine.run();


Hunter

On Mon, Mar 12, 2012 at 11:40 AM, Friedman-Hill, Ernest
<ejfr...@sandia.gov>wrote:

>  Hmmm. If that's the whole error message, then the error should be
> occurring executing that "foreach" function, not a function nested inside
> it; otherwise there would be more context information. But "foreach"
> doesn't try to coerce anything into a string, so that doesn't make sense.
>
>  Inside your catch block,  do this:
>
>  (?ERROR printStackTrace)
>
>  And show us what you get; that should narrow it down quite a bit.
>
>
>   From: Hunter McMillen <mcmil...@gmail.com>
> Reply-To: <jess-users@sandia.gov>
> Date: Fri, 9 Mar 2012 23:10:06 -0500
> To: <jess-users@sandia.gov>
> Subject: JESS: [EXTERNAL] Jess exception: ' ' is a list, not a string
>
>  I am receiving the error in the subject line when one of my rules is
> firing. I can't seem to find any other forum posts about it, here is my
> rule:
>
>  (defrule build-supply-depot
> (minerals (value ?x&:(> ?x 100)))
> =>
> (try
> (foreach ?u (?*bwapi* getMyUnits)
> (if (= (?u getTypeID) ?*SCV_ID*) then
> (bind ?p (call get-next-build-tile()))
> (call ?*bwapi* drawCircle ?p.x ?p.y 100 111 FALSE FALSE)
> (call ?*bwapi* build (?u getID) ?p.x ?p.y
> (UnitType$UnitTypes.Terran_Supply_Depot ordinal))
> (break)))
> catch
> (printout t (call ?ERROR toString) crlf)
> )
> )
>
>  and here is the exact error message:
>
>          while executing (foreach ?u (call ?*bwapi* getMyUnits)
>                                    (if (= (call ?u getTypeID) ?*SCV_ID*)
> then
>                                    (bind ?p (call get-next-build-tile ))
>                                    (call ?*bwapi* drawCircle ?p.x ?p.y 100
> 111 FALSE FALSE)
>                                    (call ?*bwapi* build (call ?u getID)
> ?p.x ?p.y (UnitType$UnitTypes.Terran_Supply_Depot ordinal))
>                                    (break))).
>
>    Message: '' is a list, not  a string.
>
>  But the error doesn't give me a line number.
>
>  Any help would be appreciated.
> Thanks,
> Hunter McMillen
>

Reply via email to