Currently Being Moderated

A few months ago, I described how to set up and configure the Windows Debugger in order to be able to generate a call stack for a hanging MaxDB thread.

As this was technically interesting (at least I hope so), it is by far not the simplest way to get a call stack for a hanging task.
Moreover, due to the internal tasking model of MaxDB you cannot specifically point to a usertask (that is the session of a user) and debug it.
All you can do is to get the call stack of a currently running thread and look up what task it ran at this time later on.

An easier and much more comfortable way to do that is the following x_cons command:

x_cons <DBSID> debugtask <Task-ID>

This command triggers the MaxDB Kernel to write out the current call stack for task <Task-ID> to the knldiag file.

So let us give it a try! I used my 7.5 Build 48 test database on windows and provoked a LOG FULL situation by using a statement like this:

create table test as select 'xxx', 'zzz', 0 from tables t1, tables t2

As soon as the database got in LOG FULL I used x_cons to figure out the task id of the hanging task:

x_cons db750 show active user   (ok I used the short form...)

C:\\WINDOWS>x_cons db750 sh ta us
SERVERDB: DB750
ID   UKT  Win   TASK       APPL Current         Timeout Region     Wait
\           tid   type        pid state          priority cnt try    item
\ T15    6  0xDEC User       3516 LOG FULL (246)        0 0               303(s)

So task 15 is the one we are looking for.
To get the call stack now, all I had to do is to issue this command:

x_cons db750 debugtask T15

That is it.

In the knldiag file, there is now the complete call stack as if it would be there when the database crashes. It looks like this (for readability, I omitted the timestamp entries):

[...]
0xF24     20001 Log      Log is full.
0xDEC WRN 20054 Log      LOG FULL: task 15 suspended
0xF24     20001 Log      Log is full.
0xDEC ERR 18891 CALLSTCK Dumping callstack of T15
0xF40 ERR 19999 BTRACE   Using 'imagehlp.dll' version: 4.0.5
0xF40 ERR 19999 BTRACE   SymbolSearchPath:  c:\\sapdb\\data\\wrk\\DB750;C:\\SAPDB\\DB750\\DB\\pgm;C:\\SAPDB\\DB750\\DB\\symbols;C:\\SAPDB\\DB750\\DB\\sap;C:
0xF40 ERR 19999 BTRACE                      \\WINDOWS;C:\\SAPDB\\DB750\\DB\\sap\\
0xF40 ERR 19999 BTRACE   ----> Register Dump <----
0xF40 ERR 19999 BTRACE     Eax=0x009a0e20 Ebx=0x00000000 Ecx=0x02ae0d7c Edx=0x00000158 Esi=0x000001ac Edi=0x00000000
0xF40 ERR 19999 BTRACE     Eip=0x7c90eb94 Esp=0x02ae0d24 Ebp=0x02ae0d88
0xF40 ERR 19999 BTRACE     Cs=0x001b  Ss=0x0023  Ds=0x0023  Es=0x0023  Fs=0x003b  Gs=0x0000  Efl=0x0246
0xF40 ERR 19999 BTRACE   ----> Module List <----
0xF40 ERR 19999 BTRACE   |.text Start |.text End   | Module File Name
0xF40 ERR 19999 BTRACE   | 0x00400000 | 0x009d5000 | C:\\SAPDB\\DB750\\DB\\pgm\\kernel.exe
0xF40 ERR 19999 BTRACE   | 0x038b0000 | 0x03904000 | C:\\WINDOWS\\system32\\MSVCR70.dll
0xF40 ERR 19999 BTRACE   | 0x03920000 | 0x03a20000 | C:\\SAPDB\\DB750\\DB\\pgm\\dbghelp.dll
0xF40 ERR 19999 BTRACE   | 0x5d090000 | 0x5d12a000 | C:\\WINDOWS\\system32\\comctl32.dll
0xF40 ERR 19999 BTRACE   | 0x629c0000 | 0x629c9000 | C:\\WINDOWS\\system32\\LPK.DLL
0xF40 ERR 19999 BTRACE   | 0x71aa0000 | 0x71aa8000 | C:\\WINDOWS\\system32\\WS2HELP.dll
0xF40 ERR 19999 BTRACE   | 0x71ab0000 | 0x71ac7000 | C:\\WINDOWS\\system32\\WS2_32.dll
0xF40 ERR 19999 BTRACE   | 0x74d90000 | 0x74dfb000 | C:\\WINDOWS\\system32\\USP10.dll
0xF40 ERR 19999 BTRACE   | 0x76000000 | 0x7600d000 | C:\\sapdb\\programs\\pgm\\sqltcp1.dll
0xF40 ERR 19999 BTRACE   | 0x76050000 | 0x760c5000 | C:\\SAPDB\\DB750\\DB\\pgm\\liboms.dll
0xF40 ERR 19999 BTRACE   | 0x76390000 | 0x763ad000 | C:\\WINDOWS\\system32\\IMM32.DLL
0xF40 ERR 19999 BTRACE   | 0x76c90000 | 0x76cb8000 | C:\\WINDOWS\\system32\\imagehlp.dll
0xF40 ERR 19999 BTRACE   | 0x76f20000 | 0x76f47000 | C:\\WINDOWS\\system32\\DNSAPI.dll
0xF40 ERR 19999 BTRACE   | 0x76fc0000 | 0x76fc6000 | C:\\WINDOWS\\system32\\rasadhlp.dll
0xF40 ERR 19999 BTRACE   | 0x773d0000 | 0x774d3000 | C:\\WINDOWS\\WinSxS\\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_
0xF40 ERR 19999 BTRACE   :            :            : x-ww_ac3f9c03\\comctl32.dll
0xF40 ERR 19999 BTRACE   | 0x774e0000 | 0x7761d000 | C:\\WINDOWS\\system32\\ole32.dll
0xF40 ERR 19999 BTRACE   | 0x77c10000 | 0x77c68000 | C:\\WINDOWS\\system32\\msvcrt.dll
0xF40 ERR 19999 BTRACE   | 0x77dd0000 | 0x77e6b000 | C:\\WINDOWS\\system32\\ADVAPI32.dll
0xF40 ERR 19999 BTRACE   | 0x77e70000 | 0x77f02000 | C:\\WINDOWS\\system32\\RPCRT4.dll
0xF40 ERR 19999 BTRACE   | 0x77f10000 | 0x77f57000 | C:\\WINDOWS\\system32\\GDI32.dll
0xF40 ERR 19999 BTRACE   | 0x77f60000 | 0x77fd6000 | C:\\WINDOWS\\system32\\SHLWAPI.dll
0xF40 ERR 19999 BTRACE   | 0x77fe0000 | 0x77ff1000 | C:\\WINDOWS\\system32\\Secur32.dll
0xF40 ERR 19999 BTRACE   | 0x7c800000 | 0x7c8f5000 | C:\\WINDOWS\\system32\\kernel32.dll
0xF40 ERR 19999 BTRACE   | 0x7c900000 | 0x7c9b0000 | C:\\WINDOWS\\system32\\ntdll.dll
0xF40 ERR 19999 BTRACE   | 0x7c9c0000 | 0x7d1d6000 | C:\\WINDOWS\\system32\\SHELL32.dll
0xF40 ERR 19999 BTRACE   | 0x7e410000 | 0x7e4a0000 | C:\\WINDOWS\\system32\\USER32.dll
0xF40 ERR 19999 BTRACE   ----> Stack Back Trace <----
0xF40 ERR 19999 BTRACE     ntdll!KiFastSystemCallRet
0xF40 ERR 19999 BTRACE         SFrame:  IP:7c90eb94 RA:7c802532 FP:02ae0d88 SP:02ae0d24
0xF40 ERR 19999 BTRACE         Params:  01:000001ac 02:ffffffff 03:00000000 04:02ae0dc8
0xF40 ERR 19999 BTRACE     kernel32!WaitForSingleObject + 18 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:7c802532 RA:007b092d FP:02ae0d9c SP:02ae0d24
0xF40 ERR 19999 BTRACE         Params:  01:000001ac 02:ffffffff 03:00000000 04:00000000
0xF40 ERR 19999 BTRACE     kernel!eo670_WindowsTraceStack + 285 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:007b092d RA:007b0af9 FP:02ae0dc8 SP:02ae0dd0
0xF40 ERR 19999 BTRACE         Params:  01:00000000 02:00000000 03:7c800000 04:00000000
0xF40 ERR 19999 BTRACE         Source:  veo670-k.c ( Line: 7641 )
0xF40 ERR 19999 BTRACE     kernel!eo670_CTraceStackOCB + 73 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:007b0af9 RA:007b0be2 FP:02ae0de4 SP:02ae0dec
0xF40 ERR 19999 BTRACE         Params:  01:00000000 02:00000000 03:007d0258 04:00000005
0xF40 ERR 19999 BTRACE         Source:  veo670-k.c ( Line: 1086 )
0xF40 ERR 19999 BTRACE     kernel!eo670_CTraceStack + 18 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:007b0be2 RA:007d0258 FP:02ae0df0 SP:02ae0df8
0xF40 ERR 19999 BTRACE         Params:  01:00000005 02:7ff15dc0 03:7c910340 04:02ae0e20
0xF40 ERR 19999 BTRACE         Source:  veo670-k.c ( Line: 1048 )
0xF40 ERR 19999 BTRACE     kernel!sql74k_on_task_debug_request + 136 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:007d0258 RA:007a61c9 FP:02ae0e04 SP:02ae0e0c
0xF40 ERR 19999 BTRACE         Params:  01:02ae0e28 02:0000000f 03:00822a2c 04:ffffffff
0xF40 ERR 19999 BTRACE         Source:  vos74k.c ( Line: 439 )
0xF40 ERR 19999 BTRACE     kernel!vsuspend + 329 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:007a61c9 RA:0072897c FP:02ae0e20 SP:02ae0e28
0xF40 ERR 19999 BTRACE         Params:  01:7fec0e88 02:000000f6 03:02b07a60 04:7ef8e778
0xF40 ERR 19999 BTRACE         Source:  vos56k.c ( Line: 220 )
0xF40 ERR 19999 BTRACE     kernel!Log_Queue::WaitUntilSpaceIsAvailable + 828 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:0072897c RA:006e35c8 FP:02ae0fdc SP:02ae0fe4
0xF40 ERR 19999 BTRACE         Params:  01:0000000f 02:02b07a60 03:00000001 04:7f0b6934
0xF40 ERR 19999 BTRACE         Source:  log_queue.cpp ( Line: 345 )
0xF40 ERR 19999 BTRACE     kernel!Log_Queue::Reserve + 40 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:006e35c8 RA:0071ad10 FP:02ae0ffc SP:02ae1004
0xF40 ERR 19999 BTRACE         Params:  01:0000000f 02:02b07a60 03:0000005c 04:00000030
0xF40 ERR 19999 BTRACE         Source:  log_queue.hpp ( Line: 195 )
0xF40 ERR 19999 BTRACE     kernel!Log_Transaction::WriteRedoEntry + 1472 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:0071ad10 RA:00703ee0 FP:02ae1194 SP:02ae119c
0xF40 ERR 19999 BTRACE         Params:  01:02ae11ac 02:7f0b6934 03:02b06c30 04:00000000
0xF40 ERR 19999 BTRACE         Source:  log_transaction.cpp ( Line: 1770 )
0xF40 ERR 19999 BTRACE     kernel!Log_ReadWriteActionImage::WriteAfterImage + 128 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:00703ee0 RA:00668225 FP:02ae11e8 SP:02ae11f0
0xF40 ERR 19999 BTRACE         Params:  01:02b079fc 02:02ae1214 03:0065e6f6 04:7f0b68b0
0xF40 ERR 19999 BTRACE         Source:  log_readwriteactionimage.cpp ( Line: 221 )
0xF40 ERR 19999 BTRACE     kernel!kb611ins_WriteAfterImage + 21 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:00668225 RA:0065e6f6 FP:02ae11f4 SP:02ae11fc
0xF40 ERR 19999 BTRACE         Params:  01:7f0b68b0 02:02b079fc 03:02b06c30 04:02b06c30
0xF40 ERR 19999 BTRACE         Source:  vkb611.cpp ( Line: 125 )
0xF40 ERR 19999 BTRACE     kernel!kb61insert_rec + 246 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:0065e6f6 RA:0065f0cf FP:02ae1214 SP:02ae121c
0xF40 ERR 19999 BTRACE         Params:  01:02b06c30 02:02ae1234 03:02aea1e8 04:00000002
0xF40 ERR 19999 BTRACE         Source:  vkb61.c ( Line: 2639 )
0xF40 ERR 19999 BTRACE     kernel!k61ins_select + 303 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:0065f0cf RA:00636235 FP:02ae1640 SP:02ae1648
0xF40 ERR 19999 BTRACE         Params:  01:02b06c30 02:02aea1e8 03:00000001 04:00000000
0xF40 ERR 19999 BTRACE         Source:  vkb61.c ( Line: 2147 )
0xF40 ERR 19999 BTRACE     kernel!kb721result_handle + 597 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:00636235 RA:006375c6 FP:02ae1670 SP:02ae1678
0xF40 ERR 19999 BTRACE         Params:  01:02b06c30 02:02ae21e8 03:02aed364 04:02ae1788
0xF40 ERR 19999 BTRACE         Source:  vkb721.c ( Line: 3404 )
0xF40 ERR 19999 BTRACE     kernel!kb721select_gets + 342 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:006375c6 RA:00637836 FP:02ae1700 SP:02ae1708
0xF40 ERR 19999 BTRACE         Params:  01:02b06c30 02:02aec700 03:02aed364 04:00000000
0xF40 ERR 19999 BTRACE         Source:  vkb721.c ( Line: 2713 )
0xF40 ERR 19999 BTRACE     kernel!kb721seq_search + 614 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:00637836 RA:006382d2 FP:02ae1738 SP:02ae1740
0xF40 ERR 19999 BTRACE         Params:  01:02b06c30 02:02aed364 03:02ae21e8 04:02ae1788
0xF40 ERR 19999 BTRACE         Source:  vkb721.c ( Line: 2806 )
0xF40 ERR 19999 BTRACE     kernel!k721strat_distribution + 370 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:006382d2 RA:00633f82 FP:02ae175c SP:02ae1764
0xF40 ERR 19999 BTRACE         Params:  01:02b06c30 02:02aed364 03:02ae21e8 04:02ae1788
0xF40 ERR 19999 BTRACE         Source:  vkb721.c ( Line: 4308 )
0xF40 ERR 19999 BTRACE     kernel!k720_select + 866 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:00633f82 RA:00634154 FP:02ae21d4 SP:02ae21dc
0xF40 ERR 19999 BTRACE         Params:  01:01b06c30 02:02aed364 03:02ae21e8 04:00000000
0xF40 ERR 19999 BTRACE         Source:  vkb720.c ( Line: 2390 )
0xF40 ERR 19999 BTRACE     kernel!k720_single_select + 36 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:00634154 RA:0065e074 FP:02af13a4 SP:02af13ac
0xF40 ERR 19999 BTRACE         Params:  01:02b06c30 02:02b06c30 03:02af148c 04:00626e1a
0xF40 ERR 19999 BTRACE         Source:  vkb720.c ( Line: 3461 )
0xF40 ERR 19999 BTRACE     kernel!k61table_ins_del_upd + 52 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:0065e074 RA:00626e1a FP:02af13b4 SP:02af13bc
0xF40 ERR 19999 BTRACE         Params:  01:02b06c30 02:02b079fc 03:02b06a44 04:02af19f0
0xF40 ERR 19999 BTRACE         Source:  vkb61.c ( Line: 2303 )
0xF40 ERR 19999 BTRACE     kernel!k05functions + 1450 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:00626e1a RA:0046c905 FP:02af148c SP:02af1494
0xF40 ERR 19999 BTRACE         Params:  01:24b06c30 02:02b06c30 03:02b06a44 04:02af19f0
0xF40 ERR 19999 BTRACE         Source:  vkb05.c ( Line: 2089 )
0xF40 ERR 19999 BTRACE     kernel!a06lsend_mess_buf + 821 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:0046c905 RA:0046d49a FP:02af18c8 SP:02af18d0
0xF40 ERR 19999 BTRACE         Params:  01:02b06a44 02:24b06c30 03:00000000 04:02af19f0
0xF40 ERR 19999 BTRACE         Source:  vak06.c ( Line: 7640 )
0xF40 ERR 19999 BTRACE     kernel!a06dml_send_mess_buf + 58 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:0046d49a RA:00584a5b FP:02af18ec SP:02af18f4
0xF40 ERR 19999 BTRACE         Params:  01:02b06a44 02:02b06c30 03:02af433c 04:02af19f0
0xF40 ERR 19999 BTRACE         Source:  vak06.c ( Line: 7241 )
0xF40 ERR 19999 BTRACE     kernel!a505most_execute + 2731 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:00584a5b RA:0058540b FP:02af19f8 SP:02af1a00
0xF40 ERR 19999 BTRACE         Params:  01:00b06a44 02:02af433c 03:02af3318 04:02af27e0
0xF40 ERR 19999 BTRACE         Source:  vak505.c ( Line: 6362 )
0xF40 ERR 19999 BTRACE     kernel!a505loop_most_execute + 811 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:0058540b RA:00569f7b FP:02af1bd0 SP:02af1bd8
0xF40 ERR 19999 BTRACE         Params:  01:02b06a44 02:02af433c 03:02af3318 04:02af269c
0xF40 ERR 19999 BTRACE         Source:  vak505.c ( Line: 5892 )
0xF40 ERR 19999 BTRACE     kernel!a501exec_with_change_rec + 875 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:00569f7b RA:00567e72 FP:02af26dc SP:02af26e4
0xF40 ERR 19999 BTRACE         Params:  01:02b06a44 02:02af433c 03:02af27e0 04:02af3318
0xF40 ERR 19999 BTRACE         Source:  vak501.c ( Line: 5344 )
0xF40 ERR 19999 BTRACE     kernel!a502complex_execution + 786 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:00567e72 RA:00569e71 FP:02af27f8 SP:02af2800
0xF40 ERR 19999 BTRACE         Params:  01:00b06a44 02:02af433c 03:02af3318 04:02b05eb4
0xF40 ERR 19999 BTRACE         Source:  vak502.c ( Line: 5321 )
0xF40 ERR 19999 BTRACE     kernel!a501exec_with_change_rec + 609 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:00569e71 RA:0056a252 FP:02af32f4 SP:02af32fc
0xF40 ERR 19999 BTRACE         Params:  01:02b06a44 02:02af433c 03:02b05eb4 04:02af3318
0xF40 ERR 19999 BTRACE         Source:  vak501.c ( Line: 5304 )
0xF40 ERR 19999 BTRACE     kernel!a501do_execute + 82 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:0056a252 RA:0057b594 FP:02af431c SP:02af4324
0xF40 ERR 19999 BTRACE         Params:  01:02b06a44 02:02af433c 03:02b05eb4 04:00000000
0xF40 ERR 19999 BTRACE         Source:  vak501.c ( Line: 5395 )
0xF40 ERR 19999 BTRACE     kernel!a562_select_insert + 388 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:0057b594 RA:004c80b9 FP:02b05ec8 SP:02b05ed0
0xF40 ERR 19999 BTRACE         Params:  01:02b06a44 02:00000000 03:02b06f88 04:02b06a44
0xF40 ERR 19999 BTRACE         Source:  vak562.c ( Line: 7157 )
0xF40 ERR 19999 BTRACE     kernel!ak35call_semantik + 873 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:004c80b9 RA:004c8aca FP:02b05f18 SP:02b05f20
0xF40 ERR 19999 BTRACE         Params:  01:00b06a44 02:02b072e2 03:00000000 04:02b06a44
0xF40 ERR 19999 BTRACE         Source:  vak35.c ( Line: 5650 )
0xF40 ERR 19999 BTRACE     kernel!a35_asql_statement + 1674 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:004c8aca RA:00587fc6 FP:02b05f6c SP:02b05f74
0xF40 ERR 19999 BTRACE         Params:  01:00b06a44 02:00000000 03:02b072e2 04:02b06a44
0xF40 ERR 19999 BTRACE         Source:  vak35.c ( Line: 5247 )
0xF40 ERR 19999 BTRACE     kernel!ak92not_only_execute + 1574 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:00587fc6 RA:00589ae1 FP:02b060d0 SP:02b060d8
0xF40 ERR 19999 BTRACE         Params:  01:00b06a44 02:02b06220 03:02b0623a 04:02b061f8
0xF40 ERR 19999 BTRACE         Source:  vak92.c ( Line: 5309 )
0xF40 ERR 19999 BTRACE     kernel!ak92analyze_messagetype + 1361 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:00589ae1 RA:00589e17 FP:02b0622c SP:02b06234
0xF40 ERR 19999 BTRACE         Params:  01:02b06a44 02:00000000 03:00000000 04:00000000
0xF40 ERR 19999 BTRACE         Source:  vak92.c ( Line: 5727 )
0xF40 ERR 19999 BTRACE     kernel!a92_mode_analyzer + 279 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:00589e17 RA:0047c034 FP:02b0630c SP:02b06314
0xF40 ERR 19999 BTRACE         Params:  01:02b06a44 02:00000000 03:00000000 04:02b06a44
0xF40 ERR 19999 BTRACE         Source:  vak92.c ( Line: 6401 )
0xF40 ERR 19999 BTRACE     kernel!ak14insert_select + 228 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:0047c034 RA:0047d5b0 FP:02b06348 SP:02b06350
0xF40 ERR 19999 BTRACE         Params:  01:02b06a44 02:02b06458 03:00000002 04:0000002b
0xF40 ERR 19999 BTRACE         Source:  vak14.c ( Line: 5307 )
0xF40 ERR 19999 BTRACE     kernel!a14create_tab_as_select + 592 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:0047d5b0 RA:0058f39f FP:02b0647c SP:02b06484
0xF40 ERR 19999 BTRACE         Params:  01:02b06a44 02:02b06568 03:00020000 04:00000011
0xF40 ERR 19999 BTRACE         Source:  vak14.c ( Line: 5038 )
0xF40 ERR 19999 BTRACE     kernel!ak93one_command + 1567 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:0058f39f RA:00590516 FP:02b0658c SP:02b06594
0xF40 ERR 19999 BTRACE         Params:  01:01b06a44 02:00000001 03:02b065f0 04:00000001
0xF40 ERR 19999 BTRACE         Source:  vak93.c ( Line: 6525 )
0xF40 ERR 19999 BTRACE     kernel!a93_user_commands + 1046 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:00590516 RA:004487d6 FP:02b06604 SP:02b0660c
0xF40 ERR 19999 BTRACE         Params:  01:00b06a44 02:02b06a3b 03:02b06a2f 04:02b07f6c
0xF40 ERR 19999 BTRACE         Source:  vak93.c ( Line: 5603 )
0xF40 ERR 19999 BTRACE     kernel!ak91run_sql_process + 134 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:004487d6 RA:004488f2 FP:02b06a30 SP:02b06a38
0xF40 ERR 19999 BTRACE         Params:  01:01b06a44 02:00000001 03:00000001 04:7ef9252c
0xF40 ERR 19999 BTRACE         Source:  vak91.c ( Line: 5406 )
0xF40 ERR 19999 BTRACE     kernel!ak91run_user_process + 98 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:004488f2 RA:00448989 FP:02b07ee4 SP:02b07eec
0xF40 ERR 19999 BTRACE         Params:  01:02b07f6c 02:00000003 03:7ff70818 04:02b07f54
0xF40 ERR 19999 BTRACE         Source:  vak91.c ( Line: 5434 )
0xF40 ERR 19999 BTRACE     kernel!a91mainprogam_with_allocator + 57 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:00448989 RA:006d675f FP:02b07ef8 SP:02b07f00
0xF40 ERR 19999 BTRACE         Params:  01:03b07f6c 02:7c910340 03:7fec0e88 04:7c910331
0xF40 ERR 19999 BTRACE         Source:  vak91.c ( Line: 5459 )
0xF40 ERR 19999 BTRACE     kernel!gg941CreateAllocatorAndCallMainprog + 223 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:006d675f RA:00448923 FP:02b07f54 SP:02b07f5c
0xF40 ERR 19999 BTRACE         Params:  01:02b07f03 02:02b07fb4 03:00000014 04:02b07f6c
0xF40 ERR 19999 BTRACE         Source:  vgg941.cpp ( Line: 156 )
0xF40 ERR 19999 BTRACE     kernel!a91mainprogram + 35 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:00448923 RA:007d3054 FP:02b07fe0 SP:02b07fe8
0xF40 ERR 19999 BTRACE         Params:  01:7fec0e88 02:007d3854 03:00000000 04:00000000
0xF40 ERR 19999 BTRACE         Source:  vak91.c ( Line: 5446 )
0xF40 ERR 19999 BTRACE     kernel!sql88k_kernel_task + 148 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:007d3054 RA:007d3854 FP:02b07fe8 SP:02b07ff0
0xF40 ERR 19999 BTRACE         Params:  01:00000000 02:00000000 03:00000000 04:00000000
0xF40 ERR 19999 BTRACE         Source:  vos88k.c ( Line: 416 )
0xF40 ERR 19999 BTRACE     kernel!sql88k_ukt + 1140 bytes
0xF40 ERR 19999 BTRACE         SFrame:  IP:007d3854 RA:00000000 FP:02b07ff0 SP:02b07ff0
0xF40 ERR 19999 BTRACE         Params:  01:00000000 02:00000000 03:00000000 04:00000000
0xF40 ERR 19999 BTRACE         Source:  vos88k.c ( Line: 277 )
------------------- current write position ----------------    

As you can see, it is pretty much the same content as you get from the windows debugger.
The call stack is again written top-down, putting the last executed calls in the first rows of the output. As we see the call stack routine was the last 'thing' the task ran through - not too surprising.
Anyhow, when we browse a bit further below, we find
kernel!Log_Queue::WaitUntilSpaceIsAvailable
so we can tell what the task is currently doing when it is not writing call stacks.
For a more elaborate discussion of a call stack visit my first blog entry on this topic (see link above).

By the way: very often in customer messages people (people and collegues as well) try to give valueable information by attaching parts of this call stack to the message. Unfortunately most people seem to believe, that the "----> Module List <----" and "----> Register Dump <----" are the most critical information and forget to attach the "----> Stack Back Trace <----" as well.
In fact it's the exact opposite.While the stack back trace is somwhat intelligible to supporters, the module list and the register dump contain information that only a few developers can make sense of.

As far as I have tested, this call works for MaxDBs from version 7.4.3 onwards.
As the debugtask command is not documented, it is an unsupported function and should not be used on productive systems unless advised by the SAP support.
Nevertheless, it may be sometime interesting to look at the call stack for educational purposes.

Best regards,
Lars

Comments

Actions

Filter Blog

By author: By date:
By tag: