Can you create an issue an attach a test that shows the problem?
On Jul 24, 2012 3:29 PM, "glenviewjeff" <[email protected]> wrote:

> I looked a little more carefully and it seems that things are much worse
> than I thought.  These are more like "phantom" binding errors.  Guice is
> apparently doing some analysis at injector creation time--it's
> pre-constructing and storing in memory what appears to be all potential
> binding errors, even if the errors don't actually exist in the code.
>
> For instance, there is a binding error stored in memory in the event that
> an object is requested that was bound but not exposed in a private module
> (robot legs).  Of course, that's the whole purpose of private modules.  I
> assume Guice does this because once the injector is created, it never wants
> to look at the modules again, but needs to have the error available in case
> someone tries to access a private unexposed object?
>
> I guess it ends up that I don't want a strict error checking mode, I
> actually want a "release mode" or something, where Guice doesn't construct
> these "errors"!
>
> I'm not sure if this would even be possible, but better yet would be to
> fix Guice so that upon binding error, it could recreate the injector
> (re-parsing the modules, etc.) to find the cause of the error.
>
> On Tuesday, July 24, 2012 2:05:08 PM UTC-5, glenviewjeff wrote:
>>
>> I started doing a memory analysis of my Android app and was quite
>> surprised to find that in memory there were a bunch of Java strings holding
>> binding errors inside a child injector.  These errors are apparently not
>> reported upon injector creation.  I wrote unit tests for the erroneous
>> bindings and as expected, they caused a runtime binding error.
>>
>> It looks like the errors are stored in memory after constructing the
>> injector but only thrown when a client object requests that the erroneous
>> object is be injected.  My integration tests somehow didn't pick up these
>> binding errors and the errors are wasting significant runtime memory.
>>
>> Running and poking around through memory dumps is not a terribly feasible
>> way to find these.  Is there a strict error checking/reporting feature for
>> Guice to give me the information on all broken bindings at the time the
>> injector is created?  Is there a reason this isn't the default behavior?
>>
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "google-guice" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-guice/-/SH0BfcTZ6zYJ.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/google-guice?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en.

Reply via email to