HaxeFoundation / haxe

Haxe - The Cross-Platform Toolkit
https://haxe.org
6.14k stars 656 forks source link

Issue 1561 - Segfault with SPOD manager get - haxe #1561

Closed issuesbot closed 11 years ago

issuesbot commented 11 years ago

[Google Issue #1561 : https://code.google.com/p/haxe/issues/detail?id=1561] by newb999n...@gmail.com, at 26/02/2013, 21:09:09 What steps will reproduce the problem?

  1. Create SPOD table, insert object into table
  2. Try to "get" an object via its Manager, but pass in the object itself rather than the id.

What is the expected output? What do you see instead? I expected an uncaught exception perhaps. Instead, I get a segfault.

Please complete the following class with minimal code reproducing the problem :

class Test {
    static function main() {
        var id = Object.manager.select( { someKey : 'a value' } );
        var obj = Object.manager.get( id ); // id is erroneously the object itself
        }
    }

Please provide any additional information below. ubuntu haxe3

issuesbot commented 11 years ago

[comment from ncanna...@gmail.com, published at 27/02/2013, 21:32:12] Could you provide a fully reproducible example ? Also, does the error occurs at compile time or at runtime ?

issuesbot commented 11 years ago

[comment from newb999n...@gmail.com, published at 27/02/2013, 22:26:36] I'm sorry I don't remember exactly what I did. The change was lost in-between commits. Taking a second to think, I realize that the example I gave was ridiculous and would never compile anyway.

But I remember that the segfault occurs at runtime (doing neko mytest.n) , by way of the neko TestRunner, the web Dispatch, and 2 C functions (I have no idea what's the deal with the C functions).

Sorry I can't be more help. Feel free to close this issue.

issuesbot commented 11 years ago

[comment from ncanna...@gmail.com, published at 27/02/2013, 22:50:24] Might have been a stack overflow caused by some tricky recursive printing. Please try to reproduce with a small example if you hit again the issue.