<?xml version="1.0"?>
<ArrayOfFBEvent xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <FBEvent>
    <User>Dan McFadden</User>
    <Comment />
    <StatusString>Edited</StatusString>
    <TimeStamp>2024-01-02T16:16:55Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>UNKNOWN</Status>
  </FBEvent>
  <FBEvent>
    <User>Justin Richardson</User>
    <Comment>Verified with datapro versions 4.0.1038.49397,4.1.400.49386 and 4.2.97.49401.

Stream out channel can be added to a test with iso channels and does not cause exception .
</Comment>
    <StatusString>Closed</StatusString>
    <TimeStamp>2023-10-03T17:46:27Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>Closed</Status>
  </FBEvent>
  <FBEvent>
    <User>Justin Richardson</User>
    <Comment />
    <StatusString>Assigned</StatusString>
    <TimeStamp>2023-08-25T18:11:00Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>UNKNOWN</Status>
  </FBEvent>
  <FBEvent>
    <User>Dan McFadden</User>
    <Comment />
    <StatusString>ReleaseNoted</StatusString>
    <TimeStamp>2023-08-15T18:03:09Z</TimeStamp>
    <ReleaseNote>Addresses an issue with test with channels with no isocode.</ReleaseNote>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>UNKNOWN</Status>
  </FBEvent>
  <FBEvent>
    <User>Dan McFadden</User>
    <Comment />
    <StatusString>Edited</StatusString>
    <TimeStamp>2023-08-15T15:15:00Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>UNKNOWN</Status>
  </FBEvent>
  <FBEvent>
    <User>Jerry Lawrence</User>
    <Comment />
    <StatusString>Edited</StatusString>
    <TimeStamp>2023-08-02T20:36:24Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>UNKNOWN</Status>
  </FBEvent>
  <FBEvent>
    <User>Jerry Lawrence</User>
    <Comment>49314 is 4.0; 49315 is 4.1; 49316 is 4.2.

To test:
Create a Test Setup with an analog channel, and a channel which doesn't have an ISOCode (Stream Out, Stream In, or UART).

Run the Test and after the Basic info step completes, ensure that the log does not contain a "String must be exactly one character long" error.

Although the Exception from this error would be eaten, code would not be executed and problems would occur downstream (while creating ROI from all, or using the Download Data tab, for example).</Comment>
    <StatusString>Resolved</StatusString>
    <TimeStamp>2023-08-02T15:51:00Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>Resolved</Status>
  </FBEvent>
  <FBEvent>
    <User>Jerry Lawrence</User>
    <Comment>When a Group contains channels with different TestObject values in the ISOCode (the first character of the 16-character code), the Group is considered to have Mixed TestObjects.  This results in a TestObject of "".

By checking for this (along with the existing check for "?"), a TestObject of "" will not throw an Exception because of a “String must be exactly one character long” error, and also will not used for a Dictionary index which would cause further problems downstream.
</Comment>
    <StatusString>Edited</StatusString>
    <TimeStamp>2023-08-01T21:04:00Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>UNKNOWN</Status>
  </FBEvent>
  <FBEvent>
    <User>Dan McFadden</User>
    <Comment />
    <StatusString>Edited</StatusString>
    <TimeStamp>2023-08-01T21:02:29Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>UNKNOWN</Status>
  </FBEvent>
  <FBEvent>
    <User>Dan McFadden</User>
    <Comment />
    <StatusString>Edited</StatusString>
    <TimeStamp>2023-08-01T20:55:59Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>UNKNOWN</Status>
  </FBEvent>
  <FBEvent>
    <User>Jerry Lawrence</User>
    <Comment>When adding an ISOCode to channel name Two, be sure to use the same Test Object (first character of the ISOCode) for all channels in the Group.
A “Mixed” value for the Group’s Test Object causes the “String must be exactly one character long” error.
Since apparently multiple Test Objects can reside in a Group, we need to fix this bug.
</Comment>
    <StatusString>Edited</StatusString>
    <TimeStamp>2023-08-01T18:31:42Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>UNKNOWN</Status>
  </FBEvent>
  <FBEvent>
    <User>Jerry Lawrence</User>
    <Comment>Based on my preliminary findings, a workaround is to add an ISOCode to channel name Two and then re-import the .xml.



</Comment>
    <StatusString>Edited</StatusString>
    <TimeStamp>2023-08-01T18:31:31Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>UNKNOWN</Status>
  </FBEvent>
  <FBEvent>
    <User>Dan McFadden</User>
    <Comment />
    <StatusString>Edited</StatusString>
    <TimeStamp>2023-08-01T17:30:57Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>UNKNOWN</Status>
  </FBEvent>
  <FBEvent>
    <User>Dan McFadden</User>
    <Comment />
    <StatusString>Edited</StatusString>
    <TimeStamp>2023-08-01T13:50:54Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>UNKNOWN</Status>
  </FBEvent>
  <FBEvent>
    <User>Dan McFadden</User>
    <Comment>also Zendesk 12223
 
 
#12223 DataPRO 4.0 Failed to Download Data and DB Corruption
 
 
 
 
Submitted
 
August 1, 2023 at 06:38
 
   
 
Received via
 
Web Form
 
   
 
Requester
 
Chad J Ivan &lt;chad.ivan@dtsweb.com&gt;
 
 
 
 
CCs
 
Chris Balogh &lt;chris.balogh@dtsweb.com&gt;, Jerry Lawrence &lt;jerry.lawrence@dtsweb.com&gt;, Nathan Brown &lt;nathan.brown@dtsweb.com&gt;
 
 
 
 
Status
 
Open
 
   
 
Type
 
Incident
 
   
 
Priority
 
Normal
 
   
 
Group
 
Software
 
   
 
Assignee
 
Dan McFadden
 
   
 
Ticket status
 
Open
 
 
 
 
 
Ticket Source
 
Help Center
 
   
 
Product Family
 
Software::DataPRO
 
   
 
Software Version
 
4.0.1015
 
   
 
Problem Source
 
Software::Software Bug
 
   
 
Current Department [Optional]
 
Tech Support
 
   
 
Customer Country
 
United States of America
 
   
 
Service Location
 
DTS Michigan
 
   
 
Customer State
 
Michigan
 
 
 
 
 
Chad J Ivan August 1, 2023 at 06:38
 
 
Attached is the database files from my PC that I have been using to run tests with the SPDB and SLICE PRO. 
  
 Please open this database and go to the Download Data tab and you will get the following error message.
  
 2023-08-01 09:21:05.424 !!  An exception of type: System.FormatException occurred Module: mscorlib.dll, Name: ToCharMessage: String must be exactly one character long. StackTrace:    at System.Convert.ToChar(String value, IFormatProvider provider) StackTrace:    at DataPROWin7.SubControls.SubControl.AddTestObject(IDictionary`2 testObjectChannels, String objectCode, TestSetup serializableTestSetup)    at DataPROWin7.SubControls.SubControl.BuildTestSetupFromCurrentTest()    at DataPROWin7.SubControls.BasicInfo.OpenFile(String filename)    at DataPROWin7.SubControls.BasicInfo.Reset()    at DataPROWin7.SubControls.BasicInfo.GetPageContent()    at DataPROWin7.PageNavControl.SetCurrentStep(NavStep step, Boolean bCheckNextOK)    at DataPROWin7.PageNavControl.SetNavSteps(NavStep[] steps, NavStep startingNavStep)    at DataPROWin7.RunTestBase.AddNavSteps(TestTemplate currentTest)    at DataPROWin7.RunTestBase.OnSetActive()    at DataPROWin7.DownloadAndView.OnSetActive()    at DataPROWin7.HomePage.TabControl_SelectionChanged(Object sender, SelectionChangedEventArgs e)    at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)    at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)    at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)    at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)    at System.Windows.Controls.TabControl.OnSelectionChanged(SelectionChangedEventArgs e)    at System.Windows.Controls.Primitives.Selector.SelectionChanger.End()    at System.Windows.Controls.Primitives.Selector.SetSelectedHelper(Object item, FrameworkElement UI, Boolean selected)    at System.Windows.Controls.Primitives.Selector.NotifyIsSelectedChanged(FrameworkElement container, Boolean selected, RoutedEventArgs e)    at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)    at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)    at System.Windows.Controls.TabItem.OnSelected(RoutedEventArgs e)    at System.Windows.Controls.TabItem.OnIsSelectedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)    at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)    at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)    at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)    at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry&amp; newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)    at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)    at System.Windows.DependencyObject.SetCurrentValueInternal(DependencyProperty dp, Object value)    at System.Windows.Controls.TabItem.OnPreviewGotKeyboardFocus(KeyboardFocusChangedEventArgs e)    at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)    at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)    at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)    at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)    at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)    at System.Windows.Input.InputManager.ProcessStagingArea()    at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)    at System.Windows.Input.KeyboardDevice.TryChangeFocus(DependencyObject newFocus, IKeyboardInputProvider keyboardInputProvider, Boolean askOld, Boolean askNew, Boolean forceToNullIfFailed)    at System.Windows.Input.KeyboardDevice.Focus(DependencyObject focus, Boolean askOld, Boolean askNew, Boolean forceToNullIfFailed)    at System.Windows.Input.KeyboardDevice.Focus(IInputElement element)    at System.Windows.UIElement.Focus()    at System.Windows.Controls.TabItem.SetFocus()    at System.Windows.Controls.TabItem.OnMouseLeftButtonDown(MouseButtonEventArgs e)    at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)    at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)    at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)    at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)    at System.Windows.UIElement.OnMouseDownThunk(Object sender, MouseButtonEventArgs e)    at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)    at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)    at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)    at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)    at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)    at System.Windows.Input.InputManager.ProcessStagingArea()    at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)    at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)    at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)    at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean&amp; handled)    at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp; handled)    at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp; handled)    at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)    at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
  
 This causes DataPRO to shut down.  
  
 Please advise.
  
  
 
 
 
 
Dan McFadden August 1, 2023 at 06:47Internal note
 
 
Hi Chad, 
 this looks identical to the error from 12218.
  
 There's an open manuscript item for this.
 http://manuscript.dts.local/f/cases/33008/Exception-running-a-TSR-AIR-test-in-ISO-mode
 where I noted this same error code and process.
  
 System.FormatException
   HResult=0x80131537
   Message=String must be exactly one character long.
   Source=mscorlib
   StackTrace:
    at System.Convert.ToChar(String value, IFormatProvider provider)
    at DataPROWin7.SubControls.SubControl.AddTestObject(IDictionary`2 testObjectChannels, String objectCode, TestSetup serializableTestSetup) in C:\Storage\Projects\DTS Suite\4.0.2 DEVEL\DataPRO\DataPRO\CollectDataSubControls\SubControl.cs:line 3851
  
 I'll update MS 33008 to also point at this zendesk case as well.
  
 Jerry is already looking into this.
 
 
 
 
 
Support Software by Zendesk</Comment>
    <StatusString>Edited</StatusString>
    <TimeStamp>2023-08-01T13:50:03Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>UNKNOWN</Status>
  </FBEvent>
  <FBEvent>
    <User>Dan McFadden</User>
    <Comment />
    <StatusString>Edited</StatusString>
    <TimeStamp>2023-07-31T14:44:16Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>UNKNOWN</Status>
  </FBEvent>
  <FBEvent>
    <User>Dan McFadden</User>
    <Comment>this also appears to show up in create roi from all?
 
 
 
 
 
##- Please type your reply above this line -##
 
You have been assigned to this ticket (#12218).
 
 
 
          
Chad J Ivan (DTS)
 
Jul 31, 2023, 07:22 PDT
 
I have found a bug with the create ROI from ALL.
  
 Attached you will find the test setup that I was using 2023_07_31_09_05.xml
  
 
  
 I will be attaching the log but the primary error is this line
  
 2023-07-31 09:14:44.877 Download::OnDownloadAll exception,  !!  An exception of type: System.FormatException occurred Module: mscorlib.dll, Name: ToCharMessage: String must be exactly one character long. StackTrace:    at System.Convert.ToChar(String value, IFormatProvider provider) StackTrace:    at DataPROWin7.SubControls.SubControl.AddTestObject(IDictionary`2 testObjectChannels, String objectCode, TestSetup serializableTestSetup)    at DataPROWin7.SubControls.SubControl.BuildTestSetupFromCurrentTest()    at DataPROWin7.SubControls.Download.DownloadCallback(Object sender, CallbackData data)
  
 I ran a second test with the ROI being -0.050 to 0.300 but the same issue
 
 DataPRO.log shows the same message.
  
 This smaller ROI test is attached also: 2023_07_31 09_36.xml
  
  
 
 
 
Attachment(s)
 DataPRO 2023-07-31 09.16.20.log
 2023_07_31 09_05.xml
 DataPRO.log
 2023_07_31 09_36.xml
         
 
 ------------------------------------------------------------
 CUSTOMER DETAILS:
 Name: Chad J Ivan ( chad.ivan@dtsweb.com )
 Organization: DTS
 Customer Details: 
 
You are an agent. Add a comment by replying to this email or view ticket in Zendesk Support.
    Ticket # 12218   Status Open   Requester Chad J Ivan   CCs -   Followers Chris Balogh, Nathan Brown   Group Software   Assignee Dan McFadden   Priority Normal   Type Incident   Channel Web Form    
 
 This email is a service from DTS. Delivered by Zendesk.
 
 [74Z2ZR-W14X9]Ticket-Id:12218Account-Subdomain:dtsweb</Comment>
    <StatusString>Edited</StatusString>
    <TimeStamp>2023-07-31T14:44:04Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>UNKNOWN</Status>
  </FBEvent>
  <FBEvent>
    <User>Jerry Lawrence</User>
    <Comment />
    <StatusString>Assigned</StatusString>
    <TimeStamp>2023-07-28T19:49:16Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>UNKNOWN</Status>
  </FBEvent>
  <FBEvent>
    <User>Dan McFadden</User>
    <Comment>also note, this did not crash datapro, so it's an exception that is eaten.</Comment>
    <StatusString>Edited</StatusString>
    <TimeStamp>2023-07-26T15:57:49Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>UNKNOWN</Status>
  </FBEvent>
  <FBEvent>
    <User>Dan McFadden</User>
    <Comment />
    <StatusString>Assigned</StatusString>
    <TimeStamp>2023-07-26T15:55:57Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>UNKNOWN</Status>
  </FBEvent>
  <FBEvent>
    <User>Dan McFadden</User>
    <Comment>ran into this exception when I created a new TSR AIR test setup with 1 channel (low g channel 3) with streaming with a new database in 4.0.2
 
the test object code is 0 characters long ('') and so throws an exception here.  This may not be a situation user hits often as ISO is probably turned off if you use the installer to install a tsr air install ... so maybe lower priority than any immediate running issues.
 
 
 
System.FormatException
   HResult=0x80131537
   Message=String must be exactly one character long.
   Source=mscorlib
   StackTrace:
    at System.Convert.ToChar(String value, IFormatProvider provider)
    at DataPROWin7.SubControls.SubControl.AddTestObject(IDictionary`2 testObjectChannels, String objectCode, TestSetup serializableTestSetup) in C:\Storage\Projects\DTS Suite\4.0.2 DEVEL\DataPRO\DataPRO\CollectDataSubControls\SubControl.cs:line 3851
 
  This exception was originally thrown at this call stack:
     [External Code]
     DataPROWin7.SubControls.SubControl.AddTestObject(System.Collections.Generic.IDictionary&lt;string, System.Collections.Generic.List&lt;DTS.Serialization.Iso.File.Test.Channel&gt;&gt;, string, DTS.Serialization.TestSetup) in SubControl.cs</Comment>
    <StatusString>Opened</StatusString>
    <TimeStamp>2023-07-26T15:55:57Z</TimeStamp>
    <ZendeskNumber>0</ZendeskNumber>
    <Status>Opened</Status>
  </FBEvent>
</ArrayOfFBEvent>