Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0004560OCamlCaml lightpublic2008-06-04 06:422012-02-02 15:19
Reporterpalomer 
Assigned To 
PrioritynormalSeveritycrashReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version3.09.1 
Target VersionFixed in Version3.10.3+dev 
Summary0004560: Segfault in object system
DescriptionThe following program segfaults in ocamlc.opt version 3.09. It has been verified by others

class c1 =
object (self)
 method b =
 object
   method c =
     object
       method d = self # b
     end
 end
end

class c2 =
object
 inherit c1
 method a = ()
end

let _ = new c2 # b
let _ = new c1 # b # c # d
TagsNo tags attached.
Attached Files

- Relationships
related to 0003576closed ocaml Oo features produces segfaults 
has duplicate 0004561closed Another OO segfault 

-  Notes
(0004512)
garrigue (manager)
2008-06-04 09:32

PR#3576 was not completely solved. Namely, method ids were correctly handled
only when they were coming from the immediately enclosing class, without
extra nesting.
The problem here is that, since method ids do not appear in the typing
environment, there is no clean way to check for which ones are bound.
The solution aopted here is to use a reference, adding method ids when
private method calls are done, and removing them when a class defines them.

- Issue History
Date Modified Username Field Change
2008-06-04 06:42 palomer New Issue
2008-06-04 08:11 garrigue Relationship added related to 0003576
2008-06-04 09:32 garrigue Status new => closed
2008-06-04 09:32 garrigue Note Added: 0004512
2008-06-04 09:32 garrigue Resolution open => fixed
2008-06-04 09:32 garrigue Fixed in Version => 3.10.3+dev
2008-06-04 09:33 garrigue Relationship added has duplicate 0004561
2012-02-02 15:19 protz Category Caml-light => Caml light


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker