Home AMX User Forum NetLinx Modules & Duet Modules

Help! Memory leakage in Iport module

Hi!

Sorry for a bad english.

I have an a greate trouble thith Sonance NeLinx iport module, then im`e using tracks, named in russian.
If all tracks named in english, all working well, but then i`me trying to play, stop or list forward- backvward tracks, named in russian, i have an eror like this:

Line 47 :: Ref Error ? Index to large - 14:41:38
Line 48 :: DoNumberExpression - Error 2 Tk=0x2010 - 14:41:38
Line 49 :: GetNumber - Error 1 Tk=0x0000 - 14:41:38
Line 50 :: GetReference - Error Tk=0x2000 Add=0x09941C - 14:41:38
Line 51 :: DoNumberExpression - Error 1 Tk=0x301A - 14:41:38
Line 52 :: GetNumber - Error 1 Tk=0x0000 - 14:41:38
Line 53 :: RunCode - Address Mismatch 0x4050 0x09941E 0x099428 - 14:41:38
Line 54 :: Memory Available = 1978952 <10120> - 14:42:38
Line 55 :: Memory Available = 1968032 <10920> - 14:42:42
Line 56 :: Memory Available = 1957368 <10664> - 14:42:46
....

Line 229 :: CHeap::New - Insufficient memory for alloc! Task=tInterpreter) - 14:54:07
Line 230 :: CHeap::New - Error (Task=tInterpreter) - 14:54:07
Line 231 :: RunCode - DevUnion Allocation failed - 14:54:07

My system consist of:
Ni-4100
6xMioR4`s
2xMVP8400

Have an opinion?


Tnx!

Comments

  • iPort module

    There was a similar issue to this in an older version of the iPort Netlinx module. Which version of the module are you currently using? If needed, I can send you version 3.2 which works well with the R4 devices.
  • the8thstthe8thst Posts: 470
    JonnyAMX wrote: »
    There was a similar issue to this in an older version of the iPort Netlinx module. Which version of the module are you currently using? If needed, I can send you version 3.2 which works well with the R4 devices.

    I might be dumb, but I can't find version 3.2 on the website.

    Could you send it to me as well because I am having some issues with an R4 install?

    Thanks
    the8thst@gmail.com
  • Nope, you are not dumb. I have 1 little last thing I need to do to it before I release it to the web so v3.2 is beta and final release will be v3.21.

    I will send you v3.2 shortly.
  • the8thstthe8thst Posts: 470
    JonnyAMX wrote: »
    Nope, you are not dumb.

    That is debatable on certain days...

    Thanks for the email.
  • EugenKoEugenKo Posts: 3
    JonnyAMX wrote: »
    There was a similar issue to this in an older version of the iPort Netlinx module. Which version of the module are you currently using? If needed, I can send you version 3.2 which works well with the R4 devices.

    I`me tryed 2.0 and 3.0 with similar results.
    My e-mail eugen@pccenter.ru

    Thank You!
  • pillboxpillbox Posts: 7
    Bug in UnicodeLib.axi

    I F**k with this error about week

    There is a BUG!!! in UnicodeLib.axi
    You need to add some checks to WC_DECODE function in UTF8 section:

    When this funcion get broken (cutted) 2 or 3-byte UTF-8 symbol for decode you have a problem with "cData[lPos+1]" & "cData[lPos+2]"

    // 0x80-0x7FF (2^11), encode as 2 bytes
    // 0xC2 0x80 -> 0x0080
    // 0xDF 0xBF -> 0x07FF
    ACTIVE (nChar <= $DF):

    //add by pillbox
    if (lPos+1<=LENGTH_ARRAY(cData))
    //end pillbox

    {
    nChar = TYPE_CAST(nChar & $1F) // grab lower 5 bits (110xxxxx)
    nChar = TYPE_CAST(nChar << 6) // shift those 5 bits up leaving room for 6 more bits
    nChar = nChar + TYPE_CAST(cData[lPos+1] & $3F) // add 6 bits from next byte (10xxxxxx)
    wcOut[lCharsOut] = TYPE_CAST(nChar)
    lPos++ // skip one byte
    } else BREAK

    // 0x800-0xFFFF (2^16), encode as 3 bytes
    // 0xE0 0xA0 0x80 -> 0x0800
    // 0xEF 0xBF 0xBF -> 0xFFFF
    ACTIVE (1):

    //add by pillbox
    if (lPos+2<=LENGTH_ARRAY(cData))
    //end pillbox

    {
    nChar = TYPE_CAST(nChar & $0F) // grab lower 4 bits (1110xxxx)
    nChar = TYPE_CAST(nChar << 12) // shift those 4 bits up leaving room for 12 more bits
    nChar = nChar + TYPE_CAST((cData[lPos+1] & $3F) << 6) // add 6 bits from next byte (10xxxxxx)
    nChar = nChar + TYPE_CAST(cData[lPos+2] &$3F) // add 6 bits from next next byte (10xxxxxx)
    wcOut[lCharsOut] = TYPE_CAST(nChar)
    lPos = lPos + 2 // skip two bytes
    }else BREAK
  • EugenKoEugenKo Posts: 3
    pillbox wrote: »
    I F**k with this error about week

    There is a BUG!!! in UnicodeLib.axi
    You need to add some checks to WC_DECODE function in UTF8 section:

    When this funcion get broken (cutted) 2 or 3-byte UTF-8 symbol for decode you have a problem with "cData[lPos+1]" & "cData[lPos+2]"

    All working Fine now!

    Thank you, it was a very helpful!
Sign In or Register to comment.