19 Jun '13 - 08:10 *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
 
   Home   Help Search Login Register  
Pages: [1]
  Reply  |  Print  
Author Topic: AV in bassmix  (Read 685 times)
fmcoder
Posts: 387


« on: 29 May '12 - 22:50 »
Reply with quoteQuote

This is what happens from time to time in my program after several days running:
exception class   : EAccessViolation
exception message : Access violation at address 105023D1 in module 'bassmix.dll'. Write of address 00000041.

main thread ($f98):
105023d1 +021 bassmix.dll
10503f29 +042 bassmix.dll                            BASS_Mixer_ChannelRemove
1101a9c6 +01d bass.dll                               BASS_StreamFree[/b]
0061dc28 +044 radioboss.exe AudioEngine      523  +9 TAudioEngine.Stop
0061dd53 +02b radioboss.exe AudioEngine      566  +4 TAudioEngine.Destroy
00405f84 +008 radioboss.exe System         15606  +0 TObject.Free
00761679 +04d radioboss.exe frm_jinplay      146  +6 TfrmJinPlay.FormClose
005d3f3b +017 radioboss.exe Vcl.Forms                TCustomForm.DoClose
005d8cc1 +055 radioboss.exe Vcl.Forms                TCustomForm.Close
00761b55 +071 radioboss.exe frm_jinplay      231  +8 TfrmJinPlay.Timer1Timer
00582b83 +00f radioboss.exe Vcl.ExtCtrls             TTimer.Timer
00582a67 +02b radioboss.exe Vcl.ExtCtrls             TTimer.WndProc
00486e18 +014 radioboss.exe System.Classes           StdWndProc
75727885 +00a USER32.dll                             DispatchMessageW
005ddb8f +0f3 radioboss.exe Vcl.Forms                TApplication.ProcessMessage
005ddbd2 +00a radioboss.exe Vcl.Forms                TApplication.HandleMessage
005ddf11 +0c9 radioboss.exe Vcl.Forms                TApplication.Run
0080969f +1f3 radioboss.exe player           209 +43 initialization
758d3398 +010 kernel32.dll                           BaseThreadInitThunk

thread $9f4:
77d50136 +0e ntdll.dll     NtWaitForMultipleObjects
758d3398 +10 kernel32.dll  BaseThreadInitThunk

thread $b80:
77d50136 +0e ntdll.dll                NtWaitForMultipleObjects
759e0bd7 +fa KERNELBASE.dll           WaitForMultipleObjectsEx
758d1a27 +89 kernel32.dll             WaitForMultipleObjectsEx
75730864 +00 USER32.dll               MsgWaitForMultipleObjectsEx
75730b64 +1a USER32.dll               MsgWaitForMultipleObjects
004b9ba9 +0d radioboss.exe  madExcept CallThreadProcSafe
004b9c13 +37 radioboss.exe  madExcept ThreadExceptFrame
758d3398 +10 kernel32.dll             BaseThreadInitThunk
>> created by main thread ($f98) at:
72fc7a6f +00 gdiplus.dll

thread $c10:
77d50136 +0e ntdll.dll       NtWaitForMultipleObjects
759e0bd7 +fa KERNELBASE.dll  WaitForMultipleObjectsEx
758d1a27 +89 kernel32.dll    WaitForMultipleObjectsEx
75730864 +00 USER32.dll      MsgWaitForMultipleObjectsEx
758d3398 +10 kernel32.dll    BaseThreadInitThunk

thread $cc8:
77d4fd6a +0e ntdll.dll       NtDelayExecution
759e31b5 +5f KERNELBASE.dll  SleepEx
759e3a86 +0a KERNELBASE.dll  Sleep
758d3398 +10 kernel32.dll    BaseThreadInitThunk

thread $cfc: <priority:15>
77d4f8aa +0e ntdll.dll                NtWaitForSingleObject
759e0a8b +92 KERNELBASE.dll           WaitForSingleObjectEx
758d118f +3e kernel32.dll             WaitForSingleObjectEx
758d1143 +0d kernel32.dll             WaitForSingleObject
004b9ba9 +0d radioboss.exe  madExcept CallThreadProcSafe
004b9c13 +37 radioboss.exe  madExcept ThreadExceptFrame
758d3398 +10 kernel32.dll             BaseThreadInitThunk
>> created by main thread ($f98) at:
11020782 +00 bass.dll

thread $f18: <priority:2>
77d50136 +00e ntdll.dll                NtWaitForMultipleObjects
759e0bd7 +0fa KERNELBASE.dll           WaitForMultipleObjectsEx
758d1a27 +089 kernel32.dll             WaitForMultipleObjectsEx
758d4203 +013 kernel32.dll             WaitForMultipleObjects
75481323 +067 msvcrt.dll               _endthreadex
004b9ba9 +00d radioboss.exe  madExcept CallThreadProcSafe
004b9c13 +037 radioboss.exe  madExcept ThreadExceptFrame
758d3398 +010 kernel32.dll             BaseThreadInitThunk
>> created by main thread ($f98) at:
11020682 +79f bass.dll                 BASS_Init

thread $110: <priority:15>
77d4f8aa +0e ntdll.dll                NtWaitForSingleObject
759e0a8b +92 KERNELBASE.dll           WaitForSingleObjectEx
758d118f +3e kernel32.dll             WaitForSingleObjectEx
758d1143 +0d kernel32.dll             WaitForSingleObject
004b9ba9 +0d radioboss.exe  madExcept CallThreadProcSafe
004b9c13 +37 radioboss.exe  madExcept ThreadExceptFrame
758d3398 +10 kernel32.dll             BaseThreadInitThunk
>> created by thread $cfc at:
110208be +00 bass.dll

thread $c78: <priority:15>
77d4f8aa +00e ntdll.dll                NtWaitForSingleObject
759e0a8b +092 KERNELBASE.dll           WaitForSingleObjectEx
758d118f +03e kernel32.dll             WaitForSingleObjectEx
004b9ba9 +00d radioboss.exe  madExcept CallThreadProcSafe
004b9c13 +037 radioboss.exe  madExcept ThreadExceptFrame
758d3398 +010 kernel32.dll             BaseThreadInitThunk
>> created by main thread ($f98) at:
110206a2 +7bf bass.dll                 BASS_Init

thread $7f4: <priority:15>
77d4f8aa +0e ntdll.dll                NtWaitForSingleObject
759e0a8b +92 KERNELBASE.dll           WaitForSingleObjectEx
758d118f +3e kernel32.dll             WaitForSingleObjectEx
758d1143 +0d kernel32.dll             WaitForSingleObject
004b9ba9 +0d radioboss.exe  madExcept CallThreadProcSafe
004b9c13 +37 radioboss.exe  madExcept ThreadExceptFrame
758d3398 +10 kernel32.dll             BaseThreadInitThunk
>> created by thread $cfc at:
110208be +00 bass.dll

thread $b04: <priority:1>
77d4f8aa +0000e ntdll.dll                               NtWaitForSingleObject
77d68cd3 +16a33 ntdll.dll                               RtlEnterCriticalSection
1101e788 +00017 bass.dll                                BASS_ChannelGetData
00785db7 +0013b radioboss.exe thrd_nosndtimer    63 +26 StreamReadTimer.Execute
00483d8e +00042 radioboss.exe System.Classes            ThreadProc
00407b54 +00028 radioboss.exe System          15606  +0 ThreadWrapper
758d3398 +00010 kernel32.dll                            BaseThreadInitThunk

thread $ff8: <priority:-1>
77d4fd6a +00e ntdll.dll                               NtDelayExecution
759e31b5 +05f KERNELBASE.dll                          SleepEx
759e3a86 +00a KERNELBASE.dll                          Sleep
00484b01 +001 radioboss.exe  System.Classes           TThread.Sleep
0077c9a0 +1d8 radioboss.exe  thrd_VisUpdate   165 +56 TVisTimer.Execute
00483d8e +042 radioboss.exe  System.Classes           ThreadProc
00407b54 +028 radioboss.exe  System         15606  +0 ThreadWrapper
758d3398 +010 kernel32.dll                            BaseThreadInitThunk

thread $8b0:
77d4f8aa +0e ntdll.dll       NtWaitForSingleObject
759e0a8b +92 KERNELBASE.dll  WaitForSingleObjectEx
758d118f +3e kernel32.dll    WaitForSingleObjectEx
758d3398 +10 kernel32.dll    BaseThreadInitThunk

thread $c4c: <priority:2>
75727c18 +45 USER32.dll              GetMessageA
004b9ba9 +0d radioboss.exe madExcept CallThreadProcSafe
004b9c13 +37 radioboss.exe madExcept ThreadExceptFrame
758d3398 +10 kernel32.dll            BaseThreadInitThunk
>> created by thread $e4c at:
74642d82 +00 WINMM.dll

thread $119c:
77d51f1f +0b ntdll.dll     NtWaitForWorkViaWorkerFactory
758d3398 +10 kernel32.dll  BaseThreadInitThunk

The reason it happens I see is this: one thread (thread $b04) is calling BASS_ChannelGetData while another thread (main) frees the channel which happens to be a source channel for a mixer.

Where is a bug: is it something in bass/bassmix or is it me, because calling BASS_ChannelGetData for mixer in one thread and freeing one of its source channels in another is a bad practice?
Logged
Ian @ un4seen
Administrator
Posts: 15363


« Reply #1 on: 30 May '12 - 13:08 »
Reply with quoteQuote

From those call-stacks, you don't appear to be using the latest BASS.DLL or BASSMIX.DLL versions. If that is correct, please try updating the DLLs and see if the problem still happens then. If it does still happen, please post the new call-stacks and any other info that you have (eg. registers).
Logged
fmcoder
Posts: 387


« Reply #2 on: 30 May '12 - 14:31 »
Reply with quoteQuote

Yes, those are previous versions. Do you think it could be a bug in bass/bassmix?
I already started testing with the new versions, I'll let you know how it goes.

But the question still remains: is it safe to call BASS_ChannelGetData and Bass_ChannelFree in different threads, eg. does bass care about threading issue, or should I add synchronization code myself?

Thanks for help.
Logged
Ian @ un4seen
Administrator
Posts: 15363


« Reply #3 on: 30 May '12 - 15:53 »
Reply with quoteQuote

BASSmix should be able to handle a mixer source being freed while the mixer is being processed, but perhaps there is a bug somewhere in there. If the problem happens with the updated DLLs, the new call-stacks should help to locate what/where the problem is.
Logged
fmcoder
Posts: 387


« Reply #4 on: 30 May '12 - 17:29 »
Reply with quoteQuote

Yes, it produced AV with new versions of bass/bassmix too. It happened even faster than before! Usually it crashed after several days, but now it crashed after about 50 minutes...
Access violation at address 10502C3F in module 'bassmix.dll'. Write of address 00000008

Bad thing is I don't have call stacks for this one (forgot to turn on madExcept...). I started the testing again and call stacks for crash will be available soon, but maybe address could help somehow?
Logged
fmcoder
Posts: 387


« Reply #5 on: 30 May '12 - 19:20 »
Reply with quoteQuote

OK, here's new crash... Never seen anything like this, it started to happen with the latest bass.dll:
date/time         : 2012-05-30, 13:09:33, 718ms
computer name     : HD-T3337CN
user name         : Administrator <admin>
registered owner  : Windows User
operating system  : Windows 2008 R2 x64 Service Pack 1 build 7601
system language   : English
system up time    : 85 days 5 hours
program up time   : 4 minutes 35 seconds
processors        : 4x Intel(R) Core(TM) i3 CPU 540 @ 3.07GHz
physical memory   : 2681/3895 MB (free/total)
free disk space   : (C:) 279.87 GB
display mode      : 1280x1024, 16 bit
process id        : $10bc
allocated memory  : 34.62 MB
executable        : radioboss.exe
exec. date/time   : 2012-05-30 13:00
version           : 4.7.1.0
compiled with     : Delphi XE2
madExcept version : 4.0.0
callstack crc     : $11003cdd, $6cd4a892, $e2c8e548
exception number  : 1
exception class   : EAccessViolation
exception message : Access violation at address 11003CDD in module 'bass.dll'. Write of address 00000040.

main thread ($b64):
11003cdd +061 bass.dll
110150e2 +03c bass.dll                               BASS_StreamCreateFile
0062d11d +439 radioboss.exe AudioEngine     728 +113 TAudioEngine.CreateChannel
00770ca1 +039 radioboss.exe frm_jinplay     277   +2 TfrmJinPlay.PlayTrack
00770dd1 +01d radioboss.exe frm_jinplay     304   +3 TfrmJinPlay.StartPlayback
007704b9 +0b5 radioboss.exe frm_jinplay     105  +14 JinNewPlayWindow
007fb4e3 +8c3 radioboss.exe plmain         8652 +179 TForm1.ScheduleStart
007eefab +21b radioboss.exe plmain         5374  +40 TForm1.rasptimerTimer
0059188b +00f radioboss.exe Vcl.ExtCtrls             TTimer.Timer
0059176f +02b radioboss.exe Vcl.ExtCtrls             TTimer.WndProc
0048aaf0 +014 radioboss.exe System.Classes           StdWndProc
75727885 +00a USER32.dll                             DispatchMessageW
005ec897 +0f3 radioboss.exe Vcl.Forms                TApplication.ProcessMessage
005ec8da +00a radioboss.exe Vcl.Forms                TApplication.HandleMessage
005ecc19 +0c9 radioboss.exe Vcl.Forms                TApplication.Run
00819727 +1f3 radioboss.exe player          209  +43 initialization
77d66b5e +076 ntdll.dll                              RtlUnicodeStringToAnsiString
758d3398 +010 kernel32.dll                           BaseThreadInitThunk

thread $11e4:
77d50136 +0e ntdll.dll     NtWaitForMultipleObjects
758d3398 +10 kernel32.dll  BaseThreadInitThunk

thread $f68:
77d50136 +0e ntdll.dll                NtWaitForMultipleObjects
759e0bd7 +fa KERNELBASE.dll           WaitForMultipleObjectsEx
758d1a27 +89 kernel32.dll             WaitForMultipleObjectsEx
75730864 +00 USER32.dll               MsgWaitForMultipleObjectsEx
75730b64 +1a USER32.dll               MsgWaitForMultipleObjects
004c7fd5 +0d radioboss.exe  madExcept CallThreadProcSafe
004c803f +37 radioboss.exe  madExcept ThreadExceptFrame
758d3398 +10 kernel32.dll             BaseThreadInitThunk
>> created by main thread ($b64) at:
72fc7a6f +00 gdiplus.dll

thread $ab0: <priority:15>
77d4f8aa +0e ntdll.dll       NtWaitForSingleObject
759e0a8b +92 KERNELBASE.dll  WaitForSingleObjectEx
758d118f +3e kernel32.dll    WaitForSingleObjectEx
758d1143 +0d kernel32.dll    WaitForSingleObject
758d3398 +10 kernel32.dll    BaseThreadInitThunk

thread $1280: <priority:2>
77d50136 +0e ntdll.dll       NtWaitForMultipleObjects
759e0bd7 +fa KERNELBASE.dll  WaitForMultipleObjectsEx
758d1a27 +89 kernel32.dll    WaitForMultipleObjectsEx
758d4203 +13 kernel32.dll    WaitForMultipleObjects
758d3398 +10 kernel32.dll    BaseThreadInitThunk

thread $898: <priority:15>
77d4f8aa +0e ntdll.dll       NtWaitForSingleObject
759e0a8b +92 KERNELBASE.dll  WaitForSingleObjectEx
758d118f +3e kernel32.dll    WaitForSingleObjectEx
758d3398 +10 kernel32.dll    BaseThreadInitThunk

thread $dd0: <priority:15>
77d4f8aa +0e ntdll.dll       NtWaitForSingleObject
759e0a8b +92 KERNELBASE.dll  WaitForSingleObjectEx
758d118f +3e kernel32.dll    WaitForSingleObjectEx
758d1143 +0d kernel32.dll    WaitForSingleObject
758d3398 +10 kernel32.dll    BaseThreadInitThunk

thread $1384: <priority:15>
77d4f8aa +0e ntdll.dll       NtWaitForSingleObject
759e0a8b +92 KERNELBASE.dll  WaitForSingleObjectEx
758d118f +3e kernel32.dll    WaitForSingleObjectEx
758d1143 +0d kernel32.dll    WaitForSingleObject
758d3398 +10 kernel32.dll    BaseThreadInitThunk

thread $12a8: <priority:-1>
77d4fd6a +00e ntdll.dll                               NtDelayExecution
759e31b5 +05f KERNELBASE.dll                          SleepEx
759e3a86 +00a KERNELBASE.dll                          Sleep
004887d9 +001 radioboss.exe  System.Classes           TThread.Sleep
0078b9d6 +1d2 radioboss.exe  thrd_VisUpdate   165 +56 TVisTimer.Execute
00487a66 +042 radioboss.exe  System.Classes           ThreadProc
00407b74 +028 radioboss.exe  System         15606  +0 ThreadWrapper
758d3398 +010 kernel32.dll                            BaseThreadInitThunk

thread $d78:
77d4fd6a +0e ntdll.dll       NtDelayExecution
759e31b5 +5f KERNELBASE.dll  SleepEx
759e3a86 +0a KERNELBASE.dll  Sleep
758d3398 +10 kernel32.dll    BaseThreadInitThunk

thread $115c:
77d51f1f +0b ntdll.dll     NtWaitForWorkViaWorkerFactory
758d3398 +10 kernel32.dll  BaseThreadInitThunk

modules:
00400000 radioboss.exe       4.7.1.0            C:\Users\Administrator\Desktop\RadioBOSS_latestbass
00e20000 basswasapi.dll      0.0.0.15           C:\Users\Administrator\Desktop\RadioBOSS_latestbass
02770000 bass_wadsp.dll      2.4.1.0            C:\Users\Administrator\Desktop\RadioBOSS_latestbass
02790000 bass_vst.dll        2.4.0.6            C:\Users\Administrator\Desktop\RadioBOSS_latestbass
02ad0000 bassasio.dll        1.2.0.0            C:\Users\Administrator\Desktop\RadioBOSS_latestbass
06ed0000 bass_aac.dll        2.4.3.0            C:\Users\Administrator\Desktop\RadioBOSS_latestbass\plugins
10000000 bass_fx.dll         2.4.7.1            C:\Users\Administrator\Desktop\RadioBOSS_latestbass
10100000 basswma.dll         2.4.4.0            C:\Users\Administrator\Desktop\RadioBOSS_latestbass\plugins
10200000 basscd.dll          2.4.5.0            C:\Users\Administrator\Desktop\RadioBOSS_latestbass\plugins
10300000 bassenc.dll         2.4.9.1            C:\Users\Administrator\Desktop\RadioBOSS_latestbass
10400000 bassflac.dll        2.4.1.0            C:\Users\Administrator\Desktop\RadioBOSS_latestbass\plugins
10500000 bassmix.dll         2.4.7.0            C:\Users\Administrator\Desktop\RadioBOSS_latestbass
11000000 bass.dll            2.4.9.0            C:\Users\Administrator\Desktop\RadioBOSS_latestbass
6f7a0000 FaultRep.dll        6.1.7601.17514     C:\Windows\system32
725a0000 NetworkExplorer.dll 6.1.7601.17514     C:\Windows\system32
728e0000 netutils.dll        6.1.7601.17514     C:\Windows\system32
728f0000 shdocvw.dll         6.1.7601.17514     C:\Windows\System32
72920000 SAMLIB.dll          6.1.7600.16385     C:\Windows\system32
...

cpu registers:
eax = 010cfdc8
ebx = 00000000
ecx = 010cfe4e
edx = 010cfdc8
esi = 80000000
edi = 80200100
eip = 11003cdd
esp = 0018ee68
ebp = 0018ee78

stack dump:
0018ee68  dc 9c 9e 05 00 01 20 80 - 70 2b 0c 01 90 97 95 03  ...... .p+......
0018ee78  a4 ee 18 00 e7 50 01 11 - 00 00 00 00 dc 9c 9e 05  .....P..........
0018ee88  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0018ee98  00 00 00 80 01 00 00 00 - 00 00 00 00 18 ef 18 00  ................
0018eea8  22 d1 62 00 00 00 00 00 - dc 9c 9e 05 00 00 00 00  ".b.............
0018eeb8  00 00 00 00 00 00 00 00 - 00 00 00 00 00 01 20 80  .............. .
0018eec8  40 ef 18 00 bc 72 40 00 - 18 ef 18 00 00 00 00 00  @....r@.........
0018eed8  30 a8 97 03 98 a5 62 00 - 00 00 00 00 00 00 00 00  0.....b.........
0018eee8  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0018eef8  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0018ef08  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0018ef18  ff ff ff ff a3 0c 77 00 - 68 ef 18 00 30 a8 97 03  ......w.h...0...
0018ef28  00 00 00 00 30 a8 97 03 - d6 0d 77 00 00 00 00 00  ....0.....w.....
0018ef38  30 a8 97 03 be 04 77 00 - 80 ef 18 00 bc 72 40 00  0.....w......r@.
0018ef48  68 ef 18 00 01 00 00 00 - 00 00 00 00 60 f6 99 03  h...........`...
0018ef58  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0018ef68  20 f2 18 00 e8 b4 7f 00 - 00 00 00 00 01 00 00 00   ...............
0018ef78  e8 03 00 00 64 00 00 00 - 28 f2 18 00 bc 72 40 00  ....d...(....r@.
0018ef88  20 f2 18 00 00 00 00 00 - 60 f6 99 03 00 00 00 00   .......`.......
0018ef98  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................

disassembling:
[...]
0062d10d       push    0
0062d10f       mov     eax, [ebx+$10c]
0062d115       call    -$2244f6 ($408c24)     ; System.@UStrToPWChar
0062d11a       push    eax
0062d11b       push    0
0062d11d     > call    -$36342 ($5f6de0)      ; BASS.BASS_StreamCreateFile
0062d122       mov     [ebx+$18], eax
0062d125 730   mov     eax, [$82dd40]
0062d12a       mov     eax, [eax]
0062d12c       cmp     byte ptr [eax+$c1], 0
0062d133       jz      loc_62d148
[...]

I'm using Delphi XE2, and all strings passed to BASS are unicode with the BASS_UNICODE flag.
Logged
fmcoder
Posts: 387


« Reply #6 on: 30 May '12 - 22:19 »
Reply with quoteQuote

And here's access violation where bassmix is involved:
date/time         : 2012-05-30, 16:08:33, 656ms
computer name     : HD-T3337CN
user name         : Administrator <admin>
registered owner  : Windows User
operating system  : Windows 2008 R2 x64 Service Pack 1 build 7601
system language   : English
system up time    : 85 days 8 hours
program up time   : 1 hour 44 minutes
processors        : 4x Intel(R) Core(TM) i3 CPU 540 @ 3.07GHz
physical memory   : 2636/3895 MB (free/total)
free disk space   : (C:) 279.87 GB
display mode      : 1280x1024, 16 bit
process id        : $438
allocated memory  : 40.67 MB
exec. date/time   : 2012-05-30 13:00
version           : 4.7.1.0
compiled with     : Delphi XE2
madExcept version : 4.0.0
callstack crc     : $347a0cad, $9fd4e746, $ff2c227e
exception number  : 1
exception class   : EAccessViolation
exception message : Access violation at address 10502C3F in module 'bassmix.dll'. Write of address 00000008.

main thread ($f80):
10502c3f +0d2 bassmix.dll                            BASS_Mixer_StreamAddChannelEx
10503b86 +012 bassmix.dll                            BASS_Mixer_StreamAddChannel
0062e330 +134 radioboss.exe AudioEngine    1283  +47 TAudioEngine.FinishChannelInit
0062d358 +674 radioboss.exe AudioEngine     788 +173 TAudioEngine.CreateChannel
00770ca1 +039 radioboss.exe frm_jinplay     277   +2 TfrmJinPlay.PlayTrack
00770dd1 +01d radioboss.exe frm_jinplay     304   +3 TfrmJinPlay.StartPlayback
007704b9 +0b5 radioboss.exe frm_jinplay     105  +14 JinNewPlayWindow
007fb4e3 +8c3 radioboss.exe plmain         8652 +179 TForm1.ScheduleStart
007eefab +21b radioboss.exe plmain         5374  +40 TForm1.rasptimerTimer
0059188b +00f radioboss.exe Vcl.ExtCtrls             TTimer.Timer
0059176f +02b radioboss.exe Vcl.ExtCtrls             TTimer.WndProc
0048aaf0 +014 radioboss.exe System.Classes           StdWndProc
75727885 +00a USER32.dll                             DispatchMessageW
005ec897 +0f3 radioboss.exe Vcl.Forms                TApplication.ProcessMessage
005ec8da +00a radioboss.exe Vcl.Forms                TApplication.HandleMessage
005ecc19 +0c9 radioboss.exe Vcl.Forms                TApplication.Run
00819727 +1f3 radioboss.exe player          209  +43 initialization
77d66b5e +076 ntdll.dll                              RtlUnicodeStringToAnsiString
758d3398 +010 kernel32.dll                           BaseThreadInitThunk

thread $ee8:
77d50136 +0e ntdll.dll     NtWaitForMultipleObjects
758d3398 +10 kernel32.dll  BaseThreadInitThunk

thread $11cc:
77d50136 +0e ntdll.dll                NtWaitForMultipleObjects
759e0bd7 +fa KERNELBASE.dll           WaitForMultipleObjectsEx
758d1a27 +89 kernel32.dll             WaitForMultipleObjectsEx
75730864 +00 USER32.dll               MsgWaitForMultipleObjectsEx
75730b64 +1a USER32.dll               MsgWaitForMultipleObjects
004c7fd5 +0d radioboss.exe  madExcept CallThreadProcSafe
004c803f +37 radioboss.exe  madExcept ThreadExceptFrame
758d3398 +10 kernel32.dll             BaseThreadInitThunk
>> created by main thread ($f80) at:
72fc7a6f +00 gdiplus.dll

thread $c8c: <priority:15>
77d4f8aa +0e ntdll.dll       NtWaitForSingleObject
759e0a8b +92 KERNELBASE.dll  WaitForSingleObjectEx
758d118f +3e kernel32.dll    WaitForSingleObjectEx
758d1143 +0d kernel32.dll    WaitForSingleObject
758d3398 +10 kernel32.dll    BaseThreadInitThunk

thread $844: <priority:2>
77d50136 +0e ntdll.dll       NtWaitForMultipleObjects
759e0bd7 +fa KERNELBASE.dll  WaitForMultipleObjectsEx
758d1a27 +89 kernel32.dll    WaitForMultipleObjectsEx
758d4203 +13 kernel32.dll    WaitForMultipleObjects
758d3398 +10 kernel32.dll    BaseThreadInitThunk

thread $135c: <priority:15>
77d4f8aa +0e ntdll.dll       NtWaitForSingleObject
759e0a8b +92 KERNELBASE.dll  WaitForSingleObjectEx
758d118f +3e kernel32.dll    WaitForSingleObjectEx
758d3398 +10 kernel32.dll    BaseThreadInitThunk

thread $714: <priority:15>
77d4f8aa +0e ntdll.dll       NtWaitForSingleObject
759e0a8b +92 KERNELBASE.dll  WaitForSingleObjectEx
758d118f +3e kernel32.dll    WaitForSingleObjectEx
758d1143 +0d kernel32.dll    WaitForSingleObject
758d3398 +10 kernel32.dll    BaseThreadInitThunk

thread $b3c: <priority:1>
77d4f8aa +00e ntdll.dll                               NtWaitForSingleObject
77d68def +000 ntdll.dll                               RtlpUnWaitCriticalSection
75479d43 +055 msvcrt.dll                              malloc
7547b1ab +09e msvcrt.dll                              realloc
1101e3bf +350 bass.dll                                BASS_ChannelGetData
00794deb +13b radioboss.exe thrd_nosndtimer    63 +26 StreamReadTimer.Execute
00487a66 +042 radioboss.exe System.Classes            ThreadProc
00407b74 +028 radioboss.exe System          15606  +0 ThreadWrapper
758d3398 +010 kernel32.dll                            BaseThreadInitThunk

thread $1224: <priority:15>
77d4f8aa +0e ntdll.dll       NtWaitForSingleObject
759e0a8b +92 KERNELBASE.dll  WaitForSingleObjectEx
758d118f +3e kernel32.dll    WaitForSingleObjectEx
758d1143 +0d kernel32.dll    WaitForSingleObject
758d3398 +10 kernel32.dll    BaseThreadInitThunk

thread $1264: <priority:-1>
77d4f8aa +00e ntdll.dll                                NtWaitForSingleObject
759e0a8b +092 KERNELBASE.dll                           WaitForSingleObjectEx
758d118f +03e kernel32.dll                             WaitForSingleObjectEx
758d1143 +00d kernel32.dll                             WaitForSingleObject
0045669a +002 radioboss.exe  System.SysUtils           WaitForSyncWaitObj
00456847 +01f radioboss.exe  System.SysUtils           WaitOrSignalObj
00406e74 +01b radioboss.exe  System          15606  +0 TMonitor.Wait
004883bb +13b radioboss.exe  System.Classes            TThread.Synchronize
00488451 +029 radioboss.exe  System.Classes            TThread.Synchronize
0078b9a2 +19e radioboss.exe  thrd_VisUpdate    157 +48 TVisTimer.Execute
00487a66 +042 radioboss.exe  System.Classes            ThreadProc
00407b74 +028 radioboss.exe  System          15606  +0 ThreadWrapper
758d3398 +010 kernel32.dll                             BaseThreadInitThunk

thread $bfc:
77d4fd6a +0e ntdll.dll       NtDelayExecution
759e31b5 +5f KERNELBASE.dll  SleepEx
759e3a86 +0a KERNELBASE.dll  Sleep
758d3398 +10 kernel32.dll    BaseThreadInitThunk

thread $fe4:
77d51f1f +0b ntdll.dll     NtWaitForWorkViaWorkerFactory
758d3398 +10 kernel32.dll  BaseThreadInitThunk

modules:
00400000 radioboss.exe       4.7.1.0            C:\Users\Administrator\Desktop\RadioBOSS_latestbass
02880000 basswasapi.dll      0.0.0.15           C:\Users\Administrator\Desktop\RadioBOSS_latestbass
028b0000 bass_wadsp.dll      2.4.1.0            C:\Users\Administrator\Desktop\RadioBOSS_latestbass
028e0000 bass_vst.dll        2.4.0.6            C:\Users\Administrator\Desktop\RadioBOSS_latestbass
02c50000 bassasio.dll        1.2.0.0            C:\Users\Administrator\Desktop\RadioBOSS_latestbass
06ed0000 bass_aac.dll        2.4.3.0            C:\Users\Administrator\Desktop\RadioBOSS_latestbass\plugins
10000000 bass_fx.dll         2.4.7.1            C:\Users\Administrator\Desktop\RadioBOSS_latestbass
10100000 basswma.dll         2.4.4.0            C:\Users\Administrator\Desktop\RadioBOSS_latestbass\plugins
10200000 basscd.dll          2.4.5.0            C:\Users\Administrator\Desktop\RadioBOSS_latestbass\plugins
10300000 bassenc.dll         2.4.9.1            C:\Users\Administrator\Desktop\RadioBOSS_latestbass
10400000 bassflac.dll        2.4.1.0            C:\Users\Administrator\Desktop\RadioBOSS_latestbass\plugins
10500000 bassmix.dll         2.4.7.0            C:\Users\Administrator\Desktop\RadioBOSS_latestbass
11000000 bass.dll            2.4.9.0            C:\Users\Administrator\Desktop\RadioBOSS_latestbass
725a0000 NetworkExplorer.dll 6.1.7601.17514     C:\Windows\system32
728e0000 netutils.dll        6.1.7601.17514     C:\Windows\system32
728f0000 shdocvw.dll         6.1.7601.17514     C:\Windows\System32
...

cpu registers:
eax = b000023b
ebx = 00000000
ecx = 00000948
edx = 00000000
esi = 00000000
edi = 002b9e90
eip = 10502c3f
esp = 0018ee3c
ebp = 0018ee6c

stack dump:
0018ee3c  00 00 00 00 00 00 00 00 - a0 99 92 03 80 bb 00 00  ................
0018ee4c  02 00 00 00 00 01 20 80 - 05 00 01 00 00 00 00 00  ...... .........
0018ee5c  00 00 00 00 00 00 00 00 - e0 29 2b 00 90 9e 2b 00  .........)+...+.
0018ee6c  c0 ee 18 00 8b 3b 50 10 - 01 00 00 b0 3b 02 00 b0  .....;P.....;...
0018ee7c  00 00 06 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0018ee8c  00 00 00 00 35 e3 62 00 - 01 00 00 b0 3b 02 00 b0  ....5.b.....;...
0018ee9c  00 00 46 00 c8 ee 18 00 - bc 72 40 00 c0 ee 18 00  ..F......r@.....
0018eeac  00 01 20 80 3b 02 00 b0 - a0 99 92 03 00 80 3b 47  .. .;.........;G
0018eebc  00 00 00 00 18 ef 18 00 - 5d d3 62 00 40 ef 18 00  ........].b.@...
0018eecc  bc 72 40 00 18 ef 18 00 - 00 00 00 00 30 a8 94 03  .r@.........0...
0018eedc  98 a5 62 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ..b.............
0018eeec  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0018eefc  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0018ef0c  00 00 00 00 00 00 00 00 - 00 00 00 00 ff ff ff ff  ................
0018ef1c  a3 0c 77 00 68 ef 18 00 - 30 a8 94 03 00 00 00 00  ..w.h...0.......
0018ef2c  30 a8 94 03 d6 0d 77 00 - 00 00 00 00 30 a8 94 03  0.....w.....0...
0018ef3c  be 04 77 00 80 ef 18 00 - bc 72 40 00 68 ef 18 00  ..w......r@.h...
0018ef4c  01 00 00 00 00 00 00 00 - 60 f6 96 03 00 00 00 00  ........`.......
0018ef5c  00 00 00 00 00 00 00 00 - 00 00 00 00 20 f2 18 00  ............ ...
0018ef6c  e8 b4 7f 00 00 00 00 00 - 01 00 00 00 e8 03 00 00  ................

disassembling:
[...]
0062e321 1283   push    $460000
0062e326        mov     eax, [ebx+$14]
0062e329        push    eax
0062e32a        mov     eax, [$8348a8]
0062e32f        push    eax
0062e330      > call    -$2c975 ($6019c0)      ; BASSmix.BASS_Mixer_StreamAddChannel
0062e335 1286   xor     eax, eax
0062e337        pop     edx
0062e338        pop     ecx
0062e339        pop     ecx
0062e33a        mov     fs:[eax], edx
[...]

For this one I also saved the dump via Process Explorer, let me know if you need it.

Another thing I want to mention - all the testing is done via RDP connection. Could it be an issue? Strange thing that on local computer program already works fine for several hours, while it crashed 3 or 4 times on Win2008 via RDP during the same time period...
« Last Edit: 30 May '12 - 22:26 by fmcoder » Logged
Ian @ un4seen
Administrator
Posts: 15363


« Reply #7 on: 31 May '12 - 12:07 »
Reply with quoteQuote

In both of these new cases, a memory allocation request appears to have failed (in BASS_StreamCreateFile and BASS_Mixer_StreamAddChannel). Neither request is large, so it seems strange for them to have failed. If you monitor things in Task Manager or Process Explorer, what does it say about your program's memory usage and the system's memory usage/availability? Have you seen any other memory allocation problems in your program or any others (eg. "out of memory" errors) on that system?
Logged
fmcoder
Posts: 387


« Reply #8 on: 31 May '12 - 14:53 »
Reply with quoteQuote

Other programs work fine there and the server itself is up for about 3 months.
Memory usage of the application is usual, about 30-40Mb and doesn't grow, system memory is fine too, as you see in the report:
physical memory   : 2681/3895 MB (free/total)
Logged
Ian @ un4seen
Administrator
Posts: 15363


« Reply #9 on: 31 May '12 - 15:35 »
Reply with quoteQuote

OK. I'll send you a debug version to find out what's going on.
Logged
Pages: [1]
  Reply  |  Print  
 
Jump to:  

Powered by SMF 1.1.18 | SMF © 2013, Simple Machines