Failed invoking <symbol>

I am trying to debug my app but got :

Failed invoking <symbol>
1 //
Unexpected Type Error

even under the eclipse environment, I only got that. no stack trace,
what can I do ?
  • If you run the failing code on a physical device, the resulting error file will contain a stack trace. It's a slow work around to a bug in the SDK Eclipse plugin but might save you some pain.
  • If you run the failing code on a physical device, the resulting error file will contain a stack trace. It's a slow work around to a bug in the SDK Eclipse plugin but might save you some pain.


    thanks, already done that, and find this one by this !
    now in my app from stor (so no debug info), I only got a CIQ_LOG.YML where the stack got me nowhere !
  • Using the debug.xml (it's in the .iq file you sent to the store) you can often use the pc values in the ciq_log.yml to see where something happened.
  • jim_m_58 , In my case, using debug.xml, the location seem on this line :
    System.println("onHold");

    from :
    // hold to reset timer
    function onHold() {
    System.println("onHold");
    if (Attention has :vibrate) {
    var vibe = [new Attention.VibeProfile( 50, 100 )];
    Attention.vibrate(vibe);
    }
    //TODO: resetTimer();
    return true;
    }


    here is my log :

    ---
    Error: Too Many Arguments Error
    Details: 'Failed invoking <symbol>'
    Time: 2019-03-16T17:00:43Z
    Part-Number: 006-B2700-00
    Firmware-Version: '6.10'
    Language-Code: fre
    ConnectIQ-Version: 3.0.9
    Store-Id: 15419195-cd1e-4bf8-9c43-e18ea607c91f
    Store-Version: 3
    Filename: D825EB04
    Appname: Rcherie
    Stack:
    - pc: 0x10000204
    - pc: 0x30001d39
    - pc: 0x30001f00


    and from debug, the closest lines are :
    <entry filename="/Volumes/home/garmin/archery/source/archeryDelegate.mc" id="14" lineNum="156" pc="268435974" symbol="onHold"/>
    <entry filename="/Volumes/home/garmin/archery/source/archeryDelegate.mc" id="14" lineNum="157" pc="268435997"


    So i can't understand where is the problem !
    any help ?


  • The pc value for onHold (268435974) is the the address of the first byte of onHold code. This value is larger than (comes after) the current pc value (0x10000204 => 268435972) by 2. You need to find the entry with the entry with the nearest pc value that is less than or equal to the current pc value to find the offending function.

    We are working on fixes to improve the debugging output in eclipse. This should improve significantly soon.
  • Travis.ConnectIQ This evening I got this error :

    ---
    Error: Too Many Arguments Error
    Details: 'Failed invoking &lt;symbol&gt;'
    Time: 2019-03-18T18:00:48Z
    Part-Number: 006-B2700-00
    Firmware-Version: '6.10'
    Language-Code: fre
    ConnectIQ-Version: 3.0.9
    Filename: D825EB04
    Appname: Rcherie
    Stack:
    - pc: 0x100023fa
    File: 'C:\data\workspace\garmin\archery\source\archeryDelegate.mc'
    Line: 156
    Function: onHold
    - pc: 0x30001d39
    - pc: 0x30001f00


    here is the code :
    // hold to reset timer
    function onHold() {
    System.println("onHold");
    if (Attention has :vibrate) {
    var vibe = [new Attention.VibeProfile( 50, 100 )];
    Attention.vibrate(vibe);
    }
    //TODO: resetTimer();
    return true;
    }


    the offending line is "System.println ...." ! so I don't understand !
  • It looks like Jim answered this over in your other post. The problem is that your onHold function needs to take a parameter. The app crashes in system code because the system tries to invoke onHold() with a WatchUi.ClickEvent parameter, but the function you provide doesn't take one.
  • Thanks Travis.ConnectIQ for your explaination. Now my problem is to understand why it's trigger spuriously (after I've correct the parameters)
  • If you think it might be a bug, feel free to send us a test case (follow the directions in this post). Chances are good that we'll be able to figure it out pretty quickly.

    Travis