SQL Navigator 6.3 crashes when trying to open a package body

Logged as read-only user on our production DB, trying to view the package body code in the production schema. SQL Navigator crashes:

Problem signature:
Problem Event Name: APPCRASH
Application Name: sqlnavigator.exe
Application Version: 6.3.0.1833
Application Timestamp: 2a425e19
Fault Module Name: KERNELBASE.dll
Fault Module Version: 6.1.7600.16385
Fault Module Timestamp: 4a5bdbdf
Exception Code: ebad5417
Exception Offset: 0000b727
OS Version: 6.1.7600.2.0.0.256.48
Locale ID: 1033
Additional Information 1: 146a
Additional Information 2: 146a122927a62bddf791d5e498aa2152
Additional Information 3: a6be
Additional Information 4: a6be457bab23b7b708b047680d6f97e4

Hi Alexy

I have tried to reproduce this, but it all seems to be workiong well for me.
Can you please give me exact details of what priveledges your user has, or provide me with a DDL script of your user so I can try to reproduce the issue.

Regards
Lidia

It happens on when I try to open one pretty big package. Does not happen when I try to open the same package on another database.

I ran SQL Nav in debug mode under WinDBG, here’s the exception analysis, maybe it will help you guys.

0:000:x86> !analyze -v


  •                                                                         *
    
  •                    Exception Analysis                                   *
    
  •                                                                         *
    

GetPageUrlData failed, server returned HTTP status 404
URL requested: http://watson.microsoft.com/StageOne/SQLNav5_exe/6_3_0_1833/2a425e19/KERNELBASE_dll/6_1_7600_16385/4a5bdbdf/ebad5417/0000b727.htm?Retriage=1

FAULTING_IP:
KERNELBASE!RaiseException+58
75ddb727 c9 leave

EXCEPTION_RECORD: ffffffffffffffff – (.exr 0xffffffffffffffff)
ExceptionAddress: 0000000075ddb727 (KERNELBASE!RaiseException+0x0000000000000058)
ExceptionCode: ebad5417
ExceptionFlags: 00000008
NumberParameters: 0

FAULTING_THREAD: 000000000000071c

DEFAULT_BUCKET_ID: ZEROED_STACK

PROCESS_NAME: SQLNav5.exe

ERROR_CODE: (NTSTATUS) 0xebad5417 -

EXCEPTION_CODE: (NTSTATUS) 0xebad5417 -

MOD_LIST:

NTGLOBALFLAG: 70

APPLICATION_VERIFIER_FLAGS: 0

PRIMARY_PROBLEM_CLASS: ZEROED_STACK

BUGCHECK_STR: APPLICATION_FAULT_ZEROED_STACK

LAST_CONTROL_TRANSFER: from 000000006030b89a to 0000000075ddb727

STACK_TEXT:
0018ec78 6030b89a ebad5417 00000000 00000000 KERNELBASE!RaiseException+0x58
WARNING: Stack unwind information not available. Following frames may be wrong.
0018ec9c 6030b426 02eef274 0029aa14 00005417 orageneric10!kgesev+0x4be
0018ecbc 60340e3e 02eef274 0029aa14 00005417 orageneric10!kgesev+0x4a
0018ecd8 6170b3ad 0018ed78 00005417 00000001 orageneric10!koddsec+0x26
0018ecf8 6170b466 0018ed78 00000001 02f0282c OraClient10!koudnwp+0x20d
0018ed50 6035ea3f 0018ed78 02efe694 02f0282c OraClient10!koudn2p+0x66
0018ed8c 6035e2c6 02eef274 00000000 02f8f5f0 orageneric10!kodin2p+0xa3
0018ee68 6035de40 02eef274 02f8f6a0 00000001 orageneric10!kocapm+0x396
0018eef4 6040ceda 02eef274 00000000 00000002 orageneric10!koiopdl+0x26c
0018efd4 02e296bd 02eeed30 02f028e0 02f0282c orageneric10!OCITypeByName+0x7da
0018f00c 04432383 02eeed30 02f028e0 02f0282c oci!OCITypeByName+0x4d
0018f090 044318c8 0018f0a4 044318de 0018f0c0 SQLNav5+0x2a2383
0018f0c0 04c08212 02ce9d28 0018f0d8 04c0842d SQLNav5+0x2a18c8
0018f144 04becf04 0018f214 04bed231 0018f204 SQLNav5!ExceptionManager+0x3c197e
0018f204 04beca94 00000002 02a1cd9c 0018f2dc SQLNav5!ExceptionManager+0x3a6670
0018f2cc 04cd3da7 00000003 02a1cd9c 0018f30c SQLNav5!ExceptionManager+0x3a6200
0018f304 04eb9bd8 0018f3e4 04eb9de8 0018f3d8 SQLNav5!ExceptionManager+0x48d513
0018f3d8 04eba798 0018fbb8 0018f4a4 04ebabe9 SQLNav5!ExceptionManager+0x673344
0018f490 04ec2fe8 0018fbb8 00000000 ffffffff SQLNav5!ExceptionManager+0x673f04
0018fcc0 04c01d64 00000000 0018fd70 04c01ef3 SQLNav5!ExceptionManager+0x67c754
0018fd20 041d8c33 041d8c18 041d8d55 043d8d10 SQLNav5!ExceptionManager+0x3bb4d0
0018fdb0 758a6238 008801c2 00000203 00000001 SQLNav5+0x48c33
0018fddc 758a68ea 002501d1 008801c2 00000203 user32!InternalCallWinProc+0x23
0018fe54 758a7d31 00000000 002501d1 008801c2 user32!UserCallWinProcCheckWow+0x109
0018feb4 758a8112 002501d1 00000001 0018ff18 user32!DispatchMessageWorker+0x3bc
0018fec4 041f7f00 0018fee4 758a7d00 00000000 user32!DispatchMessageA+0xf
0018ff18 04ebce61 0018ff60 04ebce9e 0018ff58 SQLNav5+0x67f00
0018ff58 04f32ad4 0018ff7c 04f32af9 0018ff88 SQLNav5!ExceptionManager+0x6765cd
0018ff88 75e93677 7efde000 0018ffd4 77489d72 SQLNav5!ExceptionManager+0x6ec240
0018ff94 77489d72 7efde000 43c5692a 00000000 kernel32!BaseThreadInitThunk+0xe
0018ffd4 77489d45 04f32a44 7efde000 00000000 ntdll32!__RtlUserThreadStart+0x70
0018ffec 00000000 04f32a44 7efde000 00000000 ntdll32!_RtlUserThreadStart+0x1b

FOLLOWUP_IP:
orageneric10!kgesev+4be
6030b89a 8b5df8 mov ebx,dword ptr [ebp-8]

SYMBOL_STACK_INDEX: 1

SYMBOL_NAME: orageneric10!kgesev+4be

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: orageneric10

IMAGE_NAME: orageneric10.dll

DEBUG_FLR_IMAGE_TIMESTAMP: 43e2b40d

STACK_COMMAND: ~0s ; kb

FAILURE_BUCKET_ID: ZEROED_STACK_ebad5417_orageneric10.dll!kgesev

BUCKET_ID: X64_APPLICATION_FAULT_ZEROED_STACK_orageneric10!kgesev+4be

WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOne/SQLNav5_exe/6_3_0_1833/2a425e19/KERNELBASE_dll/6_1_7600_16385/4a5bdbdf/ebad5417/0000b727.htm?Retriage=1

Followup: MachineOwner

Thanks Alexey for sending the info.

We are still working on this but could not make much progress yet. We will keep you posted…

Thanks and regards,
Bruce

This was a known issue in older versions of SQL Navigator (< 6.x) which is regularly caused by missing recursive grants within multiple database Schemas.

Solution:

  1. Open the package using another IDE for database administration (Ex: Oracle SQL Developer).

  2. Remember the last change you have done (Ex: Using a variable or parameter having a developer defined TYPE) and erase the last change to check whether package opens in navigator after erasing the particular known piece of code.

  3. Move to the Schema where the found TYPE is defined.

  4. Make sure you have given Grants (EXECUTE, DEBUG) for both the TYPE and the TYPE Table to the referring Schema.

Ex:

objCustomerList is a TYPE object created in Schema1.

objCustomerListTab is a TYPE Table of objCustomerList TYPE created in Schema1.

GRANT EXECUTE ON objCustomerList TO Schema2

/

GRANT DEBUG ON objCustomerList TO Schema2

/

GRANT EXECUTE ON objCustomerListTab TO Schema2

/

GRANT DEBUG ON objCustomerListTab TO Schema2

/

  1. You will face this issue when the above recursive Grant (RED COLORED) is not given to the other Schema.

  2. You can redo the changes done to the package after applying corresponding Grants.

  3. Then the package can be re-opened in SQL Navigator. Good luck.!!!

Thanks & Regards,

Keshan Fernando