Hello,
I have an application working with Alglib, and most of the time it works great. Occasionally my application crashes, but only when running the release build (not debug build). It is intermittent, the same inputs (data, fitting function, and initial guess) don't always result in a crash so it is difficult to duplicate. I did generate an assembly listing of the release build and found the offset of the crash which appears below. I have try{}catch() around my calls to alglib::lsfitfit(), so I don't think it is throwing an exception. Does anyone understand how to follow this assembly listing, or have a suggestion on how to debug this intermittent crash?
I am doing fairly simple nonlinear fitting with small and simple data sets.
Excerpt of assembly listing (crash was at offset 41fc93:
<__ZN6alglib16kdtreetsqueryrnnERKNS_6kdtreeERKNS_19kdtreerequestbufferERKNS_13real_1d_arrayEdbNS_7xparamsE+0x90> 41f964: c7 04 24 18 00 00 00 movl $0x18,(%esp) 41f96b: e8 80 9d 1b 00 call 5d96f0 <___cxa_allocate_exception> 41f970: 89 c3 mov %eax,%ebx 41f972: 8b 45 dc mov -0x24(%ebp),%eax 41f975: 89 d9 mov %ebx,%ecx 41f977: 89 04 24 mov %eax,(%esp) 41f97a: e8 31 1b 01 00 call 4314b0 <__ZN6alglib8ap_errorC1EPKc> 41f97f: 83 ec 04 sub $0x4,%esp 41f982: c7 44 24 08 f0 71 5e movl $0x5e71f0,0x8(%esp) 41f989: 00 41f98a: c7 44 24 04 d4 86 64 movl $0x6486d4,0x4(%esp) 41f991: 00 41f992: 89 1c 24 mov %ebx,(%esp) 41f995: e8 1e 9d 1b 00 call 5d96b8 <___cxa_throw> 41f99a: 8d b6 00 00 00 00 lea 0x0(%esi),%esi 41f9a0: 8d 85 60 ff ff ff lea -0xa0(%ebp),%eax 41f9a6: 8d 5d a0 lea -0x60(%ebp),%ebx 41f9a9: 89 44 24 04 mov %eax,0x4(%esp) 41f9ad: 89 1c 24 mov %ebx,(%esp) 41f9b0: e8 ab bd 00 00 call 42b760 <__ZN11alglib_impl23ae_state_set_break_jumpEPNS_8ae_stateEPA16_i> 41f9b5: 8b 85 50 ff ff ff mov -0xb0(%ebp),%eax 41f9bb: 0b 85 54 ff ff ff or -0xac(%ebp),%eax 41f9c1: 74 1c je 41f9df <__ZN6alglib16kdtreetsqueryrnnERKNS_6kdtreeERKNS_19kdtreerequestbufferERKNS_13real_1d_arrayEdbNS_7xparamsE+0xcf> 41f9c3: 8b 85 54 ff ff ff mov -0xac(%ebp),%eax
|