Hello,  
     
    We are using the luaproc idea
    (http://luaforge.net/projects/luaproc/) to implement a true
    multi-threading application using LUA. Up to now, it was working
    perfectly with LUA 5.1 and luaJIT 2.0-beta6. 
     
    In order to stay inline with the latest LUAJIT developement, i
    tested our application with LUAJIT2.0 beta8, and we are facing an
    issue (bug ?).  
     
    The symptoms :  
    
      - luaproc makes extensive use of lua_yield/lua_resume when
        exchanging messages thru channels.
 
      - After a few seconds of message exchanges, the application
        failed on a CHANNEL.receive call
 
      - I have printed the stack using the debug interface, but it
        does not display anything interesting, apart that it fails in a
        CHANNEL.receive
 
      - Internally, the CHANNEL.receive fails because the C
        lua_resume() function returns LUA_ERRRUN.
 
      - This behavior does not appear on Windows 32 bits
 
      - This behavior does not appear on Linux 64 bits when i switch
        off the LUAJIT (ie -DLUAJIT_DISABLE_JIT)
 
       
      - When i activate the assert mode WITH the LUAJIT activated, i
        get the following assert message : 
 
       
      
        - lj_api.c : 41 index2adre: Assertion 'idx != 0 &&
          -idx <= L->top - L->base' failed.
 
       
      - The same behavior happens also with luaJIT beta7.
 
       
     
    Any idea or hint on that ? 
     
    Rgds, S. FABRE 
     
    --  
    =================================
Sylvain FABRE
sylvain.fabre@inpixal.com
Fixe: 09 72 11 30 24
Mobile: 06 30 12 72 34
Fax : 09 72 11 10 71
=================================
 
  
 |