Thread overview
[Bug 165] gdc segfault on scope(failure)
Nov 07, 2014
Ketmar Dark
Nov 07, 2014
Ketmar Dark
Jan 24, 2015
Ketmar Dark
November 07, 2014
http://bugzilla.gdcproject.org/show_bug.cgi?id=165

Ketmar Dark <ketmar@ketmar.no-ip.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ketmar@ketmar.no-ip.org

--- Comment #1 from Ketmar Dark <ketmar@ketmar.no-ip.org> ---
further info: somehow it fails in Import::semantic(), where it checks for
'aliasdecls'. with 'scope(failure)' is sees *two* aliases, both to the same
imported function, but the second one has it's entry in 'names[]' initialized
to garbage (1, that's it).

this is not the case for 'scope(exit)' and 'scope(success)', as semantic
analyser doesn't even hit this code path (???).

i can just comment out `mod->search_correct(names[i]);`, but it's definitely not a fix, 'cause the bug is somewhere else. there shouldn't be two aliases here to start with.

not sure if i'll have time to investigate this thing further.

-- 
You are receiving this mail because:
You are watching all bug changes.


November 07, 2014
http://bugzilla.gdcproject.org/show_bug.cgi?id=165

--- Comment #2 from Ketmar Dark <ketmar@ketmar.no-ip.org> ---
Created attachment 79
  --> http://bugzilla.gdcproject.org/attachment.cgi?id=79&action=edit
hackfix for 'aliased import' segfault

aaaah, got it! it's caused by double call to ImportStatement::semantic(). current DMD checks if there was only one call (with assertion), but i'm too lazy to track this to other places (i suspect there are alot of such 'double calls' scattered across 2.065 codebase anyway), so i just added a simple hack that bails out of analyser if it sees that something was already done.

don't know if it will cause any problems for you, but for me it at least allows to build my project successfully (and the project actually works).

not sure if it worth a "proper" fix anyway, as 2.065 codebase is soon ;-) to be replaced.

side note: seems that not so many people does aliased imports is scope guards.

-- 
You are receiving this mail because:
You are watching all bug changes.


January 24, 2015
http://bugzilla.gdcproject.org/show_bug.cgi?id=165

Ketmar Dark <ketmar@ketmar.no-ip.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |UPSTREAM

--- Comment #3 from Ketmar Dark <ketmar@ketmar.no-ip.org> ---
i just checked this, and found no segfaults anymore. i think that we can close this bug now, but i don't sure which reason to choose. seems that "resolved/upstream" is the right one. so i'm doing that.

-- 
You are receiving this mail because:
You are watching all bug changes.