Hi
I'm clueless so I will try to ask here. Is there anybody who get error c0000005 in pbvm.dll at offset 25b866? This error is rare. It takes days to get it but it happens from time to time. The error is somehow linked to toolbar or menu.
What I've investigated:
1. If the toolbar is "traditional" then it occurred less often than with "contemporary" toolbar.
2. The error occurrence probability is higher when the application is being running for longer period. Especially if the app was previously idle for long time.
3. The error happens after window object constructors are done and before window.open event is called (edit - currently unverified, I'm not sure because I've noticed a slightly different stack at my computer. The client doesn't have PBVM!FN_ToolbarSortItems related calls)
).
4. The error seems to be independent to toolbar visibility.
5. It happens only in MDI sheet. Never in response or popup.
Is there anybody who gets this error? Does a workaround exist?
I'm opening a ticket.
My configuration:
PB 2021 build 1509, 32bit project, PowerClient, ASA 11, Windows 10.
More details:
Fortunately I've got a dump. In the stack I think it's clearly visible the issue is connected to toolbar creation routine
...
[0x7] ntdll!LdrpLogFatalUserCallbackException + 0x7f
[0x8] ntdll!KiUserCallbackExceptionHandler + 0x25
[0x9] ntdll!ExecuteHandler2 + 0x26
[0xa] ntdll!ExecuteHandler + 0x24
[0xb] ntdll!KiUserExceptionDispatcher + 0x26
[0xc] pbvm!ob_destroy_rtinst + 0x46
[0xd] pbvm!ob_get_obinst_system_class + 0x38
[0xe] pbvm!FN_ToolItemComp + 0x20c
[0xf] pbvm!FN_WndEraseBkgnd + 0x1916
[0x10] pbvm!FN_WindowWnd + 0x15e2
[0x11] user32!_InternalCallWinProc + 0x2a
[0x12] user32!UserCallWinProcCheckWow + 0x4aa
[0x13] user32!DispatchClientMessage + 0xea
[0x14] user32!__fnINLPCREATESTRUCT + 0x69
[0x15] ntdll!KiUserCallbackDispatcher + 0x4c
It looks like
[0xe] pbvm!FN_ToolItemComp + 0x20c
is called through Windows message queue.
My guess is:
the following ob_get_obinst_system_class called from FN_ToolItemComp returns null (because the object doesn't exist yet, it's swapped, too slow etc.)
Then ob_destroy_rtins crash with
NULL_POINTER_READ_c0000005_pbvm.dll