thewraith2008
Member
- Joined
- Nov 22, 2016
- Messages
- 1,884
Was eventually able to capture the error.
************** Exception Text **************
System.OutOfMemoryException: Insufficient memory to continue the execution of the program.
at System.Runtime.InteropServices.Marshal.AllocCoTaskMem(Int32 cb)
at System.Windows.Forms.UnsafeNativeMethods.GetWindowText(HandleRef hWnd, StringBuilder lpString, Int32 nMaxCount)
at System.Windows.Forms.Control.get_WindowText()
at System.Windows.Forms.TextBoxBase.get_WindowText()
at System.Windows.Forms.Control.get_Text()
at System.Windows.Forms.TextBox.get_Text()
at System.Windows.Forms.TextBoxBase.get_Lines()
at SDRSharp.Tetra.NetInfoWindow.(Object , EventArgs )
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
This time pointing to the VC instance. Clicking "Continue" on the exception,it just continued as normal.
You will find each time you see this error, the location of error will be different.
How long do you think session is running before this occurs?
I have written a reporting procedure below you (and others with same issue) could do to help with this.
Post result here or in a PM.
Code:
Testing for possible memory leak for TTT and TMN and reporting results
Description
===========
Run TTT or TNM with SDR# and the demodulator plug-in and monitor memory and GDI objects in
'Windows Task Manager' making note of them at different stages. (see sample of report at bottom)
Configure 'Windows Task Manager' (for Windows 7 and 10)
================================
Open 'Windows Task Manager'
for Windows 7:
Right click Systray and click 'Start Task Manager'
Select 'Processes' Tab of not selected
Goto Menu > View > 'Select Columns...'
- Enable checkbox for 'GDI Objects' and click OK.
for Windows 10:
- Right click Systray and click 'Task Manager'
Select 'Details' Tab of not selected
Mouse over one of the column headers (e.g 'Name') and right click then click 'Select columns'
- Enable checkbox for 'GDI Objects' and click OK.
Leave 'Windows Task Manager' open.
Reporting description
=====================
Open 'Notepad' (We will use Notepad to make report) - see sample report at bottom
- Add OS used (e.g. OS: Windows 7 Professional 32 bit SP1)
- Add SDR# version (e.g. SDR# version: 1700)
- Add how may dongles used in set-up and their name and bandwidth (e.g. Number of dongles: 1, Name: RTL-SDR.com - 2.4MHz)
- Program used (e.g Program: TTT)(e.g Program: TNM)
- Program mode (eg. Mode: Dual)(eg. Mode: Master/Slave)
- How many SDR# are you running (e.g Number of SDR# running: 1)
- If TNM, add number of tuners defined and how there are set and if enabled(-Y):
-- (e.g Number tuners (in #x SDR#): 4, Tuner #1=MCCH-Y, Tuner #2=FLOAT-N, Tuner #3=MCCH-Y, Tuner #4=MCCH-Y)
- Additional information to be added by following procedure below.
Procedure:
==========
It's assumed that TTT or TNM with SDR# and the demodulator plug-in are already set-up
Please follow the instructions and don't do anything your not asked to. (examples here are not real world values)
1. Start with all programs (TTT,TNM,SDR#) closed.
2. Run all programs required for session, but don't start/play them yet. Don't open remote windows,options or do anything else.
3. In 'Windows Task Manager' get the Memory (private working set) and GDI Object value for all the TTT or TMN, SDR# running
- e.g. Initial: TTT - 3,000 K - 35
- e.g. Initial: SDR# - 43,000 K - 151
4. Click play in each SDR# running
5. In 'Windows Task Manager' get the Memory (private working set) and GDI Object value for all the TTT or TMN, SDR# running
- e.g. Playing: TTT - 3,000 K - 35
- e.g. Playing: SDR# - 66,000 K - 161
for TTT:
6. Click start then wait until at least one call has played then:
7. In 'Windows Task Manager' get the Memory (private working set) and GDI Object value for all the TTT, SDR# running
- e.g. Start TTT: TTT - 3,500 K - 37
- e.g. Start TTT: SDR# - 66,500 K - 167
8. Allow TTT to runing for as long as you can (5+ hours) or until a crash is seen.
9. In 'Windows Task Manager' get the Memory (private working set) and GDI Object value for all the TTT, SDR# running
- e.g. 5 hours run TTT: TTT - 3,600 K - 40
- e.g. 5 hours run TTT: SDR# - 76,500 K - 170
for TNM:
6. Enable all MCCH tuners then wait until at least one call has played then:
7. In 'Windows Task Manager' get the Memory (private working set) and GDI Object value for all the TMN, SDR# running
- e.g. Enable TNM: TNM - 3,500 K - 37
- e.g. Enable TNM: SDR# - 66,500 K - 167
8. Allow TTT to runing for as long as you can (5+ hours) or until a crash is seen.
9. In 'Windows Task Manager' get the Memory (private working set) and GDI Object value for all the TMN, SDR# running
- e.g. 5 hours run TNM: TTT - 3,600 K - 40
- e.g. 5 hours run TNM: SDR# - 76,500 K - 170
================================================================================
Sample of report (examples here are not real world values)
OS: Windows 7 Professional 32 bit SP1
SDR# version: 1700
Number of dongles: 2
- Name: RTL-SDR.com - 2.4Msps
- Name: RTL-SDR.com - 2.4Msps
Program: TNM
- Mode: Master/Slave
- Number of SDR# running=2
- Number tuners (in 1st SDR#): 4
-- Tuner #1: MCCH-Y
-- Tuner #2: FLOAT-N
-- Tuner #3: MCCH-Y
-- Tuner #4: MCCH-Y
- Number tuners (in 2nd SDR#): 1
-- Tuner #1: FLOAT-N
Initial: TTT - 3,000 K - 35
Initial: SDR# - 43,000 K - 151
Playing: TTT - 3,000 K - 35
Playing: SDR# - 66,000 K - 161
Enable TNM: TNM - 3,500 K - 37
Enable TNM: SDR# - 66,500 K - 167
5 hours run TNM (no crash): TTT - 3,600 K - 40
5 hours run TNM (no crash): SDR# - 76,500 K - 170
================================================================================
Some initial tests I've done I'm not seeing any leaks or anything out of the ordinary.
Latest version (v1.0.16.0) can be found here: Release post