Web Deployment Problem

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Web Deployment Problem

Jerry Bell
I'm having a problem with a web applet deployment.  When the applet is
loaded in a web page, I get this error: HRESULT Error: Invalid pointer
(FACILIYT_NULL).  Crash dump is appended.

If I use a debug image, everything runs fine.  If I deploy a custom plug-in
image, everything runs fine.

I suspect this has something to do with the nature of some of these
packages- they are autogenerated IDispatch descendents.  Perhaps they aren't
being initialized correctly when they are loaded?

It is a strange situation, but I know in advance that all users of this
applet will have those specific COM components present on their system.  I
want to avoid a custom plug-in image if at all possible- my next step is to
drive everything directly through IDispatch and avoid the auto-generated
classes completely - not as pretty or fast, but it should work if that is
truly the  problem.

Thanks,

Jerry Bell
[hidden email]


****************************************************************************
****
************************** Dolphin Crash Dump Report
***************************

16:51:42 PM, 5/17/01: iexplore.exe caused an unhandled Win32 Exception
0x20000002
at 0x77F1D479 in module 0x77F00000 (C:\WINNT\system32\KERNEL32.dll)

*----> Exception Parameters <----*
0145C7AC HRESULT Error: Invalid pointer (FACILITY

*----> CPU Context for thread 0x10b <----*
EAX = 03B9FD70 EBX = 003F4B24 ECX = FFFFFFFF
ESI = 03B9FD88 EDI = FFFFFFFF EIP = 77F1D479
ESP = 03B9FD6C EBP = 03B9FDC0 EFL = 00000246
CS = 001B SS = 0023 DS = 0023
ES = 0023 FS = 0038 GS = 0000

*----> VM Context <----*
Process: {0x03C80004:suspended frame 0x03C8060D, priority 5, callbacks 0
last failure 34851970:nil, FPE mask 1, thread nil}
Active Method: VMLibrary>>crashDump:
IP: 0x003FC68E (22)
SP: 0x03C805E8
BP: 0x03C805BC (350)
ActiveFrame: {0x03C805C4: cf 0x03C805A5, sp 0x03C805D4, bp 0x03C805BC, ip
10, VMLibrary>>crashDump:}

New Method:
KernelLibrary>>raiseException:dwExceptionFlags:nNumberOfArguments:lpArgument
s:
Message Selector:
#raiseException:dwExceptionFlags:nNumberOfArguments:lpArguments:

*----> Stack <----*
[0x03C805E8: 361]-->a DWORDArray
[0x03C805E4: 360]-->1
[0x03C805E0: 359]-->0
[0x03C805DC: 358]-->536870914
[0x03C805D8: 357]-->a KernelLibrary
[0x03C805D4: 356]-->31720158
[0x03C805D0: 355]-->VMLibrary>>crashDump:
[0x03C805CC: 354]-->31720170
[0x03C805C8: 353]-->13
[0x03C805C4: 352]-->31720146
[0x03C805C0: 351]-->a DWORDArray
[0x03C805BC: 350]-->'HRESULT Error: Invalid pointer (FACILITY_NULL)'
[0x03C805B8: 349]-->a VMLibrary
[0x03C805B4: 348]-->31720144
[0x03C805B0: 347]-->PluginSessionManager>>logError:
[0x03C805AC: 346]-->31720154
[0x03C805A8: 345]-->9
[0x03C805A4: 344]-->31720132
[0x03C805A0: 343]-->a HRESULTError
[0x03C8059C: 342]-->a PluginSessionManager
[0x03C80598: 341]-->31720130
[0x03C80594: 340]-->SessionManager>>unhandledException:
[0x03C80590: 339]-->31720140
[0x03C8058C: 338]-->7
[0x03C80588: 337]-->31720118
[0x03C80584: 336]-->a HRESULTError
[0x03C80580: 335]-->a PluginSessionManager
[0x03C8057C: 334]-->31720116
[0x03C80578: 333]-->SessionManager>>onUnhandledError:
[0x03C80574: 332]-->31720126
[0x03C80570: 331]-->3
[0x03C8056C: 330]-->31720104
[0x03C80568: 329]-->a HRESULTError
[0x03C80564: 328]-->a PluginSessionManager
[0x03C80560: 327]-->31720104
[0x03C8055C: 326]-->Error>>defaultAction
[0x03C80558: 325]-->31720112
[0x03C80554: 324]-->8
[0x03C80550: 323]-->31720092
[0x03C8054C: 322]-->a HRESULTError
[0x03C80548: 321]-->a MethodContext
[0x03C80544: 320]-->Exception>>_propagateFrom:
[0x03C80540: 319]-->31720100
[0x03C8053C: 318]-->60
[0x03C80538: 317]-->31720082
[0x03C80534: 316]-->31720080
[0x03C80530: 315]-->Exception>>_propagate
[0x03C8052C: 314]-->31720090
[0x03C80528: 313]-->9
[0x03C80524: 312]-->31720066
[0x03C80520: 311]-->nil
[0x03C8051C: 310]-->a HRESULTError
[0x03C80518: 309]-->a HRESULTError
[0x03C80514: 308]-->31720066
[0x03C80510: 307]-->Exception>>pass
[0x03C8050C: 306]-->31720076
[0x03C80508: 305]-->7
[0x03C80504: 304]-->31720054
[0x03C80500: 303]-->a HRESULTError
[0x03C804FC: 302]-->[] @ 24 in DeferredValue>>evaluate:withArguments:at:
[0x03C804F8: 301]-->DeferredValue>>evaluate:withArguments:at:
[0x03C804F4: 300]-->31720062
[0x03C804F0: 299]-->34
[0x03C804EC: 298]-->31720044
[0x03C804E8: 297]-->[] @ 15 in Exception>>_evaluateHandler:in:
[0x03C804E4: 296]-->Exception>>_evaluateHandler:in:
[0x03C804E0: 295]-->31720052
[0x03C804DC: 294]-->36
[0x03C804D8: 293]-->31720030
[0x03C804D4: 292]-->[] @ 6 in BlockClosure>>ifCurtailed:
[0x03C804D0: 291]-->[] @ 15 in Exception>>_evaluateHandler:in:
[0x03C804CC: 290]-->a MethodContext
[0x03C804C8: 289]-->BlockClosure>>ifCurtailed:
[0x03C804C4: 288]-->31720042
[0x03C804C0: 287]-->20
[0x03C804BC: 286]-->31720020
[0x03C804B8: 285]-->31720016
[0x03C804B4: 284]-->BlockClosure>>ensure:
[0x03C804B0: 283]-->31720028
[0x03C804AC: 282]-->7
[0x03C804A8: 281]-->31720004
[0x03C804A4: 280]-->nil
[0x03C804A0: 279]-->[] @ 40 in Exception>>_evaluateHandler:in:
[0x03C8049C: 278]-->[] @ 15 in Exception>>_evaluateHandler:in:
[0x03C80498: 277]-->a MethodContext
[0x03C80494: 276]-->Exception>>_evaluateHandler:in:
[0x03C80490: 275]-->31720012
[0x03C8048C: 274]-->52
[0x03C80488: 273]-->31719994
[0x03C80484: 272]-->a MethodContext
[0x03C80480: 271]-->Exception>>_propagateFrom:
[0x03C8047C: 270]-->31720002
[0x03C80478: 269]-->47
[0x03C80474: 268]-->31719984
[0x03C80470: 267]-->31719982
[0x03C8046C: 266]-->Exception>>_propagate
[0x03C80468: 265]-->31719992
[0x03C80464: 264]-->9
[0x03C80460: 263]-->31719970
[0x03C8045C: 262]-->nil
[0x03C80458: 261]-->a HRESULTError
[0x03C80454: 260]-->31719970
[0x03C80450: 259]-->Exception>>signal
[0x03C8044C: 258]-->31719978
[0x03C80448: 257]-->15
[0x03C80444: 256]-->31719958
[0x03C80440: 255]-->a HRESULTError
[0x03C8043C: 254]-->31719952
[0x03C80438: 253]-->IDispatch>>hresultError:
[0x03C80434: 252]-->31719966
[0x03C80430: 251]-->31
[0x03C8042C: 250]-->31719940
[0x03C80428: 249]-->nil
[0x03C80424: 248]-->a HRESULTError
[0x03C80420: 247]-->a LargeInteger()
[0x03C8041C: 246]-->a DSServerMapIServer
[0x03C80418: 245]-->31719934
[0x03C80414: 244]-->ExternalStructure>>invalidCall
[0x03C80410: 243]-->31719948
[0x03C8040C: 242]-->17
[0x03C80408: 241]-->31719922
[0x03C80404: 240]-->nil
[0x03C80400: 239]-->a Process(DeferredValue>>evaluate:withArguments:at: base
0x03C80000 [ACTIVE] in VMLibrary>>crashDump: sp=0x03B9FB0C ip=13 list=nil)
[0x03C803FC: 238]-->a LargeInteger()
[0x03C803F8: 237]-->a DSServerMapIServer
[0x03C803F4: 236]-->31719920
[0x03C803F0: 235]-->DSServerMapIServer>>put_DocuShareAddress:
[0x03C803EC: 234]-->31719930
[0x03C803E8: 233]-->2
[0x03C803E4: 232]-->31719908
[0x03C803E0: 231]-->a BSTR
[0x03C803DC: 230]-->a DSServerMapIServer
[0x03C803D8: 229]-->31719906
[0x03C803D4: 228]-->DSServerMapIServer>>docuShareAddress:
[0x03C803D0: 227]-->31719916
[0x03C803CC: 226]-->3
[0x03C803C8: 225]-->31719894
[0x03C803C4: 224]-->'https://www.someplace.com/' (sanitized)
[0x03C803C0: 223]-->a DSServerMapIServer
[0x03C803BC: 222]-->31719884
[0x03C803B8: 221]-->EqPersonPresenter>>fetchModel
[0x03C803B4: 220]-->31719902
[0x03C803B0: 219]-->21
[0x03C803AC: 218]-->31719870
[0x03C803A8: 217]-->nil
[0x03C803A4: 216]-->nil
[0x03C803A0: 215]-->nil
[0x03C8039C: 214]-->nil
[0x03C80398: 213]-->a NPApplet
[0x03C80394: 212]-->a EqPersonPresenter
...
<60 slots omitted>
...
[0x03C802A0: 151]-->ExceptionHandlerAbstract>>try:
[0x03C8029C: 150]-->31719762
[0x03C80298: 149]-->24
[0x03C80294: 148]-->31719740
[0x03C80290: 147]-->[] @ 6 in BlockClosure>>ifCurtailed:
[0x03C8028C: 146]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[0x03C80288: 145]-->a MethodContext
[0x03C80284: 144]-->BlockClosure>>ifCurtailed:
[0x03C80280: 143]-->31719752
[0x03C8027C: 142]-->20
[0x03C80278: 141]-->31719730
[0x03C80274: 140]-->31719726
[0x03C80270: 139]-->BlockClosure>>ensure:
[0x03C8026C: 138]-->31719738
[0x03C80268: 137]-->7
[0x03C80264: 136]-->31719714
[0x03C80260: 135]-->nil
[0x03C8025C: 134]-->[] @ 34 in ExceptionHandlerAbstract>>try:
[0x03C80258: 133]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[0x03C80254: 132]-->a MethodContext
[0x03C80250: 131]-->ExceptionHandlerAbstract>>try:
[0x03C8024C: 130]-->31719722
[0x03C80248: 129]-->42
[0x03C80244: 128]-->31719704
[0x03C80240: 127]-->31719700
[0x03C8023C: 126]-->BlockClosure>>on:do:
[0x03C80238: 125]-->31719712
[0x03C80234: 124]-->10
[0x03C80230: 123]-->31719688
[0x03C8022C: 122]-->[] @ 29 in NPApplet>>startApplet
[0x03C80228: 121]-->BinaryPackageVersionError
[0x03C80224: 120]-->[] @ 15 in NPApplet>>startApplet
[0x03C80220: 119]-->a MethodContext
[0x03C8021C: 118]-->NPApplet>>startApplet
[0x03C80218: 117]-->31719696
[0x03C80214: 116]-->39
[0x03C80210: 115]-->31719678
[0x03C8020C: 114]-->[] @ 15 in NPApplet>>evaluateAttributes
[0x03C80208: 113]-->NPApplet>>evaluateAttributes
[0x03C80204: 112]-->31719686
[0x03C80200: 111]-->20
[0x03C801FC: 110]-->31719668
[0x03C801F8: 109]-->31719664
[0x03C801F4: 108]-->DeferredValue>>_evaluate:withArguments:
[0x03C801F0: 107]-->31719676
[0x03C801EC: 106]-->3
[0x03C801E8: 105]-->31719650
[0x03C801E4: 104]-->a Array
[0x03C801E0: 103]-->[] @ 15 in NPApplet>>evaluateAttributes
[0x03C801DC: 102]-->a DeferredValue
[0x03C801D8: 101]-->a DeferredValue
[0x03C801D4: 100]-->[] @ 12 in DeferredValue>>evaluate:withArguments:at:
[0x03C801D0: 99]-->DeferredValue>>evaluate:withArguments:at:
[0x03C801CC: 98]-->31719660
[0x03C801C8: 97]-->20
[0x03C801C4: 96]-->31719640
[0x03C801C0: 95]-->a MethodContext
[0x03C801BC: 94]-->ExceptionHandlerAbstract>>markAndTry
[0x03C801B8: 93]-->31719648
[0x03C801B4: 92]-->14
[0x03C801B0: 91]-->31719630
[0x03C801AC: 90]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[0x03C801A8: 89]-->ExceptionHandlerAbstract>>try:
[0x03C801A4: 88]-->31719638
[0x03C801A0: 87]-->24
[0x03C8019C: 86]-->31719616
[0x03C80198: 85]-->[] @ 6 in BlockClosure>>ifCurtailed:
[0x03C80194: 84]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[0x03C80190: 83]-->a MethodContext
[0x03C8018C: 82]-->BlockClosure>>ifCurtailed:
[0x03C80188: 81]-->31719628
[0x03C80184: 80]-->20
[0x03C80180: 79]-->31719606
[0x03C8017C: 78]-->31719602
[0x03C80178: 77]-->BlockClosure>>ensure:
[0x03C80174: 76]-->31719614
[0x03C80170: 75]-->7
[0x03C8016C: 74]-->31719590
[0x03C80168: 73]-->nil
[0x03C80164: 72]-->[] @ 34 in ExceptionHandlerAbstract>>try:
[0x03C80160: 71]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[0x03C8015C: 70]-->a MethodContext
[0x03C80158: 69]-->ExceptionHandlerAbstract>>try:
[0x03C80154: 68]-->31719598
[0x03C80150: 67]-->42
[0x03C8014C: 66]-->31719580
[0x03C80148: 65]-->31719578
[0x03C80144: 64]-->BlockClosure>>onDo:
[0x03C80140: 63]-->31719588
[0x03C8013C: 62]-->3
[0x03C80138: 61]-->31719566
[0x03C80134: 60]-->a ExceptionHandlerSet
[0x03C80130: 59]-->[] @ 12 in DeferredValue>>evaluate:withArguments:at:
[0x03C8012C: 58]-->31719558
[0x03C80128: 57]-->BlockClosure>>on:do:on:do:
[0x03C80124: 56]-->31719574
[0x03C80120: 55]-->16
[0x03C8011C: 54]-->31719546
[0x03C80118: 53]-->[] @ 37 in DeferredValue>>evaluate:withArguments:at:
[0x03C80114: 52]-->ProcessTermination
[0x03C80110: 51]-->[] @ 24 in DeferredValue>>evaluate:withArguments:at:
[0x03C8010C: 50]-->Error
[0x03C80108: 49]-->[] @ 12 in DeferredValue>>evaluate:withArguments:at:
[0x03C80104: 48]-->[] @ 8 in DeferredValue>>evaluate:withArguments:at:
[0x03C80100: 47]-->DeferredValue>>evaluate:withArguments:at:
[0x03C800FC: 46]-->31719554
[0x03C800F8: 45]-->54
[0x03C800F4: 44]-->31719536
[0x03C800F0: 43]-->a MethodContext
[0x03C800EC: 42]-->ExceptionHandlerAbstract>>markAndTry
[0x03C800E8: 41]-->31719544
[0x03C800E4: 40]-->14
[0x03C800E0: 39]-->31719526
[0x03C800DC: 38]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[0x03C800D8: 37]-->ExceptionHandlerAbstract>>try:
[0x03C800D4: 36]-->31719534
[0x03C800D0: 35]-->24
[0x03C800CC: 34]-->31719512
[0x03C800C8: 33]-->[] @ 6 in BlockClosure>>ifCurtailed:
[0x03C800C4: 32]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[0x03C800C0: 31]-->a MethodContext
[0x03C800BC: 30]-->BlockClosure>>ifCurtailed:
[0x03C800B8: 29]-->31719524
[0x03C800B4: 28]-->20
[0x03C800B0: 27]-->31719502
[0x03C800AC: 26]-->31719498
[0x03C800A8: 25]-->BlockClosure>>ensure:
[0x03C800A4: 24]-->31719510
[0x03C800A0: 23]-->7
[0x03C8009C: 22]-->31719486
[0x03C80098: 21]-->nil
[0x03C80094: 20]-->[] @ 34 in ExceptionHandlerAbstract>>try:
[0x03C80090: 19]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[0x03C8008C: 18]-->a MethodContext
[0x03C80088: 17]-->ExceptionHandlerAbstract>>try:
[0x03C80084: 16]-->31719494
[0x03C80080: 15]-->42
[0x03C8007C: 14]-->31719476
[0x03C80078: 13]-->31719472
[0x03C80074: 12]-->BlockClosure>>on:do:
[0x03C80070: 11]-->31719484
[0x03C8006C: 10]-->10
[0x03C80068: 9]-->31719460
[0x03C80064: 8]-->[] @ 12 in BlockClosure>>newProcess
[0x03C80060: 7]-->ProcessTermination
[0x03C8005C: 6]-->[] @ 8 in DeferredValue>>evaluate:withArguments:at:
[0x03C80058: 5]-->[] @ 6 in BlockClosure>>newProcess
[0x03C80054: 4]-->BlockClosure>>newProcess
[0x03C80050: 3]-->31719468
[0x03C8004C: 2]-->20
[0x03C80048: 1]-->0
<Bottom of stack>

*----> Stack Back Trace <----*
{0x03C805C4: cf 0x03C805A5, sp 0x03C805D4, bp 0x03C805BC, ip 10,
VMLibrary>>crashDump:}
{0x03C805A4: cf 0x03C80589, sp 0x03C805B4, bp 0x03C805A0, ip 6,
PluginSessionManager>>logError:}
{0x03C80588: cf 0x03C8056D, sp 0x03C80598, bp 0x03C80584, ip 4,
PluginSessionManager(SessionManager)>>unhandledException:}
{0x03C8056C: cf 0x03C80551, sp 0x03C8057C, bp 0x03C80568, ip 4,
PluginSessionManager(SessionManager)>>onUnhandledError:}
{0x03C80550: cf 0x03C80539, sp 0x03C80560, bp 0x03C80550, ip 5,
HRESULTError(Error)>>defaultAction}
{0x03C80538: cf 0x03C80525, sp 0x03C80548, bp 0x0145CB70, ip 57,
HRESULTError(Exception)>>_propagateFrom:}
{0x03C80524: cf 0x03C80505, sp 0x03C80534, bp 0x03C80520, ip 6,
HRESULTError(Exception)>>_propagate}
{0x03C80504: cf 0x03C804ED, sp 0x03C80518, bp 0x03C80504, ip 4,
HRESULTError(Exception)>>pass}
{0x03C804EC: cf 0x03C804D9, sp 0x03C804FC, bp 0x0145C1D0, ip 31, [] in
DeferredValue>>evaluate:withArguments:at:}
{0x03C804D8: cf 0x03C804BD, sp 0x03C804E8, bp 0x0145C9B0, ip 33, [] in
HRESULTError(Exception)>>_evaluateHandler:in:}
{0x03C804BC: cf 0x03C804A9, sp 0x03C804D4, bp 0x0145CB38, ip 17,
BlockClosure>>ifCurtailed:}
{0x03C804A8: cf 0x03C80489, sp 0x03C804B8, bp 0x03C804A0, ip 4,
BlockClosure>>ensure:}
{0x03C80488: cf 0x03C80475, sp 0x03C80498, bp 0x0145C9B0, ip 49,
HRESULTError(Exception)>>_evaluateHandler:in:}
{0x03C80474: cf 0x03C80461, sp 0x03C80484, bp 0x0145C978, ip 44,
HRESULTError(Exception)>>_propagateFrom:}
{0x03C80460: cf 0x03C80445, sp 0x03C80470, bp 0x03C8045C, ip 6,
HRESULTError(Exception)>>_propagate}
{0x03C80444: cf 0x03C8042D, sp 0x03C80454, bp 0x03C80444, ip 12,
HRESULTError(Exception)>>signal}
{0x03C8042C: cf 0x03C80409, sp 0x03C8043C, bp 0x03C80420, ip 28,
DSServerMapIServer(IDispatch)>>hresultError:}
{0x03C80408: cf 0x03C803E5, sp 0x03C80418, bp 0x03C803FC, ip 14,
DSServerMapIServer(ExternalStructure)>>invalidCall}
{0x03C803E4: cf 0x03C803C9, sp 0x03C803F4, bp 0x03C803E0, ip 3,
DSServerMapIServer>>put_DocuShareAddress:}
{0x03C803C8: cf 0x03C803AD, sp 0x03C803D8, bp 0x03C803C4, ip 4,
DSServerMapIServer>>docuShareAddress:}
{0x03C803AC: cf 0x03C8037D, sp 0x03C803BC, bp 0x03C80398, ip 18,
EqPersonPresenter>>fetchModel}
{0x03C8037C: cf 0x03C80361, sp 0x03C80390, bp 0x03C8037C, ip 8,
EqPersonPresenter>>onViewOpened}
{0x03C80360: cf 0x03C80339, sp 0x03C80374, bp 0x03C80350, ip 14,
EqPersonPresenter class(Presenter class)>>create:in:on:}
{0x03C80338: cf 0x03C80319, sp 0x03C80348, bp 0x03C80330, ip 8,
EqPersonPresenter class(Presenter class)>>create:in:}
{0x03C80318: cf 0x03C802ED, sp 0x03C80328, bp 0x03C80304, ip 19,
EqPersonPresenter class(Presenter class)>>show:inPlugin:}
{0x03C802EC: cf 0x03C802D1, sp 0x03C802FC, bp 0x03C802E8, ip 5,
Message>>value:}
{0x03C802D0: cf 0x03C802BD, sp 0x03C802E0, bp 0x0145C940, ip 23,
EqPersonPresenter class(ClassStub)>>doesNotUnderstand:}
{0x03C802BC: cf 0x03C802A9, sp 0x03C802CC, bp 0x0145C860, ip 21, [] in
NPApplet>>startApplet}
{0x03C802A8: cf 0x03C80295, sp 0x03C802B8, bp 0x0145C908, ip 11,
ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry}
{0x03C80294: cf 0x03C80279, sp 0x03C802A4, bp 0x0145C898, ip 21, [] in
ExceptionHandler(ExceptionHandlerAbstract)>>try:}
{0x03C80278: cf 0x03C80265, sp 0x03C80290, bp 0x0145C8D0, ip 17,
BlockClosure>>ifCurtailed:}
{0x03C80264: cf 0x03C80245, sp 0x03C80274, bp 0x03C8025C, ip 4,
BlockClosure>>ensure:}
{0x03C80244: cf 0x03C80231, sp 0x03C80254, bp 0x0145C898, ip 39,
ExceptionHandler(ExceptionHandlerAbstract)>>try:}
{0x03C80230: cf 0x03C80211, sp 0x03C80240, bp 0x03C80228, ip 7,
BlockClosure>>on:do:}
{0x03C80210: cf 0x03C801FD, sp 0x03C80220, bp 0x0145C860, ip 36,
NPApplet>>startApplet}
{0x03C801FC: cf 0x03C801E9, sp 0x03C8020C, bp 0x0145C198, ip 17, [] in
NPApplet>>evaluateAttributes}
{0x03C801E8: cf 0x03C801C5, sp 0x03C801F8, bp 0x03C801E0, ip 4,
DeferredValue>>_evaluate:withArguments:}
{0x03C801C4: cf 0x03C801B1, sp 0x03C801D8, bp 0x0145C1D0, ip 17, [] in
DeferredValue>>evaluate:withArguments:at:}
{0x03C801B0: cf 0x03C8019D, sp 0x03C801C0, bp 0x0145C828, ip 11,
ExceptionHandlerSet(ExceptionHandlerAbstract)>>markAndTry}
{0x03C8019C: cf 0x03C80181, sp 0x03C801AC, bp 0x0145C780, ip 21, [] in
ExceptionHandlerSet(ExceptionHandlerAbstract)>>try:}
{0x03C80180: cf 0x03C8016D, sp 0x03C80198, bp 0x0145C7F0, ip 17,
BlockClosure>>ifCurtailed:}
{0x03C8016C: cf 0x03C8014D, sp 0x03C8017C, bp 0x03C80164, ip 4,
BlockClosure>>ensure:}
{0x03C8014C: cf 0x03C80139, sp 0x03C8015C, bp 0x0145C780, ip 39,
ExceptionHandlerSet(ExceptionHandlerAbstract)>>try:}
{0x03C80138: cf 0x03C8011D, sp 0x03C80148, bp 0x03C80134, ip 4,
BlockClosure>>onDo:}
{0x03C8011C: cf 0x03C800F5, sp 0x03C8012C, bp 0x03C8010C, ip 13,
BlockClosure>>on:do:on:do:}
{0x03C800F4: cf 0x03C800E1, sp 0x03C80104, bp 0x0145C1D0, ip 51, [] in
DeferredValue>>evaluate:withArguments:at:}
{0x03C800E0: cf 0x03C800CD, sp 0x03C800F0, bp 0x0145C748, ip 11,
ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry}
{0x03C800CC: cf 0x03C800B1, sp 0x03C800DC, bp 0x0145C6D8, ip 21, [] in
ExceptionHandler(ExceptionHandlerAbstract)>>try:}
{0x03C800B0: cf 0x03C8009D, sp 0x03C800C8, bp 0x0145C710, ip 17,
BlockClosure>>ifCurtailed:}
{0x03C8009C: cf 0x03C8007D, sp 0x03C800AC, bp 0x03C80094, ip 4,
BlockClosure>>ensure:}
{0x03C8007C: cf 0x03C80069, sp 0x03C8008C, bp 0x0145C6D8, ip 39,
ExceptionHandler(ExceptionHandlerAbstract)>>try:}
{0x03C80068: cf 0x03C80049, sp 0x03C80078, bp 0x03C80060, ip 7,
BlockClosure>>on:do:}
{0x03C80048: cf 0x00000001, sp 0x03C80058, bp 0x0145C0B8, ip 17, [] in
BlockClosure>>newProcess}
<Bottom of stack>

***** End of crash report *****


Reply | Threaded
Open this post in threaded view
|

Re: Web Deployment Problem

Blair McGlashan
Jerry

"Jerry Bell" <[hidden email]> wrote in message
news:9e1iim$k76p$[hidden email]...
> I'm having a problem with a web applet deployment.  When the applet is
> loaded in a web page, I get this error: HRESULT Error: Invalid pointer
> (FACILIYT_NULL).  Crash dump is appended.
>
> If I use a debug image, everything runs fine.  If I deploy a custom
plug-in
> image, everything runs fine.

When you are running a debug image are you running with the package loaded?
It'll certainly help you to debug the problem if you can reproduce it in the
development environment, so I would suggest uninstalling the packages from
the development image and trying again.

>
> I suspect this has something to do with the nature of some of these
> packages- they are autogenerated IDispatch descendents.  Perhaps they
aren't
> being initialized correctly when they are loaded?

That's a possible explanation, although we know of some examples where this
has worked perfectly well (the Avatar Chat sample being one example, since
that involves a number of auto-generated dual interface classes). The error
is of course E_POINTER, normally raised by a COM server when one passes a
null pointer as an _output_ parameter, so it is a somewhat unexpected result
of a property put (unless the operation is internally somewhat more complex
than just storing down a string).

What does the IDL for the DocuShareAddress property look like?

Regards

Blair


Reply | Threaded
Open this post in threaded view
|

Re: Web Deployment Problem

Jerry Bell
> When you are running a debug image are you running with the package
loaded?
> It'll certainly help you to debug the problem if you can reproduce it in
the
> development environment, so I would suggest uninstalling the packages from
> the development image and trying again.
>

Yep, removing the packages from the degug image reproduces the problem,
although I still don't know what's going on.  Supposedly I'm just passing in
a string, I even tried pre-converting it to a BSTR with the same result.
Could something bad be happening within the Docushare code somewhere?  If
so, I wonder why it would fail in the plugin only?

> >
> > I suspect this has something to do with the nature of some of these
> > packages- they are autogenerated IDispatch descendents.  Perhaps they
> aren't
> > being initialized correctly when they are loaded?
>
> That's a possible explanation, although we know of some examples where
this
> has worked perfectly well (the Avatar Chat sample being one example, since
> that involves a number of auto-generated dual interface classes). The
error
> is of course E_POINTER, normally raised by a COM server when one passes a
> null pointer as an _output_ parameter, so it is a somewhat unexpected
result
> of a property put (unless the operation is internally somewhat more
complex
> than just storing down a string).
>
> What does the IDL for the DocuShareAddress property look like?
>
> Regards
>
> Blair
>
>
Here's the IDL from Dolphin:

 [id(0x0000000b), propget, helpstring("property DocuShareAddress")]
  HRESULT __stdcall DocuShareAddress(
   [out, retval] BSTR* pVal);
  [id(0x0000000b), propput, helpstring("property DocuShareAddress")]
  HRESULT __stdcall DocuShareAddress(
   [in] BSTR pVal);

Here's the generated code from Dolphin:

put_DocuShareAddress: pVal
 "Private - Set the value of the 'DocuShareAddress' property of the object
wrapped by the
  receiver to the <bstr> argument, pVal.
 Helpstring: 'property DocuShareAddress'

  HRESULT __stdcall DocuShareAddress(
   [in] BSTR pVal);
 "

 <virtual stdcall: hresult 27 bstr>
 ^self invalidCall

Now, I'm not very good at this COM stuff, but is id(0x0000000b) as a decimal
supposed to equal 27?  It doesn't.

Regardless, this weekend I'm going to do a clean install on another machine,
re-generating all of the Docushare classes and re-loading only my (very
simple) EqPerson and EqPersonPresenter classes, and build new binary
packages for everything.   That will rule out this machine as the problem.
Maybe it is possesed or something.  And I still haven't tried driving
Docushare solely through IDispatch, that's still another option, although I
would consider it a last result for a final solution.

Thanks,

Jerry


Reply | Threaded
Open this post in threaded view
|

Re: Web Deployment Problem

Jerry Bell
OK, I reworked the code to use only IDispatch calls and everything works
right.  I'll look into it more deeply later, as using IDispatch calls
doesn't look nearly as clean.

But, this has allowed me to uncover another, much more important problem.

There seems to be a problem using STB in an applet (when the STB'd objects'
classes are loaded via binary packages, anyway).  I found something similar
in a post by Ted Bracht back in January.

My applet downloads an STB file from a Xerox Docushare document repository
via the COM objects that where giving me problems before.  I save the file
as a local temporary file and then load it via STB.  This works great from
my development image.

But, when deployed as an applet this barfs when STB'ing the file, with a
message that the EqPerson class (my model class) can't be found in the
image.  The funny thing is, if I'm not using STB I can work with the
EqPerson class in the applet as much as I want without any problems.  I can
even do stuff with EqPerson in the applet without errors just before trying
to STB one in, everything is always fine until the STB'ing starts.

My applet lives in a single binary package, which includes the applet
presenter (EqPersonPresenter) and the model (EqPerson).

I'm including the crash dump below.  Has anyone else used STB successfully
in an applet?

Thanks,

Jerry


****************************************************************************
****
************************** Dolphin Crash Dump Report
***************************

21:24:56 PM, 5/19/01: iexplore.exe caused an unhandled Win32 Exception
0x20000002
at 0x77F1D479 in module 0x77F00000 (C:\WINNT\system32\KERNEL32.dll)

*----> Exception Parameters <----*
0A9DD03C The class EqPerson could not be found in

*----> CPU Context for thread 0x7d <----*
EAX = 0A30FD70 EBX = 0A7C4B24 ECX = FFFFFFFF
ESI = 0A30FD88 EDI = FFFFFFFF EIP = 77F1D479
ESP = 0A30FD6C EBP = 0A30FDC0 EFL = 00000246
CS = 001B SS = 0023 DS = 0023
ES = 0023 FS = 0038 GS = 0000

*----> VM Context <----*
Process: {0x0AAE0004:suspended frame 0x0AAE05F5, priority 5, callbacks 0
last failure 2:nil, FPE mask 1, thread nil}
Active Method: VMLibrary>>crashDump:
IP: 0x0A7CC68E (22)
SP: 0x0AAE0890
BP: 0x0AAE0864 (520)
ActiveFrame: {0x0AAE086C: cf 0x0AAE084D, sp 0x0AAE087C, bp 0x0AAE0864, ip
10, VMLibrary>>crashDump:}

New Method:
KernelLibrary>>raiseException:dwExceptionFlags:nNumberOfArguments:lpArgument
s:
Message Selector:
#raiseException:dwExceptionFlags:nNumberOfArguments:lpArguments:

*----> Stack <----*
[0x0AAE0890: 531]-->a DWORDArray
[0x0AAE088C: 530]-->1
[0x0AAE0888: 529]-->0
[0x0AAE0884: 528]-->536870914
[0x0AAE0880: 527]-->a KernelLibrary
[0x0AAE087C: 526]-->89588786
[0x0AAE0878: 525]-->VMLibrary>>crashDump:
[0x0AAE0874: 524]-->89588798
[0x0AAE0870: 523]-->13
[0x0AAE086C: 522]-->89588774
[0x0AAE0868: 521]-->a DWORDArray
[0x0AAE0864: 520]-->'The class EqPerson could not be found in the image'
[0x0AAE0860: 519]-->a VMLibrary
[0x0AAE085C: 518]-->89588772
[0x0AAE0858: 517]-->PluginSessionManager>>logError:
[0x0AAE0854: 516]-->89588782
[0x0AAE0850: 515]-->9
[0x0AAE084C: 514]-->89588760
[0x0AAE0848: 513]-->a Error
[0x0AAE0844: 512]-->a PluginSessionManager
[0x0AAE0840: 511]-->89588758
[0x0AAE083C: 510]-->SessionManager>>unhandledException:
[0x0AAE0838: 509]-->89588768
[0x0AAE0834: 508]-->7
[0x0AAE0830: 507]-->89588746
[0x0AAE082C: 506]-->a Error
[0x0AAE0828: 505]-->a PluginSessionManager
[0x0AAE0824: 504]-->89588744
[0x0AAE0820: 503]-->SessionManager>>onUnhandledError:
[0x0AAE081C: 502]-->89588754
[0x0AAE0818: 501]-->3
[0x0AAE0814: 500]-->89588732
[0x0AAE0810: 499]-->a Error
[0x0AAE080C: 498]-->a PluginSessionManager
[0x0AAE0808: 497]-->89588732
[0x0AAE0804: 496]-->Error>>defaultAction
[0x0AAE0800: 495]-->89588740
[0x0AAE07FC: 494]-->8
[0x0AAE07F8: 493]-->89588720
[0x0AAE07F4: 492]-->a Error
[0x0AAE07F0: 491]-->a MethodContext
[0x0AAE07EC: 490]-->Exception>>_propagateFrom:
[0x0AAE07E8: 489]-->89588728
[0x0AAE07E4: 488]-->60
[0x0AAE07E0: 487]-->89588710
[0x0AAE07DC: 486]-->89588708
[0x0AAE07D8: 485]-->Exception>>_propagate
[0x0AAE07D4: 484]-->89588718
[0x0AAE07D0: 483]-->9
[0x0AAE07CC: 482]-->89588694
[0x0AAE07C8: 481]-->nil
[0x0AAE07C4: 480]-->a Error
[0x0AAE07C0: 479]-->a Error
[0x0AAE07BC: 478]-->89588694
[0x0AAE07B8: 477]-->Exception>>pass
[0x0AAE07B4: 476]-->89588704
[0x0AAE07B0: 475]-->7
[0x0AAE07AC: 474]-->89588682
[0x0AAE07A8: 473]-->a Error
[0x0AAE07A4: 472]-->[] @ 24 in DeferredValue>>evaluate:withArguments:at:
[0x0AAE07A0: 471]-->DeferredValue>>evaluate:withArguments:at:
[0x0AAE079C: 470]-->89588690
[0x0AAE0798: 469]-->34
[0x0AAE0794: 468]-->89588672
[0x0AAE0790: 467]-->[] @ 15 in Exception>>_evaluateHandler:in:
[0x0AAE078C: 466]-->Exception>>_evaluateHandler:in:
[0x0AAE0788: 465]-->89588680
[0x0AAE0784: 464]-->36
[0x0AAE0780: 463]-->89588658
[0x0AAE077C: 462]-->[] @ 6 in BlockClosure>>ifCurtailed:
[0x0AAE0778: 461]-->[] @ 15 in Exception>>_evaluateHandler:in:
[0x0AAE0774: 460]-->a MethodContext
[0x0AAE0770: 459]-->BlockClosure>>ifCurtailed:
[0x0AAE076C: 458]-->89588670
[0x0AAE0768: 457]-->20
[0x0AAE0764: 456]-->89588648
[0x0AAE0760: 455]-->89588644
[0x0AAE075C: 454]-->BlockClosure>>ensure:
[0x0AAE0758: 453]-->89588656
[0x0AAE0754: 452]-->7
[0x0AAE0750: 451]-->89588632
[0x0AAE074C: 450]-->nil
[0x0AAE0748: 449]-->[] @ 40 in Exception>>_evaluateHandler:in:
[0x0AAE0744: 448]-->[] @ 15 in Exception>>_evaluateHandler:in:
[0x0AAE0740: 447]-->a MethodContext
[0x0AAE073C: 446]-->Exception>>_evaluateHandler:in:
[0x0AAE0738: 445]-->89588640
[0x0AAE0734: 444]-->52
[0x0AAE0730: 443]-->89588622
[0x0AAE072C: 442]-->a MethodContext
[0x0AAE0728: 441]-->Exception>>_propagateFrom:
[0x0AAE0724: 440]-->89588630
[0x0AAE0720: 439]-->47
[0x0AAE071C: 438]-->89588612
[0x0AAE0718: 437]-->89588610
[0x0AAE0714: 436]-->Exception>>_propagate
[0x0AAE0710: 435]-->89588620
[0x0AAE070C: 434]-->9
[0x0AAE0708: 433]-->89588596
[0x0AAE0704: 432]-->nil
[0x0AAE0700: 431]-->a Error
[0x0AAE06FC: 430]-->a Error
[0x0AAE06F8: 429]-->89588596
[0x0AAE06F4: 428]-->Exception>>pass
[0x0AAE06F0: 427]-->89588606
[0x0AAE06EC: 426]-->7
[0x0AAE06E8: 425]-->89588584
[0x0AAE06E4: 424]-->a Error
[0x0AAE06E0: 423]-->[] @ 48 in ClassLocator>>findOrImportForeignClass
[0x0AAE06DC: 422]-->ClassLocator>>findOrImportForeignClass
[0x0AAE06D8: 421]-->89588592
[0x0AAE06D4: 420]-->59
[0x0AAE06D0: 419]-->89588574
[0x0AAE06CC: 418]-->[] @ 15 in Exception>>_evaluateHandler:in:
[0x0AAE06C8: 417]-->Exception>>_evaluateHandler:in:
[0x0AAE06C4: 416]-->89588582
[0x0AAE06C0: 415]-->36
[0x0AAE06BC: 414]-->89588560
[0x0AAE06B8: 413]-->[] @ 6 in BlockClosure>>ifCurtailed:
[0x0AAE06B4: 412]-->[] @ 15 in Exception>>_evaluateHandler:in:
[0x0AAE06B0: 411]-->a MethodContext
[0x0AAE06AC: 410]-->BlockClosure>>ifCurtailed:
[0x0AAE06A8: 409]-->89588572
[0x0AAE06A4: 408]-->20
[0x0AAE06A0: 407]-->89588550
[0x0AAE069C: 406]-->89588546
[0x0AAE0698: 405]-->BlockClosure>>ensure:
[0x0AAE0694: 404]-->89588558
[0x0AAE0690: 403]-->7
[0x0AAE068C: 402]-->89588534
[0x0AAE0688: 401]-->nil
[0x0AAE0684: 400]-->[] @ 40 in Exception>>_evaluateHandler:in:
[0x0AAE0680: 399]-->[] @ 15 in Exception>>_evaluateHandler:in:
[0x0AAE067C: 398]-->a MethodContext
[0x0AAE0678: 397]-->Exception>>_evaluateHandler:in:
[0x0AAE0674: 396]-->89588542
[0x0AAE0670: 395]-->52
[0x0AAE066C: 394]-->89588524
[0x0AAE0668: 393]-->a MethodContext
[0x0AAE0664: 392]-->Exception>>_propagateFrom:
[0x0AAE0660: 391]-->89588532
[0x0AAE065C: 390]-->47
[0x0AAE0658: 389]-->89588514
[0x0AAE0654: 388]-->89588512
[0x0AAE0650: 387]-->Exception>>_propagate
[0x0AAE064C: 386]-->89588522
[0x0AAE0648: 385]-->9
[0x0AAE0644: 384]-->89588500
[0x0AAE0640: 383]-->nil
[0x0AAE063C: 382]-->a Error
...
<230 slots omitted>
...
[0x0AAE02A0: 151]-->ExceptionHandlerAbstract>>try:
[0x0AAE029C: 150]-->89588050
[0x0AAE0298: 149]-->24
[0x0AAE0294: 148]-->89588028
[0x0AAE0290: 147]-->[] @ 6 in BlockClosure>>ifCurtailed:
[0x0AAE028C: 146]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[0x0AAE0288: 145]-->a MethodContext
[0x0AAE0284: 144]-->BlockClosure>>ifCurtailed:
[0x0AAE0280: 143]-->89588040
[0x0AAE027C: 142]-->20
[0x0AAE0278: 141]-->89588018
[0x0AAE0274: 140]-->89588014
[0x0AAE0270: 139]-->BlockClosure>>ensure:
[0x0AAE026C: 138]-->89588026
[0x0AAE0268: 137]-->7
[0x0AAE0264: 136]-->89588002
[0x0AAE0260: 135]-->nil
[0x0AAE025C: 134]-->[] @ 34 in ExceptionHandlerAbstract>>try:
[0x0AAE0258: 133]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[0x0AAE0254: 132]-->a MethodContext
[0x0AAE0250: 131]-->ExceptionHandlerAbstract>>try:
[0x0AAE024C: 130]-->89588010
[0x0AAE0248: 129]-->42
[0x0AAE0244: 128]-->89587992
[0x0AAE0240: 127]-->89587988
[0x0AAE023C: 126]-->BlockClosure>>on:do:
[0x0AAE0238: 125]-->89588000
[0x0AAE0234: 124]-->10
[0x0AAE0230: 123]-->89587976
[0x0AAE022C: 122]-->[] @ 29 in NPApplet>>startApplet
[0x0AAE0228: 121]-->BinaryPackageVersionError
[0x0AAE0224: 120]-->[] @ 15 in NPApplet>>startApplet
[0x0AAE0220: 119]-->a MethodContext
[0x0AAE021C: 118]-->NPApplet>>startApplet
[0x0AAE0218: 117]-->89587984
[0x0AAE0214: 116]-->39
[0x0AAE0210: 115]-->89587966
[0x0AAE020C: 114]-->[] @ 15 in NPApplet>>evaluateAttributes
[0x0AAE0208: 113]-->NPApplet>>evaluateAttributes
[0x0AAE0204: 112]-->89587974
[0x0AAE0200: 111]-->20
[0x0AAE01FC: 110]-->89587956
[0x0AAE01F8: 109]-->89587952
[0x0AAE01F4: 108]-->DeferredValue>>_evaluate:withArguments:
[0x0AAE01F0: 107]-->89587964
[0x0AAE01EC: 106]-->3
[0x0AAE01E8: 105]-->89587938
[0x0AAE01E4: 104]-->a Array
[0x0AAE01E0: 103]-->[] @ 15 in NPApplet>>evaluateAttributes
[0x0AAE01DC: 102]-->a DeferredValue
[0x0AAE01D8: 101]-->a DeferredValue
[0x0AAE01D4: 100]-->[] @ 12 in DeferredValue>>evaluate:withArguments:at:
[0x0AAE01D0: 99]-->DeferredValue>>evaluate:withArguments:at:
[0x0AAE01CC: 98]-->89587948
[0x0AAE01C8: 97]-->20
[0x0AAE01C4: 96]-->89587928
[0x0AAE01C0: 95]-->a MethodContext
[0x0AAE01BC: 94]-->ExceptionHandlerAbstract>>markAndTry
[0x0AAE01B8: 93]-->89587936
[0x0AAE01B4: 92]-->14
[0x0AAE01B0: 91]-->89587918
[0x0AAE01AC: 90]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[0x0AAE01A8: 89]-->ExceptionHandlerAbstract>>try:
[0x0AAE01A4: 88]-->89587926
[0x0AAE01A0: 87]-->24
[0x0AAE019C: 86]-->89587904
[0x0AAE0198: 85]-->[] @ 6 in BlockClosure>>ifCurtailed:
[0x0AAE0194: 84]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[0x0AAE0190: 83]-->a MethodContext
[0x0AAE018C: 82]-->BlockClosure>>ifCurtailed:
[0x0AAE0188: 81]-->89587916
[0x0AAE0184: 80]-->20
[0x0AAE0180: 79]-->89587894
[0x0AAE017C: 78]-->89587890
[0x0AAE0178: 77]-->BlockClosure>>ensure:
[0x0AAE0174: 76]-->89587902
[0x0AAE0170: 75]-->7
[0x0AAE016C: 74]-->89587878
[0x0AAE0168: 73]-->nil
[0x0AAE0164: 72]-->[] @ 34 in ExceptionHandlerAbstract>>try:
[0x0AAE0160: 71]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[0x0AAE015C: 70]-->a MethodContext
[0x0AAE0158: 69]-->ExceptionHandlerAbstract>>try:
[0x0AAE0154: 68]-->89587886
[0x0AAE0150: 67]-->42
[0x0AAE014C: 66]-->89587868
[0x0AAE0148: 65]-->89587866
[0x0AAE0144: 64]-->BlockClosure>>onDo:
[0x0AAE0140: 63]-->89587876
[0x0AAE013C: 62]-->3
[0x0AAE0138: 61]-->89587854
[0x0AAE0134: 60]-->a ExceptionHandlerSet
[0x0AAE0130: 59]-->[] @ 12 in DeferredValue>>evaluate:withArguments:at:
[0x0AAE012C: 58]-->89587846
[0x0AAE0128: 57]-->BlockClosure>>on:do:on:do:
[0x0AAE0124: 56]-->89587862
[0x0AAE0120: 55]-->16
[0x0AAE011C: 54]-->89587834
[0x0AAE0118: 53]-->[] @ 37 in DeferredValue>>evaluate:withArguments:at:
[0x0AAE0114: 52]-->ProcessTermination
[0x0AAE0110: 51]-->[] @ 24 in DeferredValue>>evaluate:withArguments:at:
[0x0AAE010C: 50]-->Error
[0x0AAE0108: 49]-->[] @ 12 in DeferredValue>>evaluate:withArguments:at:
[0x0AAE0104: 48]-->[] @ 8 in DeferredValue>>evaluate:withArguments:at:
[0x0AAE0100: 47]-->DeferredValue>>evaluate:withArguments:at:
[0x0AAE00FC: 46]-->89587842
[0x0AAE00F8: 45]-->54
[0x0AAE00F4: 44]-->89587824
[0x0AAE00F0: 43]-->a MethodContext
[0x0AAE00EC: 42]-->ExceptionHandlerAbstract>>markAndTry
[0x0AAE00E8: 41]-->89587832
[0x0AAE00E4: 40]-->14
[0x0AAE00E0: 39]-->89587814
[0x0AAE00DC: 38]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[0x0AAE00D8: 37]-->ExceptionHandlerAbstract>>try:
[0x0AAE00D4: 36]-->89587822
[0x0AAE00D0: 35]-->24
[0x0AAE00CC: 34]-->89587800
[0x0AAE00C8: 33]-->[] @ 6 in BlockClosure>>ifCurtailed:
[0x0AAE00C4: 32]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[0x0AAE00C0: 31]-->a MethodContext
[0x0AAE00BC: 30]-->BlockClosure>>ifCurtailed:
[0x0AAE00B8: 29]-->89587812
[0x0AAE00B4: 28]-->20
[0x0AAE00B0: 27]-->89587790
[0x0AAE00AC: 26]-->89587786
[0x0AAE00A8: 25]-->BlockClosure>>ensure:
[0x0AAE00A4: 24]-->89587798
[0x0AAE00A0: 23]-->7
[0x0AAE009C: 22]-->89587774
[0x0AAE0098: 21]-->nil
[0x0AAE0094: 20]-->[] @ 34 in ExceptionHandlerAbstract>>try:
[0x0AAE0090: 19]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[0x0AAE008C: 18]-->a MethodContext
[0x0AAE0088: 17]-->ExceptionHandlerAbstract>>try:
[0x0AAE0084: 16]-->89587782
[0x0AAE0080: 15]-->42
[0x0AAE007C: 14]-->89587764
[0x0AAE0078: 13]-->89587760
[0x0AAE0074: 12]-->BlockClosure>>on:do:
[0x0AAE0070: 11]-->89587772
[0x0AAE006C: 10]-->10
[0x0AAE0068: 9]-->89587748
[0x0AAE0064: 8]-->[] @ 12 in BlockClosure>>newProcess
[0x0AAE0060: 7]-->ProcessTermination
[0x0AAE005C: 6]-->[] @ 8 in DeferredValue>>evaluate:withArguments:at:
[0x0AAE0058: 5]-->[] @ 6 in BlockClosure>>newProcess
[0x0AAE0054: 4]-->BlockClosure>>newProcess
[0x0AAE0050: 3]-->89587756
[0x0AAE004C: 2]-->20
[0x0AAE0048: 1]-->0
<Bottom of stack>

*----> Stack Back Trace <----*
{0x0AAE086C: cf 0x0AAE084D, sp 0x0AAE087C, bp 0x0AAE0864, ip 10,
VMLibrary>>crashDump:}
{0x0AAE084C: cf 0x0AAE0831, sp 0x0AAE085C, bp 0x0AAE0848, ip 6,
PluginSessionManager>>logError:}
{0x0AAE0830: cf 0x0AAE0815, sp 0x0AAE0840, bp 0x0AAE082C, ip 4,
PluginSessionManager(SessionManager)>>unhandledException:}
{0x0AAE0814: cf 0x0AAE07F9, sp 0x0AAE0824, bp 0x0AAE0810, ip 4,
PluginSessionManager(SessionManager)>>onUnhandledError:}
{0x0AAE07F8: cf 0x0AAE07E1, sp 0x0AAE0808, bp 0x0AAE07F8, ip 5,
Error>>defaultAction}
{0x0AAE07E0: cf 0x0AAE07CD, sp 0x0AAE07F0, bp 0x0A9DCA58, ip 57,
Error(Exception)>>_propagateFrom:}
{0x0AAE07CC: cf 0x0AAE07AD, sp 0x0AAE07DC, bp 0x0AAE07C8, ip 6,
Error(Exception)>>_propagate}
{0x0AAE07AC: cf 0x0AAE0795, sp 0x0AAE07C0, bp 0x0AAE07AC, ip 4,
Error(Exception)>>pass}
{0x0AAE0794: cf 0x0AAE0781, sp 0x0AAE07A4, bp 0x0A9DC1D0, ip 31, [] in
DeferredValue>>evaluate:withArguments:at:}
{0x0AAE0780: cf 0x0AAE0765, sp 0x0AAE0790, bp 0x0A9DC080, ip 33, [] in
Error(Exception)>>_evaluateHandler:in:}
{0x0AAE0764: cf 0x0AAE0751, sp 0x0AAE077C, bp 0x0A9C57F0, ip 17,
BlockClosure>>ifCurtailed:}
{0x0AAE0750: cf 0x0AAE0731, sp 0x0AAE0760, bp 0x0AAE0748, ip 4,
BlockClosure>>ensure:}
{0x0AAE0730: cf 0x0AAE071D, sp 0x0AAE0740, bp 0x0A9DC080, ip 49,
Error(Exception)>>_evaluateHandler:in:}
{0x0AAE071C: cf 0x0AAE0709, sp 0x0AAE072C, bp 0x0A9DCCF8, ip 44,
Error(Exception)>>_propagateFrom:}
{0x0AAE0708: cf 0x0AAE06E9, sp 0x0AAE0718, bp 0x0AAE0704, ip 6,
Error(Exception)>>_propagate}
{0x0AAE06E8: cf 0x0AAE06D1, sp 0x0AAE06FC, bp 0x0AAE06E8, ip 4,
Error(Exception)>>pass}
{0x0AAE06D0: cf 0x0AAE06BD, sp 0x0AAE06E0, bp 0x0A9DC978, ip 56, [] in
ClassLocator>>findOrImportForeignClass}
{0x0AAE06BC: cf 0x0AAE06A1, sp 0x0AAE06CC, bp 0x0A9DCC88, ip 33, [] in
Error(Exception)>>_evaluateHandler:in:}
{0x0AAE06A0: cf 0x0AAE068D, sp 0x0AAE06B8, bp 0x0A9DCCC0, ip 17,
BlockClosure>>ifCurtailed:}
{0x0AAE068C: cf 0x0AAE066D, sp 0x0AAE069C, bp 0x0AAE0684, ip 4,
BlockClosure>>ensure:}
{0x0AAE066C: cf 0x0AAE0659, sp 0x0AAE067C, bp 0x0A9DCC88, ip 49,
Error(Exception)>>_evaluateHandler:in:}
{0x0AAE0658: cf 0x0AAE0645, sp 0x0AAE0668, bp 0x0A9DC048, ip 44,
Error(Exception)>>_propagateFrom:}
{0x0AAE0644: cf 0x0AAE0629, sp 0x0AAE0654, bp 0x0AAE0640, ip 6,
Error(Exception)>>_propagate}
{0x0AAE0628: cf 0x0AAE0611, sp 0x0AAE0638, bp 0x0AAE0628, ip 12,
Error(Exception)>>signal}
{0x0AAE0610: cf 0x0AAE05F5, sp 0x0AAE0620, bp 0x0AAE060C, ip 7,
Error(Exception)>>signal:}
{0x0AAE05F4: cf 0x0AAE05D9, sp 0x0AAE0604, bp 0x0AAE05F0, ip 5, Error
class(Exception class)>>signal:}
{0x0AAE05D8: cf 0x0AAE05BD, sp 0x0AAE05E8, bp 0x0AAE05D4, ip 4,
ClassLocator(Object)>>error:}
{0x0AAE05BC: cf 0x0AAE05A5, sp 0x0AAE05CC, bp 0x0AAE05BC, ip 6,
ClassLocator>>errorClassNotFound}
{0x0AAE05A4: cf 0x0AAE0591, sp 0x0AAE05B4, bp 0x0A9DC978, ip 28, [] in
ClassLocator>>findOrImportForeignClass}
{0x0AAE0590: cf 0x0AAE057D, sp 0x0AAE05A0, bp 0x0A9DCC18, ip 25,
WeakLookupTable(SharedLookupTable)>>at:ifAbsent:}
{0x0AAE057C: cf 0x0AAE0569, sp 0x0AAE058C, bp 0x0A9DC978, ip 40, [] in
ClassLocator>>findOrImportForeignClass}
{0x0AAE0568: cf 0x0AAE0555, sp 0x0AAE0578, bp 0x0A9DCC50, ip 11,
ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry}
{0x0AAE0554: cf 0x0AAE0539, sp 0x0AAE0564, bp 0x0A9DCB38, ip 21, [] in
ExceptionHandler(ExceptionHandlerAbstract)>>try:}
{0x0AAE0538: cf 0x0AAE0525, sp 0x0AAE0550, bp 0x0A9DCBE0, ip 17,
BlockClosure>>ifCurtailed:}
{0x0AAE0524: cf 0x0AAE0505, sp 0x0AAE0534, bp 0x0AAE051C, ip 4,
BlockClosure>>ensure:}
{0x0AAE0504: cf 0x0AAE04F1, sp 0x0AAE0514, bp 0x0A9DCB38, ip 39,
ExceptionHandler(ExceptionHandlerAbstract)>>try:}
{0x0AAE04F0: cf 0x0AAE04D1, sp 0x0AAE0500, bp 0x0AAE04E8, ip 7,
BlockClosure>>on:do:}
{0x0AAE04D0: cf 0x0AAE04BD, sp 0x0AAE04E0, bp 0x0A9DC978, ip 59, [] in
ClassLocator>>findOrImportForeignClass}
{0x0AAE04BC: cf 0x0AAE04A1, sp 0x0AAE04CC, bp 0x0A9DC9B0, ip 33, [] in
Mutex>>critical:}
{0x0AAE04A0: cf 0x0AAE048D, sp 0x0AAE04B8, bp 0x0A9DCB70, ip 17,
BlockClosure>>ifCurtailed:}
{0x0AAE048C: cf 0x0AAE046D, sp 0x0AAE049C, bp 0x0AAE0484, ip 4,
BlockClosure>>ensure:}
{0x0AAE046C: cf 0x0AAE0459, sp 0x0AAE047C, bp 0x0A9DC9B0, ip 69,
Mutex>>critical:}
{0x0AAE0458: cf 0x0AAE0445, sp 0x0AAE0468, bp 0x0A9DC978, ip 61,
ClassLocator>>findOrImportForeignClass}
{0x0AAE0444: cf 0x0AAE0429, sp 0x0AAE0454, bp 0x0AAE0440, ip 9,
ClassLocator>>locateClass}
{0x0AAE0428: cf 0x0AAE03F5, sp 0x0AAE0438, bp 0x0AAE040C, ip 23,
STBInFiler>>readClassData:}
{0x0AAE03F4: cf 0x0AAE03CD, sp 0x0AAE0404, bp 0x0AAE03E4, ip 51,
STBInFiler>>basicNext}
{0x0AAE03CC: cf 0x0AAE03B1, sp 0x0AAE03DC, bp 0x0AAE03C8, ip 3,
STBInFiler>>next}
{0x0AAE03B0: cf 0x0AAE037D, sp 0x0AAE03C0, bp 0x0AAE0398, ip 67,
EqPersonPresenter>>fetchModel}
{0x0AAE037C: cf 0x0AAE0361, sp 0x0AAE0390, bp 0x0AAE037C, ip 11,
EqPersonPresenter>>onViewOpened}
{0x0AAE0360: cf 0x0AAE0339, sp 0x0AAE0374, bp 0x0AAE0350, ip 14,
EqPersonPresenter class(Presenter class)>>create:in:on:}
{0x0AAE0338: cf 0x0AAE0319, sp 0x0AAE0348, bp 0x0AAE0330, ip 8,
EqPersonPresenter class(Presenter class)>>create:in:}
{0x0AAE0318: cf 0x0AAE02ED, sp 0x0AAE0328, bp 0x0AAE0304, ip 19,
EqPersonPresenter class(Presenter class)>>show:inPlugin:}
{0x0AAE02EC: cf 0x0AAE02D1, sp 0x0AAE02FC, bp 0x0AAE02E8, ip 5,
Message>>value:}
{0x0AAE02D0: cf 0x0AAE02BD, sp 0x0AAE02E0, bp 0x0A9DC940, ip 23,
EqPersonPresenter class(ClassStub)>>doesNotUnderstand:}
{0x0AAE02BC: cf 0x0AAE02A9, sp 0x0AAE02CC, bp 0x0A9DC860, ip 21, [] in
NPApplet>>startApplet}
{0x0AAE02A8: cf 0x0AAE0295, sp 0x0AAE02B8, bp 0x0A9DC908, ip 11,
ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry}
{0x0AAE0294: cf 0x0AAE0279, sp 0x0AAE02A4, bp 0x0A9DC898, ip 21, [] in
ExceptionHandler(ExceptionHandlerAbstract)>>try:}
{0x0AAE0278: cf 0x0AAE0265, sp 0x0AAE0290, bp 0x0A9DC8D0, ip 17,
BlockClosure>>ifCurtailed:}
{0x0AAE0264: cf 0x0AAE0245, sp 0x0AAE0274, bp 0x0AAE025C, ip 4,
BlockClosure>>ensure:}
{0x0AAE0244: cf 0x0AAE0231, sp 0x0AAE0254, bp 0x0A9DC898, ip 39,
ExceptionHandler(ExceptionHandlerAbstract)>>try:}
{0x0AAE0230: cf 0x0AAE0211, sp 0x0AAE0240, bp 0x0AAE0228, ip 7,
BlockClosure>>on:do:}
{0x0AAE0210: cf 0x0AAE01FD, sp 0x0AAE0220, bp 0x0A9DC860, ip 36,
NPApplet>>startApplet}
{0x0AAE01FC: cf 0x0AAE01E9, sp 0x0AAE020C, bp 0x0A9DC198, ip 17, [] in
NPApplet>>evaluateAttributes}
{0x0AAE01E8: cf 0x0AAE01C5, sp 0x0AAE01F8, bp 0x0AAE01E0, ip 4,
DeferredValue>>_evaluate:withArguments:}
{0x0AAE01C4: cf 0x0AAE01B1, sp 0x0AAE01D8, bp 0x0A9DC1D0, ip 17, [] in
DeferredValue>>evaluate:withArguments:at:}
{0x0AAE01B0: cf 0x0AAE019D, sp 0x0AAE01C0, bp 0x0A9DC828, ip 11,
ExceptionHandlerSet(ExceptionHandlerAbstract)>>markAndTry}
{0x0AAE019C: cf 0x0AAE0181, sp 0x0AAE01AC, bp 0x0A9DC780, ip 21, [] in
ExceptionHandlerSet(ExceptionHandlerAbstract)>>try:}
{0x0AAE0180: cf 0x0AAE016D, sp 0x0AAE0198, bp 0x0A9DC7F0, ip 17,
BlockClosure>>ifCurtailed:}
{0x0AAE016C: cf 0x0AAE014D, sp 0x0AAE017C, bp 0x0AAE0164, ip 4,
BlockClosure>>ensure:}
{0x0AAE014C: cf 0x0AAE0139, sp 0x0AAE015C, bp 0x0A9DC780, ip 39,
ExceptionHandlerSet(ExceptionHandlerAbstract)>>try:}
{0x0AAE0138: cf 0x0AAE011D, sp 0x0AAE0148, bp 0x0AAE0134, ip 4,
BlockClosure>>onDo:}
{0x0AAE011C: cf 0x0AAE00F5, sp 0x0AAE012C, bp 0x0AAE010C, ip 13,
BlockClosure>>on:do:on:do:}
{0x0AAE00F4: cf 0x0AAE00E1, sp 0x0AAE0104, bp 0x0A9DC1D0, ip 51, [] in
DeferredValue>>evaluate:withArguments:at:}
{0x0AAE00E0: cf 0x0AAE00CD, sp 0x0AAE00F0, bp 0x0A9DC748, ip 11,
ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry}
{0x0AAE00CC: cf 0x0AAE00B1, sp 0x0AAE00DC, bp 0x0A9DC6D8, ip 21, [] in
ExceptionHandler(ExceptionHandlerAbstract)>>try:}
{0x0AAE00B0: cf 0x0AAE009D, sp 0x0AAE00C8, bp 0x0A9DC710, ip 17,
BlockClosure>>ifCurtailed:}
{0x0AAE009C: cf 0x0AAE007D, sp 0x0AAE00AC, bp 0x0AAE0094, ip 4,
BlockClosure>>ensure:}
{0x0AAE007C: cf 0x0AAE0069, sp 0x0AAE008C, bp 0x0A9DC6D8, ip 39,
ExceptionHandler(ExceptionHandlerAbstract)>>try:}
{0x0AAE0068: cf 0x0AAE0049, sp 0x0AAE0078, bp 0x0AAE0060, ip 7,
BlockClosure>>on:do:}
{0x0AAE0048: cf 0x00000001, sp 0x0AAE0058, bp 0x0A9DC0B8, ip 17, [] in
BlockClosure>>newProcess}
<Bottom of stack>

***** End of crash report *****


Reply | Threaded
Open this post in threaded view
|

Re: Web Deployment Problem

Bill Schwab-2
Jerry,

> But, when deployed as an applet this barfs when STB'ing the file, with a
> message that the EqPerson class (my model class) can't be found in the
> image.  The funny thing is, if I'm not using STB I can work with the
> EqPerson class in the applet as much as I want without any problems.  I
can
> even do stuff with EqPerson in the applet without errors just before
trying
> to STB one in, everything is always fine until the STB'ing starts.
>
> My applet lives in a single binary package, which includes the applet
> presenter (EqPersonPresenter) and the model (EqPerson).
>
> I'm including the crash dump below.  Has anyone else used STB successfully
> in an applet?

I don't recall where I got into trouble, but, I think you're on to
something.  It was easier to build an .exe, so I ended up doing that.


> [0x0AAE0864: 520]-->'The class EqPerson could not be found in the image'

Blair, Thanks for adding this to the tracing; it should help a lot.

Have a good one,

Bill

--
Wilhelm K. Schwab, Ph.D.
[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Web Deployment Problem

Jerry Bell
In reply to this post by Jerry Bell
OK, more information.

By the time the error occurs, I have already forced my EqPerson class to
load with 'EqPerson name'.

Looking at the error in my debug image debugger, I find this when the error
occurs during the STB activity:

In ClassLocator>>findOrImportForeignClass, the classKey which is generated
is 'EqPerson'.  The class is indeed in ImportedClassese.  However,  its key
is:

'https://www.myurl.com/EqPerson'

So, looking up EqPerson is failing, hence the error.

What I don't know yet is whether the key sent to the ClassLocator is wrong,
or if the keys in the ClassLocator's WeakLookupTable are wrong, or if the
problem is somewhere else.

Andy? Blair?

Thanks,

Jerry


"Jerry Bell" <[hidden email]> wrote in message
news:9e7ahf$1fkgd$[hidden email]...
> OK, I reworked the code to use only IDispatch calls and everything works
> right.  I'll look into it more deeply later, as using IDispatch calls
> doesn't look nearly as clean.
>
> But, this has allowed me to uncover another, much more important problem.
>
> There seems to be a problem using STB in an applet (when the STB'd
objects'
> classes are loaded via binary packages, anyway).  I found something
similar

> in a post by Ted Bracht back in January.
>
> My applet downloads an STB file from a Xerox Docushare document repository
> via the COM objects that where giving me problems before.  I save the file
> as a local temporary file and then load it via STB.  This works great from
> my development image.
>
> But, when deployed as an applet this barfs when STB'ing the file, with a
> message that the EqPerson class (my model class) can't be found in the
> image.  The funny thing is, if I'm not using STB I can work with the
> EqPerson class in the applet as much as I want without any problems.  I
can
> even do stuff with EqPerson in the applet without errors just before
trying

> to STB one in, everything is always fine until the STB'ing starts.
>
> My applet lives in a single binary package, which includes the applet
> presenter (EqPersonPresenter) and the model (EqPerson).
>
> I'm including the crash dump below.  Has anyone else used STB successfully
> in an applet?
>
> Thanks,
>
> Jerry
>
>
>
****************************************************************************

> ****
> ************************** Dolphin Crash Dump Report
> ***************************
>
> 21:24:56 PM, 5/19/01: iexplore.exe caused an unhandled Win32 Exception
> 0x20000002
> at 0x77F1D479 in module 0x77F00000 (C:\WINNT\system32\KERNEL32.dll)
>
> *----> Exception Parameters <----*
> 0A9DD03C The class EqPerson could not be found in
>
> *----> CPU Context for thread 0x7d <----*
> EAX = 0A30FD70 EBX = 0A7C4B24 ECX = FFFFFFFF
> ESI = 0A30FD88 EDI = FFFFFFFF EIP = 77F1D479
> ESP = 0A30FD6C EBP = 0A30FDC0 EFL = 00000246
> CS = 001B SS = 0023 DS = 0023
> ES = 0023 FS = 0038 GS = 0000
>
> *----> VM Context <----*
> Process: {0x0AAE0004:suspended frame 0x0AAE05F5, priority 5, callbacks 0
> last failure 2:nil, FPE mask 1, thread nil}
> Active Method: VMLibrary>>crashDump:
> IP: 0x0A7CC68E (22)
> SP: 0x0AAE0890
> BP: 0x0AAE0864 (520)
> ActiveFrame: {0x0AAE086C: cf 0x0AAE084D, sp 0x0AAE087C, bp 0x0AAE0864, ip
> 10, VMLibrary>>crashDump:}
>
> New Method:
>
KernelLibrary>>raiseException:dwExceptionFlags:nNumberOfArguments:lpArgument

> s:
> Message Selector:
> #raiseException:dwExceptionFlags:nNumberOfArguments:lpArguments:
>
> *----> Stack <----*
> [0x0AAE0890: 531]-->a DWORDArray
> [0x0AAE088C: 530]-->1
> [0x0AAE0888: 529]-->0
> [0x0AAE0884: 528]-->536870914
> [0x0AAE0880: 527]-->a KernelLibrary
> [0x0AAE087C: 526]-->89588786
> [0x0AAE0878: 525]-->VMLibrary>>crashDump:
> [0x0AAE0874: 524]-->89588798
> [0x0AAE0870: 523]-->13
> [0x0AAE086C: 522]-->89588774
> [0x0AAE0868: 521]-->a DWORDArray
> [0x0AAE0864: 520]-->'The class EqPerson could not be found in the image'
> [0x0AAE0860: 519]-->a VMLibrary
> [0x0AAE085C: 518]-->89588772
> [0x0AAE0858: 517]-->PluginSessionManager>>logError:
> [0x0AAE0854: 516]-->89588782
> [0x0AAE0850: 515]-->9
> [0x0AAE084C: 514]-->89588760
> [0x0AAE0848: 513]-->a Error
> [0x0AAE0844: 512]-->a PluginSessionManager
> [0x0AAE0840: 511]-->89588758
> [0x0AAE083C: 510]-->SessionManager>>unhandledException:
> [0x0AAE0838: 509]-->89588768
> [0x0AAE0834: 508]-->7
> [0x0AAE0830: 507]-->89588746
> [0x0AAE082C: 506]-->a Error
> [0x0AAE0828: 505]-->a PluginSessionManager
> [0x0AAE0824: 504]-->89588744
> [0x0AAE0820: 503]-->SessionManager>>onUnhandledError:
> [0x0AAE081C: 502]-->89588754
> [0x0AAE0818: 501]-->3
> [0x0AAE0814: 500]-->89588732
> [0x0AAE0810: 499]-->a Error
> [0x0AAE080C: 498]-->a PluginSessionManager
> [0x0AAE0808: 497]-->89588732
> [0x0AAE0804: 496]-->Error>>defaultAction
> [0x0AAE0800: 495]-->89588740
> [0x0AAE07FC: 494]-->8
> [0x0AAE07F8: 493]-->89588720
> [0x0AAE07F4: 492]-->a Error
> [0x0AAE07F0: 491]-->a MethodContext
> [0x0AAE07EC: 490]-->Exception>>_propagateFrom:
> [0x0AAE07E8: 489]-->89588728
> [0x0AAE07E4: 488]-->60
> [0x0AAE07E0: 487]-->89588710
> [0x0AAE07DC: 486]-->89588708
> [0x0AAE07D8: 485]-->Exception>>_propagate
> [0x0AAE07D4: 484]-->89588718
> [0x0AAE07D0: 483]-->9
> [0x0AAE07CC: 482]-->89588694
> [0x0AAE07C8: 481]-->nil
> [0x0AAE07C4: 480]-->a Error
> [0x0AAE07C0: 479]-->a Error
> [0x0AAE07BC: 478]-->89588694
> [0x0AAE07B8: 477]-->Exception>>pass
> [0x0AAE07B4: 476]-->89588704
> [0x0AAE07B0: 475]-->7
> [0x0AAE07AC: 474]-->89588682
> [0x0AAE07A8: 473]-->a Error
> [0x0AAE07A4: 472]-->[] @ 24 in DeferredValue>>evaluate:withArguments:at:
> [0x0AAE07A0: 471]-->DeferredValue>>evaluate:withArguments:at:
> [0x0AAE079C: 470]-->89588690
> [0x0AAE0798: 469]-->34
> [0x0AAE0794: 468]-->89588672
> [0x0AAE0790: 467]-->[] @ 15 in Exception>>_evaluateHandler:in:
> [0x0AAE078C: 466]-->Exception>>_evaluateHandler:in:
> [0x0AAE0788: 465]-->89588680
> [0x0AAE0784: 464]-->36
> [0x0AAE0780: 463]-->89588658
> [0x0AAE077C: 462]-->[] @ 6 in BlockClosure>>ifCurtailed:
> [0x0AAE0778: 461]-->[] @ 15 in Exception>>_evaluateHandler:in:
> [0x0AAE0774: 460]-->a MethodContext
> [0x0AAE0770: 459]-->BlockClosure>>ifCurtailed:
> [0x0AAE076C: 458]-->89588670
> [0x0AAE0768: 457]-->20
> [0x0AAE0764: 456]-->89588648
> [0x0AAE0760: 455]-->89588644
> [0x0AAE075C: 454]-->BlockClosure>>ensure:
> [0x0AAE0758: 453]-->89588656
> [0x0AAE0754: 452]-->7
> [0x0AAE0750: 451]-->89588632
> [0x0AAE074C: 450]-->nil
> [0x0AAE0748: 449]-->[] @ 40 in Exception>>_evaluateHandler:in:
> [0x0AAE0744: 448]-->[] @ 15 in Exception>>_evaluateHandler:in:
> [0x0AAE0740: 447]-->a MethodContext
> [0x0AAE073C: 446]-->Exception>>_evaluateHandler:in:
> [0x0AAE0738: 445]-->89588640
> [0x0AAE0734: 444]-->52
> [0x0AAE0730: 443]-->89588622
> [0x0AAE072C: 442]-->a MethodContext
> [0x0AAE0728: 441]-->Exception>>_propagateFrom:
> [0x0AAE0724: 440]-->89588630
> [0x0AAE0720: 439]-->47
> [0x0AAE071C: 438]-->89588612
> [0x0AAE0718: 437]-->89588610
> [0x0AAE0714: 436]-->Exception>>_propagate
> [0x0AAE0710: 435]-->89588620
> [0x0AAE070C: 434]-->9
> [0x0AAE0708: 433]-->89588596
> [0x0AAE0704: 432]-->nil
> [0x0AAE0700: 431]-->a Error
> [0x0AAE06FC: 430]-->a Error
> [0x0AAE06F8: 429]-->89588596
> [0x0AAE06F4: 428]-->Exception>>pass
> [0x0AAE06F0: 427]-->89588606
> [0x0AAE06EC: 426]-->7
> [0x0AAE06E8: 425]-->89588584
> [0x0AAE06E4: 424]-->a Error
> [0x0AAE06E0: 423]-->[] @ 48 in ClassLocator>>findOrImportForeignClass
> [0x0AAE06DC: 422]-->ClassLocator>>findOrImportForeignClass
> [0x0AAE06D8: 421]-->89588592
> [0x0AAE06D4: 420]-->59
> [0x0AAE06D0: 419]-->89588574
> [0x0AAE06CC: 418]-->[] @ 15 in Exception>>_evaluateHandler:in:
> [0x0AAE06C8: 417]-->Exception>>_evaluateHandler:in:
> [0x0AAE06C4: 416]-->89588582
> [0x0AAE06C0: 415]-->36
> [0x0AAE06BC: 414]-->89588560
> [0x0AAE06B8: 413]-->[] @ 6 in BlockClosure>>ifCurtailed:
> [0x0AAE06B4: 412]-->[] @ 15 in Exception>>_evaluateHandler:in:
> [0x0AAE06B0: 411]-->a MethodContext
> [0x0AAE06AC: 410]-->BlockClosure>>ifCurtailed:
> [0x0AAE06A8: 409]-->89588572
> [0x0AAE06A4: 408]-->20
> [0x0AAE06A0: 407]-->89588550
> [0x0AAE069C: 406]-->89588546
> [0x0AAE0698: 405]-->BlockClosure>>ensure:
> [0x0AAE0694: 404]-->89588558
> [0x0AAE0690: 403]-->7
> [0x0AAE068C: 402]-->89588534
> [0x0AAE0688: 401]-->nil
> [0x0AAE0684: 400]-->[] @ 40 in Exception>>_evaluateHandler:in:
> [0x0AAE0680: 399]-->[] @ 15 in Exception>>_evaluateHandler:in:
> [0x0AAE067C: 398]-->a MethodContext
> [0x0AAE0678: 397]-->Exception>>_evaluateHandler:in:
> [0x0AAE0674: 396]-->89588542
> [0x0AAE0670: 395]-->52
> [0x0AAE066C: 394]-->89588524
> [0x0AAE0668: 393]-->a MethodContext
> [0x0AAE0664: 392]-->Exception>>_propagateFrom:
> [0x0AAE0660: 391]-->89588532
> [0x0AAE065C: 390]-->47
> [0x0AAE0658: 389]-->89588514
> [0x0AAE0654: 388]-->89588512
> [0x0AAE0650: 387]-->Exception>>_propagate
> [0x0AAE064C: 386]-->89588522
> [0x0AAE0648: 385]-->9
> [0x0AAE0644: 384]-->89588500
> [0x0AAE0640: 383]-->nil
> [0x0AAE063C: 382]-->a Error
> ...
> <230 slots omitted>
> ...
> [0x0AAE02A0: 151]-->ExceptionHandlerAbstract>>try:
> [0x0AAE029C: 150]-->89588050
> [0x0AAE0298: 149]-->24
> [0x0AAE0294: 148]-->89588028
> [0x0AAE0290: 147]-->[] @ 6 in BlockClosure>>ifCurtailed:
> [0x0AAE028C: 146]-->[] @ 15 in ExceptionHandlerAbstract>>try:
> [0x0AAE0288: 145]-->a MethodContext
> [0x0AAE0284: 144]-->BlockClosure>>ifCurtailed:
> [0x0AAE0280: 143]-->89588040
> [0x0AAE027C: 142]-->20
> [0x0AAE0278: 141]-->89588018
> [0x0AAE0274: 140]-->89588014
> [0x0AAE0270: 139]-->BlockClosure>>ensure:
> [0x0AAE026C: 138]-->89588026
> [0x0AAE0268: 137]-->7
> [0x0AAE0264: 136]-->89588002
> [0x0AAE0260: 135]-->nil
> [0x0AAE025C: 134]-->[] @ 34 in ExceptionHandlerAbstract>>try:
> [0x0AAE0258: 133]-->[] @ 15 in ExceptionHandlerAbstract>>try:
> [0x0AAE0254: 132]-->a MethodContext
> [0x0AAE0250: 131]-->ExceptionHandlerAbstract>>try:
> [0x0AAE024C: 130]-->89588010
> [0x0AAE0248: 129]-->42
> [0x0AAE0244: 128]-->89587992
> [0x0AAE0240: 127]-->89587988
> [0x0AAE023C: 126]-->BlockClosure>>on:do:
> [0x0AAE0238: 125]-->89588000
> [0x0AAE0234: 124]-->10
> [0x0AAE0230: 123]-->89587976
> [0x0AAE022C: 122]-->[] @ 29 in NPApplet>>startApplet
> [0x0AAE0228: 121]-->BinaryPackageVersionError
> [0x0AAE0224: 120]-->[] @ 15 in NPApplet>>startApplet
> [0x0AAE0220: 119]-->a MethodContext
> [0x0AAE021C: 118]-->NPApplet>>startApplet
> [0x0AAE0218: 117]-->89587984
> [0x0AAE0214: 116]-->39
> [0x0AAE0210: 115]-->89587966
> [0x0AAE020C: 114]-->[] @ 15 in NPApplet>>evaluateAttributes
> [0x0AAE0208: 113]-->NPApplet>>evaluateAttributes
> [0x0AAE0204: 112]-->89587974
> [0x0AAE0200: 111]-->20
> [0x0AAE01FC: 110]-->89587956
> [0x0AAE01F8: 109]-->89587952
> [0x0AAE01F4: 108]-->DeferredValue>>_evaluate:withArguments:
> [0x0AAE01F0: 107]-->89587964
> [0x0AAE01EC: 106]-->3
> [0x0AAE01E8: 105]-->89587938
> [0x0AAE01E4: 104]-->a Array
> [0x0AAE01E0: 103]-->[] @ 15 in NPApplet>>evaluateAttributes
> [0x0AAE01DC: 102]-->a DeferredValue
> [0x0AAE01D8: 101]-->a DeferredValue
> [0x0AAE01D4: 100]-->[] @ 12 in DeferredValue>>evaluate:withArguments:at:
> [0x0AAE01D0: 99]-->DeferredValue>>evaluate:withArguments:at:
> [0x0AAE01CC: 98]-->89587948
> [0x0AAE01C8: 97]-->20
> [0x0AAE01C4: 96]-->89587928
> [0x0AAE01C0: 95]-->a MethodContext
> [0x0AAE01BC: 94]-->ExceptionHandlerAbstract>>markAndTry
> [0x0AAE01B8: 93]-->89587936
> [0x0AAE01B4: 92]-->14
> [0x0AAE01B0: 91]-->89587918
> [0x0AAE01AC: 90]-->[] @ 15 in ExceptionHandlerAbstract>>try:
> [0x0AAE01A8: 89]-->ExceptionHandlerAbstract>>try:
> [0x0AAE01A4: 88]-->89587926
> [0x0AAE01A0: 87]-->24
> [0x0AAE019C: 86]-->89587904
> [0x0AAE0198: 85]-->[] @ 6 in BlockClosure>>ifCurtailed:
> [0x0AAE0194: 84]-->[] @ 15 in ExceptionHandlerAbstract>>try:
> [0x0AAE0190: 83]-->a MethodContext
> [0x0AAE018C: 82]-->BlockClosure>>ifCurtailed:
> [0x0AAE0188: 81]-->89587916
> [0x0AAE0184: 80]-->20
> [0x0AAE0180: 79]-->89587894
> [0x0AAE017C: 78]-->89587890
> [0x0AAE0178: 77]-->BlockClosure>>ensure:
> [0x0AAE0174: 76]-->89587902
> [0x0AAE0170: 75]-->7
> [0x0AAE016C: 74]-->89587878
> [0x0AAE0168: 73]-->nil
> [0x0AAE0164: 72]-->[] @ 34 in ExceptionHandlerAbstract>>try:
> [0x0AAE0160: 71]-->[] @ 15 in ExceptionHandlerAbstract>>try:
> [0x0AAE015C: 70]-->a MethodContext
> [0x0AAE0158: 69]-->ExceptionHandlerAbstract>>try:
> [0x0AAE0154: 68]-->89587886
> [0x0AAE0150: 67]-->42
> [0x0AAE014C: 66]-->89587868
> [0x0AAE0148: 65]-->89587866
> [0x0AAE0144: 64]-->BlockClosure>>onDo:
> [0x0AAE0140: 63]-->89587876
> [0x0AAE013C: 62]-->3
> [0x0AAE0138: 61]-->89587854
> [0x0AAE0134: 60]-->a ExceptionHandlerSet
> [0x0AAE0130: 59]-->[] @ 12 in DeferredValue>>evaluate:withArguments:at:
> [0x0AAE012C: 58]-->89587846
> [0x0AAE0128: 57]-->BlockClosure>>on:do:on:do:
> [0x0AAE0124: 56]-->89587862
> [0x0AAE0120: 55]-->16
> [0x0AAE011C: 54]-->89587834
> [0x0AAE0118: 53]-->[] @ 37 in DeferredValue>>evaluate:withArguments:at:
> [0x0AAE0114: 52]-->ProcessTermination
> [0x0AAE0110: 51]-->[] @ 24 in DeferredValue>>evaluate:withArguments:at:
> [0x0AAE010C: 50]-->Error
> [0x0AAE0108: 49]-->[] @ 12 in DeferredValue>>evaluate:withArguments:at:
> [0x0AAE0104: 48]-->[] @ 8 in DeferredValue>>evaluate:withArguments:at:
> [0x0AAE0100: 47]-->DeferredValue>>evaluate:withArguments:at:
> [0x0AAE00FC: 46]-->89587842
> [0x0AAE00F8: 45]-->54
> [0x0AAE00F4: 44]-->89587824
> [0x0AAE00F0: 43]-->a MethodContext
> [0x0AAE00EC: 42]-->ExceptionHandlerAbstract>>markAndTry
> [0x0AAE00E8: 41]-->89587832
> [0x0AAE00E4: 40]-->14
> [0x0AAE00E0: 39]-->89587814
> [0x0AAE00DC: 38]-->[] @ 15 in ExceptionHandlerAbstract>>try:
> [0x0AAE00D8: 37]-->ExceptionHandlerAbstract>>try:
> [0x0AAE00D4: 36]-->89587822
> [0x0AAE00D0: 35]-->24
> [0x0AAE00CC: 34]-->89587800
> [0x0AAE00C8: 33]-->[] @ 6 in BlockClosure>>ifCurtailed:
> [0x0AAE00C4: 32]-->[] @ 15 in ExceptionHandlerAbstract>>try:
> [0x0AAE00C0: 31]-->a MethodContext
> [0x0AAE00BC: 30]-->BlockClosure>>ifCurtailed:
> [0x0AAE00B8: 29]-->89587812
> [0x0AAE00B4: 28]-->20
> [0x0AAE00B0: 27]-->89587790
> [0x0AAE00AC: 26]-->89587786
> [0x0AAE00A8: 25]-->BlockClosure>>ensure:
> [0x0AAE00A4: 24]-->89587798
> [0x0AAE00A0: 23]-->7
> [0x0AAE009C: 22]-->89587774
> [0x0AAE0098: 21]-->nil
> [0x0AAE0094: 20]-->[] @ 34 in ExceptionHandlerAbstract>>try:
> [0x0AAE0090: 19]-->[] @ 15 in ExceptionHandlerAbstract>>try:
> [0x0AAE008C: 18]-->a MethodContext
> [0x0AAE0088: 17]-->ExceptionHandlerAbstract>>try:
> [0x0AAE0084: 16]-->89587782
> [0x0AAE0080: 15]-->42
> [0x0AAE007C: 14]-->89587764
> [0x0AAE0078: 13]-->89587760
> [0x0AAE0074: 12]-->BlockClosure>>on:do:
> [0x0AAE0070: 11]-->89587772
> [0x0AAE006C: 10]-->10
> [0x0AAE0068: 9]-->89587748
> [0x0AAE0064: 8]-->[] @ 12 in BlockClosure>>newProcess
> [0x0AAE0060: 7]-->ProcessTermination
> [0x0AAE005C: 6]-->[] @ 8 in DeferredValue>>evaluate:withArguments:at:
> [0x0AAE0058: 5]-->[] @ 6 in BlockClosure>>newProcess
> [0x0AAE0054: 4]-->BlockClosure>>newProcess
> [0x0AAE0050: 3]-->89587756
> [0x0AAE004C: 2]-->20
> [0x0AAE0048: 1]-->0
> <Bottom of stack>
>
> *----> Stack Back Trace <----*
> {0x0AAE086C: cf 0x0AAE084D, sp 0x0AAE087C, bp 0x0AAE0864, ip 10,
> VMLibrary>>crashDump:}
> {0x0AAE084C: cf 0x0AAE0831, sp 0x0AAE085C, bp 0x0AAE0848, ip 6,
> PluginSessionManager>>logError:}
> {0x0AAE0830: cf 0x0AAE0815, sp 0x0AAE0840, bp 0x0AAE082C, ip 4,
> PluginSessionManager(SessionManager)>>unhandledException:}
> {0x0AAE0814: cf 0x0AAE07F9, sp 0x0AAE0824, bp 0x0AAE0810, ip 4,
> PluginSessionManager(SessionManager)>>onUnhandledError:}
> {0x0AAE07F8: cf 0x0AAE07E1, sp 0x0AAE0808, bp 0x0AAE07F8, ip 5,
> Error>>defaultAction}
> {0x0AAE07E0: cf 0x0AAE07CD, sp 0x0AAE07F0, bp 0x0A9DCA58, ip 57,
> Error(Exception)>>_propagateFrom:}
> {0x0AAE07CC: cf 0x0AAE07AD, sp 0x0AAE07DC, bp 0x0AAE07C8, ip 6,
> Error(Exception)>>_propagate}
> {0x0AAE07AC: cf 0x0AAE0795, sp 0x0AAE07C0, bp 0x0AAE07AC, ip 4,
> Error(Exception)>>pass}
> {0x0AAE0794: cf 0x0AAE0781, sp 0x0AAE07A4, bp 0x0A9DC1D0, ip 31, [] in
> DeferredValue>>evaluate:withArguments:at:}
> {0x0AAE0780: cf 0x0AAE0765, sp 0x0AAE0790, bp 0x0A9DC080, ip 33, [] in
> Error(Exception)>>_evaluateHandler:in:}
> {0x0AAE0764: cf 0x0AAE0751, sp 0x0AAE077C, bp 0x0A9C57F0, ip 17,
> BlockClosure>>ifCurtailed:}
> {0x0AAE0750: cf 0x0AAE0731, sp 0x0AAE0760, bp 0x0AAE0748, ip 4,
> BlockClosure>>ensure:}
> {0x0AAE0730: cf 0x0AAE071D, sp 0x0AAE0740, bp 0x0A9DC080, ip 49,
> Error(Exception)>>_evaluateHandler:in:}
> {0x0AAE071C: cf 0x0AAE0709, sp 0x0AAE072C, bp 0x0A9DCCF8, ip 44,
> Error(Exception)>>_propagateFrom:}
> {0x0AAE0708: cf 0x0AAE06E9, sp 0x0AAE0718, bp 0x0AAE0704, ip 6,
> Error(Exception)>>_propagate}
> {0x0AAE06E8: cf 0x0AAE06D1, sp 0x0AAE06FC, bp 0x0AAE06E8, ip 4,
> Error(Exception)>>pass}
> {0x0AAE06D0: cf 0x0AAE06BD, sp 0x0AAE06E0, bp 0x0A9DC978, ip 56, [] in
> ClassLocator>>findOrImportForeignClass}
> {0x0AAE06BC: cf 0x0AAE06A1, sp 0x0AAE06CC, bp 0x0A9DCC88, ip 33, [] in
> Error(Exception)>>_evaluateHandler:in:}
> {0x0AAE06A0: cf 0x0AAE068D, sp 0x0AAE06B8, bp 0x0A9DCCC0, ip 17,
> BlockClosure>>ifCurtailed:}
> {0x0AAE068C: cf 0x0AAE066D, sp 0x0AAE069C, bp 0x0AAE0684, ip 4,
> BlockClosure>>ensure:}
> {0x0AAE066C: cf 0x0AAE0659, sp 0x0AAE067C, bp 0x0A9DCC88, ip 49,
> Error(Exception)>>_evaluateHandler:in:}
> {0x0AAE0658: cf 0x0AAE0645, sp 0x0AAE0668, bp 0x0A9DC048, ip 44,
> Error(Exception)>>_propagateFrom:}
> {0x0AAE0644: cf 0x0AAE0629, sp 0x0AAE0654, bp 0x0AAE0640, ip 6,
> Error(Exception)>>_propagate}
> {0x0AAE0628: cf 0x0AAE0611, sp 0x0AAE0638, bp 0x0AAE0628, ip 12,
> Error(Exception)>>signal}
> {0x0AAE0610: cf 0x0AAE05F5, sp 0x0AAE0620, bp 0x0AAE060C, ip 7,
> Error(Exception)>>signal:}
> {0x0AAE05F4: cf 0x0AAE05D9, sp 0x0AAE0604, bp 0x0AAE05F0, ip 5, Error
> class(Exception class)>>signal:}
> {0x0AAE05D8: cf 0x0AAE05BD, sp 0x0AAE05E8, bp 0x0AAE05D4, ip 4,
> ClassLocator(Object)>>error:}
> {0x0AAE05BC: cf 0x0AAE05A5, sp 0x0AAE05CC, bp 0x0AAE05BC, ip 6,
> ClassLocator>>errorClassNotFound}
> {0x0AAE05A4: cf 0x0AAE0591, sp 0x0AAE05B4, bp 0x0A9DC978, ip 28, [] in
> ClassLocator>>findOrImportForeignClass}
> {0x0AAE0590: cf 0x0AAE057D, sp 0x0AAE05A0, bp 0x0A9DCC18, ip 25,
> WeakLookupTable(SharedLookupTable)>>at:ifAbsent:}
> {0x0AAE057C: cf 0x0AAE0569, sp 0x0AAE058C, bp 0x0A9DC978, ip 40, [] in
> ClassLocator>>findOrImportForeignClass}
> {0x0AAE0568: cf 0x0AAE0555, sp 0x0AAE0578, bp 0x0A9DCC50, ip 11,
> ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry}
> {0x0AAE0554: cf 0x0AAE0539, sp 0x0AAE0564, bp 0x0A9DCB38, ip 21, [] in
> ExceptionHandler(ExceptionHandlerAbstract)>>try:}
> {0x0AAE0538: cf 0x0AAE0525, sp 0x0AAE0550, bp 0x0A9DCBE0, ip 17,
> BlockClosure>>ifCurtailed:}
> {0x0AAE0524: cf 0x0AAE0505, sp 0x0AAE0534, bp 0x0AAE051C, ip 4,
> BlockClosure>>ensure:}
> {0x0AAE0504: cf 0x0AAE04F1, sp 0x0AAE0514, bp 0x0A9DCB38, ip 39,
> ExceptionHandler(ExceptionHandlerAbstract)>>try:}
> {0x0AAE04F0: cf 0x0AAE04D1, sp 0x0AAE0500, bp 0x0AAE04E8, ip 7,
> BlockClosure>>on:do:}
> {0x0AAE04D0: cf 0x0AAE04BD, sp 0x0AAE04E0, bp 0x0A9DC978, ip 59, [] in
> ClassLocator>>findOrImportForeignClass}
> {0x0AAE04BC: cf 0x0AAE04A1, sp 0x0AAE04CC, bp 0x0A9DC9B0, ip 33, [] in
> Mutex>>critical:}
> {0x0AAE04A0: cf 0x0AAE048D, sp 0x0AAE04B8, bp 0x0A9DCB70, ip 17,
> BlockClosure>>ifCurtailed:}
> {0x0AAE048C: cf 0x0AAE046D, sp 0x0AAE049C, bp 0x0AAE0484, ip 4,
> BlockClosure>>ensure:}
> {0x0AAE046C: cf 0x0AAE0459, sp 0x0AAE047C, bp 0x0A9DC9B0, ip 69,
> Mutex>>critical:}
> {0x0AAE0458: cf 0x0AAE0445, sp 0x0AAE0468, bp 0x0A9DC978, ip 61,
> ClassLocator>>findOrImportForeignClass}
> {0x0AAE0444: cf 0x0AAE0429, sp 0x0AAE0454, bp 0x0AAE0440, ip 9,
> ClassLocator>>locateClass}
> {0x0AAE0428: cf 0x0AAE03F5, sp 0x0AAE0438, bp 0x0AAE040C, ip 23,
> STBInFiler>>readClassData:}
> {0x0AAE03F4: cf 0x0AAE03CD, sp 0x0AAE0404, bp 0x0AAE03E4, ip 51,
> STBInFiler>>basicNext}
> {0x0AAE03CC: cf 0x0AAE03B1, sp 0x0AAE03DC, bp 0x0AAE03C8, ip 3,
> STBInFiler>>next}
> {0x0AAE03B0: cf 0x0AAE037D, sp 0x0AAE03C0, bp 0x0AAE0398, ip 67,
> EqPersonPresenter>>fetchModel}
> {0x0AAE037C: cf 0x0AAE0361, sp 0x0AAE0390, bp 0x0AAE037C, ip 11,
> EqPersonPresenter>>onViewOpened}
> {0x0AAE0360: cf 0x0AAE0339, sp 0x0AAE0374, bp 0x0AAE0350, ip 14,
> EqPersonPresenter class(Presenter class)>>create:in:on:}
> {0x0AAE0338: cf 0x0AAE0319, sp 0x0AAE0348, bp 0x0AAE0330, ip 8,
> EqPersonPresenter class(Presenter class)>>create:in:}
> {0x0AAE0318: cf 0x0AAE02ED, sp 0x0AAE0328, bp 0x0AAE0304, ip 19,
> EqPersonPresenter class(Presenter class)>>show:inPlugin:}
> {0x0AAE02EC: cf 0x0AAE02D1, sp 0x0AAE02FC, bp 0x0AAE02E8, ip 5,
> Message>>value:}
> {0x0AAE02D0: cf 0x0AAE02BD, sp 0x0AAE02E0, bp 0x0A9DC940, ip 23,
> EqPersonPresenter class(ClassStub)>>doesNotUnderstand:}
> {0x0AAE02BC: cf 0x0AAE02A9, sp 0x0AAE02CC, bp 0x0A9DC860, ip 21, [] in
> NPApplet>>startApplet}
> {0x0AAE02A8: cf 0x0AAE0295, sp 0x0AAE02B8, bp 0x0A9DC908, ip 11,
> ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry}
> {0x0AAE0294: cf 0x0AAE0279, sp 0x0AAE02A4, bp 0x0A9DC898, ip 21, [] in
> ExceptionHandler(ExceptionHandlerAbstract)>>try:}
> {0x0AAE0278: cf 0x0AAE0265, sp 0x0AAE0290, bp 0x0A9DC8D0, ip 17,
> BlockClosure>>ifCurtailed:}
> {0x0AAE0264: cf 0x0AAE0245, sp 0x0AAE0274, bp 0x0AAE025C, ip 4,
> BlockClosure>>ensure:}
> {0x0AAE0244: cf 0x0AAE0231, sp 0x0AAE0254, bp 0x0A9DC898, ip 39,
> ExceptionHandler(ExceptionHandlerAbstract)>>try:}
> {0x0AAE0230: cf 0x0AAE0211, sp 0x0AAE0240, bp 0x0AAE0228, ip 7,
> BlockClosure>>on:do:}
> {0x0AAE0210: cf 0x0AAE01FD, sp 0x0AAE0220, bp 0x0A9DC860, ip 36,
> NPApplet>>startApplet}
> {0x0AAE01FC: cf 0x0AAE01E9, sp 0x0AAE020C, bp 0x0A9DC198, ip 17, [] in
> NPApplet>>evaluateAttributes}
> {0x0AAE01E8: cf 0x0AAE01C5, sp 0x0AAE01F8, bp 0x0AAE01E0, ip 4,
> DeferredValue>>_evaluate:withArguments:}
> {0x0AAE01C4: cf 0x0AAE01B1, sp 0x0AAE01D8, bp 0x0A9DC1D0, ip 17, [] in
> DeferredValue>>evaluate:withArguments:at:}
> {0x0AAE01B0: cf 0x0AAE019D, sp 0x0AAE01C0, bp 0x0A9DC828, ip 11,
> ExceptionHandlerSet(ExceptionHandlerAbstract)>>markAndTry}
> {0x0AAE019C: cf 0x0AAE0181, sp 0x0AAE01AC, bp 0x0A9DC780, ip 21, [] in
> ExceptionHandlerSet(ExceptionHandlerAbstract)>>try:}
> {0x0AAE0180: cf 0x0AAE016D, sp 0x0AAE0198, bp 0x0A9DC7F0, ip 17,
> BlockClosure>>ifCurtailed:}
> {0x0AAE016C: cf 0x0AAE014D, sp 0x0AAE017C, bp 0x0AAE0164, ip 4,
> BlockClosure>>ensure:}
> {0x0AAE014C: cf 0x0AAE0139, sp 0x0AAE015C, bp 0x0A9DC780, ip 39,
> ExceptionHandlerSet(ExceptionHandlerAbstract)>>try:}
> {0x0AAE0138: cf 0x0AAE011D, sp 0x0AAE0148, bp 0x0AAE0134, ip 4,
> BlockClosure>>onDo:}
> {0x0AAE011C: cf 0x0AAE00F5, sp 0x0AAE012C, bp 0x0AAE010C, ip 13,
> BlockClosure>>on:do:on:do:}
> {0x0AAE00F4: cf 0x0AAE00E1, sp 0x0AAE0104, bp 0x0A9DC1D0, ip 51, [] in
> DeferredValue>>evaluate:withArguments:at:}
> {0x0AAE00E0: cf 0x0AAE00CD, sp 0x0AAE00F0, bp 0x0A9DC748, ip 11,
> ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry}
> {0x0AAE00CC: cf 0x0AAE00B1, sp 0x0AAE00DC, bp 0x0A9DC6D8, ip 21, [] in
> ExceptionHandler(ExceptionHandlerAbstract)>>try:}
> {0x0AAE00B0: cf 0x0AAE009D, sp 0x0AAE00C8, bp 0x0A9DC710, ip 17,
> BlockClosure>>ifCurtailed:}
> {0x0AAE009C: cf 0x0AAE007D, sp 0x0AAE00AC, bp 0x0AAE0094, ip 4,
> BlockClosure>>ensure:}
> {0x0AAE007C: cf 0x0AAE0069, sp 0x0AAE008C, bp 0x0A9DC6D8, ip 39,
> ExceptionHandler(ExceptionHandlerAbstract)>>try:}
> {0x0AAE0068: cf 0x0AAE0049, sp 0x0AAE0078, bp 0x0AAE0060, ip 7,
> BlockClosure>>on:do:}
> {0x0AAE0048: cf 0x00000001, sp 0x0AAE0058, bp 0x0A9DC0B8, ip 17, [] in
> BlockClosure>>newProcess}
> <Bottom of stack>
>
> ***** End of crash report *****
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Web Deployment Problem

Blair McGlashan
In reply to this post by Jerry Bell
Jerry

You wrote in message news:9e7ahf$1fkgd$[hidden email]...
> ...
> There seems to be a problem using STB in an applet (when the STB'd
objects'
> classes are loaded via binary packages, anyway).  I found something
similar
> in a post by Ted Bracht back in January.
>...

Ah, that is (I'd guess) because you are not setting the #classLocator of the
STBInFiler, and so it is attempting to lookup the classes referenced in the
STB file in the "global" namespace, which would not include any classes
dynamically loaded from binary packages. Classes loaded from binary packages
exist within a "namespace" that is based on the URL from which they were
loaded - the "codeBase". The fully qualified name of a class is needed to
resolve any classes loaded from binary packages (this is in order to avoid
name clash issues when loading multiple applets). In order to resolve the
class references, the STBInFiler needs to know the namespace in which it
should look, by default the global namespace.

>...
> My applet downloads an STB file from a Xerox Docushare document repository
> via the COM objects that where giving me problems before.  I save the file
> as a local temporary file and then load it via STB.  This works great from
> my development image.

That would be because you have the classes loaded into (effectively) the
global namespace.

> But, when deployed as an applet this barfs when STB'ing the file, with a
> message that the EqPerson class (my model class) can't be found in the
> image.  The funny thing is, if I'm not using STB I can work with the
> EqPerson class in the applet as much as I want without any problems.  I
can
> even do stuff with EqPerson in the applet without errors just before
trying
> to STB one in, everything is always fine until the STB'ing starts.

Yes that is because all references to the class are within the context of
the binary package, which knows the correct class locator.

> My applet lives in a single binary package, which includes the applet
> presenter (EqPersonPresenter) and the model (EqPerson).

You need to set up the class/file locator (class locators are a type of file
locator). Inside an applet you need to get at the URLClassLocator associated
with the applet. How you go about doing this depends on where you are
instantiating the STBInFiler. I'll assume from the EqPersonPresenter, in
which case the locator is available by sending #fileLocator to its view.

The only caveat about this is that in a non-applet situation #fileLocator
will answer a <FileLocator> (in fact an ImageRelativeFileLocator). Now
ClassLocator is a FileLocator, but not vice versa, and hence if you attempt
to use one as the classLocator for an STBInFiler it will result in DNUs.
This is a weakness in the current design, although #fileLocator was really
intended for locating resources, rather than loading classes. This means
that running exactly the same code as an applet or an application will not
be entirely seamless, and you will need some conditional code to control
whether the STBInFiler's default classLocator is replaced (yes in the applet
case, not in the application case).

An alternative would be to construct an appropriate ClassLocator with the
correct codeBase (the server URL) as required.

Regards

Blair


Reply | Threaded
Open this post in threaded view
|

Re: Web Deployment Problem

Jerry Bell
Thank you very much!  This looks like it will be more than enough to get
things going- and it also indicates to me that I should look into the
ClassLocator and its friends more in-depth- the 'namespace' stuff sounds
really interesting...

Thanks again!  You've saved my applet's life!

Jerry


"Blair McGlashan" <[hidden email]> wrote in message
news:9eds47$2eif2$[hidden email]...

> Jerry
>
> You wrote in message news:9e7ahf$1fkgd$[hidden email]...
> > ...
> > There seems to be a problem using STB in an applet (when the STB'd
> objects'
> > classes are loaded via binary packages, anyway).  I found something
> similar
> > in a post by Ted Bracht back in January.
> >...
>
> Ah, that is (I'd guess) because you are not setting the #classLocator of
the
> STBInFiler, and so it is attempting to lookup the classes referenced in
the
> STB file in the "global" namespace, which would not include any classes
> dynamically loaded from binary packages. Classes loaded from binary
packages
> exist within a "namespace" that is based on the URL from which they were
> loaded - the "codeBase". The fully qualified name of a class is needed to
> resolve any classes loaded from binary packages (this is in order to avoid
> name clash issues when loading multiple applets). In order to resolve the
> class references, the STBInFiler needs to know the namespace in which it
> should look, by default the global namespace.
>
> >...
> > My applet downloads an STB file from a Xerox Docushare document
repository
> > via the COM objects that where giving me problems before.  I save the
file
> > as a local temporary file and then load it via STB.  This works great
from

> > my development image.
>
> That would be because you have the classes loaded into (effectively) the
> global namespace.
>
> > But, when deployed as an applet this barfs when STB'ing the file, with a
> > message that the EqPerson class (my model class) can't be found in the
> > image.  The funny thing is, if I'm not using STB I can work with the
> > EqPerson class in the applet as much as I want without any problems.  I
> can
> > even do stuff with EqPerson in the applet without errors just before
> trying
> > to STB one in, everything is always fine until the STB'ing starts.
>
> Yes that is because all references to the class are within the context of
> the binary package, which knows the correct class locator.
>
> > My applet lives in a single binary package, which includes the applet
> > presenter (EqPersonPresenter) and the model (EqPerson).
>
> You need to set up the class/file locator (class locators are a type of
file
> locator). Inside an applet you need to get at the URLClassLocator
associated
> with the applet. How you go about doing this depends on where you are
> instantiating the STBInFiler. I'll assume from the EqPersonPresenter, in
> which case the locator is available by sending #fileLocator to its view.
>
> The only caveat about this is that in a non-applet situation #fileLocator
> will answer a <FileLocator> (in fact an ImageRelativeFileLocator). Now
> ClassLocator is a FileLocator, but not vice versa, and hence if you
attempt
> to use one as the classLocator for an STBInFiler it will result in DNUs.
> This is a weakness in the current design, although #fileLocator was really
> intended for locating resources, rather than loading classes. This means
> that running exactly the same code as an applet or an application will not
> be entirely seamless, and you will need some conditional code to control
> whether the STBInFiler's default classLocator is replaced (yes in the
applet

> case, not in the application case).
>
> An alternative would be to construct an appropriate ClassLocator with the
> correct codeBase (the server URL) as required.
>
> Regards
>
> Blair
>
>