gwt - GWTP Invalid attempt to reveal errorplace, but then works normally -


i have couple of places set up, , work correctly, except delay caused issue. they're using nested presenters. 1 place, appears repeat attempt load causes infinite loop of reveal error / unauthorized place (no idea why, no gatekeeper set), loads page correctly. issue have delay , unnecessary log spam causes - loads page correctly, why can't without going through loop first? have ideas?

-- update --

i using gwtp 1.4 gwt 2.7.0, project first created using gwtp 0.6 or maybe earlier. we've updated deprecation etc we've upgraded, know there anachronisms left.
tried switching out our clientplacemanager default, bound errorplace , unauthorizedplace our home page, , removed gatekeeper, still tries go error place (overrode revealerrorplace method , noticed it's throwing error valid token had been loaded @ least once session. 1 page in particular, none of presenter lifecycle phases firing, though presenter visible (only breaking in firefox think). don't understand it.

-- update 2 --

i've removed gatekeepers (even specifying @nogatekeeper), have ensured error / unauthorized place have @nogatekeeper , exists, , overrode revealplace(request, updateurl) output results, , added try/catch - , exact same thing. infinite loop, accessible. debug output shows attempting reveal error place, never does, errors out. frustrating no end.

stacktrace:

severe: exception caught: encountered repeated errors resulting in infinite  loop. make sure users have access pages revealed revealerrorplace  , revealunauthorizedplace. (note default implementations call  revealdefaultplace) com.google.gwt.event.shared.umbrellaexception: exception caught:  encountered repeated errors resulting in infinite loop. make sure users  have access pages revealed revealerrorplace ,  revealunauthorizedplace. (note default implementations call  revealdefaultplace)     @ unknown.fillinstacktrace_0_g$(student-0.js@36:10580)     @ unknown.throwable_3_g$(student-0.js@8:10535)     @ unknown.exception_3_g$(student-0.js@18:10678)     @ unknown.runtimeexception_3_g$(student-0.js@18:61481)     @ unknown.umbrellaexception_3_g$(student-0.js@25:133542)     @ unknown.umbrellaexception_5_g$(student-0.js@26:133603)     @ unknown.fireevent_7_g$(student-0.js@13:133134)     @ unknown.fireevent_12_g$(student-0.js@22:154354)     @ unknown.fire_8_g$(student-0.js@17:132936)     @ unknown.firevaluechangedevent_0_g$(student-0.js@3:154358)     @ unknown.onhashchanged_0_g$(student-0.js@29:154297)     @ unknown.apply_0_g$(student-0.js@28:109006)     @ unknown.entry0_0_g$(student-0.js@16:109062)     @ unknown.anonymous(student-0.js@14:109042) caused by: java.lang.runtimeexception: encountered repeated errors resulting in  infinite loop. make sure users have access pages revealed  revealerrorplace , revealunauthorizedplace. (note default  implementations call revealdefaultplace)     @ unknown.fillinstacktrace_0_g$(student-0.js@36:10580)     @ unknown.throwable_2_g$(student-0.js@8:10526)     @ unknown.exception_2_g$(student-0.js@18:10672)     @ unknown.runtimeexception_2_g$(student-0.js@18:61475)     @ unknown.starterror_0_g$(student-0.js@11:92009)     @ unknown.error_2_g$(student-0.js@8:91772)     @ unknown.dorevealplace_0_g$(student-0.js@10:91762)     @ unknown.revealplace_1_g$(student-0.js@8:91921)     @ unknown.revealplace_0_g$(student-0.js@8:91908)     @ unknown.revealerrorplace_1_g$(student-0.js@8:92109)     @ unknown.error_2_g$(student-0.js@8:91773)     @ unknown.dorevealplace_0_g$(student-0.js@10:91762)     @ unknown.handletokenchange_0_g$(student-0.js@12:91848)     @ unknown.onvaluechange_4_g$(student-0.js@8:91888)     @ unknown.dispatch_87_g$(student-0.js@16:132968)     @ unknown.dispatch_88_g$(student-0.js@8:132972)     @ unknown.dispatch_0_g$(student-0.js@8:49973)     @ unknown.dispatchevent_2_g$(student-0.js@14:133006)     @ unknown.dofire_0_g$(student-0.js@9:133250)     @ unknown.fireevent_8_g$(student-0.js@8:133323)     @ unknown.fireevent_7_g$(student-0.js@25:133128)     @ unknown.fireevent_12_g$(student-0.js@22:154354)     @ unknown.fire_8_g$(student-0.js@17:132936)     @ unknown.firevaluechangedevent_0_g$(student-0.js@3:154358)     @ unknown.onhashchanged_0_g$(student-0.js@29:154297)     @ unknown.apply_0_g$(student-0.js@28:109006)     @ unknown.entry0_0_g$(student-0.js@16:109062)     @ unknown.anonymous(student-0.js@14:109042) 

if you're using defaultplacemanager, make sure have bound defaultplace, errorplace , unauthorizedplace presenter name tokens in gin module. defaultplacemanager's javadoc (http://arcbees.github.io/gwtp/javadoc/apidocs/com/gwtplatform/mvp/client/proxy/defaultplacemanager.html):

important! if use class, don't forget bind defaultplace, errorplace , unauthorizedplace presenter name tokens in gin module.

note: default, error , unauthorized places revealed without updating browser's url (hence false value passed in revealplace). avoid stepping infinite navigation loop if user navigates (using browser's button).

here's example of infinite navigation loop want avoid:

an unauthenticated hits #admin (a place reserved authenticated admins) #unauthorized place revealed, , browser's url updated #unauthorized user clicks button in browser, lands in #admin, #unauthorized, #admin, , on.

also, https://github.com/arcbees/gwtp/issues/296:

verify interface of proxy in presenter inherit proxyplace.


Comments

Popular posts from this blog

tcpdump - How to check if server received packet (acknowledged) -