This project is read-only.

DS209+

Jun 2, 2009 at 9:42 PM

Using the "changeset" 19948, I get this message : "The type SynoManager.DownloadStation.DownloadStationClient+DownloadStationConfigResult doesn't have the property 'items'" when closing the "Preferences" window (even if I didn't change anything) ?

It occurs in the JsonMapper's ReadValue method. If I skip this error with my debugger, I also  next a lot of "Object reference not set to an instance of an object." in the same method, on the line JsonDebugInfo.CurrentKey = reader.Value.ToString(); Value is indeed null.

Is SynoManager well supporting the DS209+ ?

 

O.

Jun 4, 2009 at 9:13 AM

First: as far as I know do all synology devices have the same firmware. (Or at least: same management interface). So that shouldn't be the issue.

Which firmware do you have on your DS209+?

 

And since you are using the debugger, can you check that the result message doesn't have any errors? Or just dump the result message here...
To fix it you could probably just add a line to the DownloadStationConfigResult class: object[] items;

Jun 5, 2009 at 11:10 PM
Edited Jun 5, 2009 at 11:49 PM

I am now using the binary 0.12.0.0 (thanks to your tip to reset the connection settings.. See my previous post: Wrong hostname => crash)

But the same error occurs when I click "Ok" in the "Preferences..." window, even without any change to be saved.

Model name DS209+
Total Physical Memory 512 MB
Firmware version DSM 2.0-0731
System time Sat Jun 6 00:10:50 2009
Operating time 938:38:7
System temperature 58 °C / 136 °F
  

And here is the complete error messsage :

Date and Time:     5/06/2009 23:54:09
Operating System:  Microsoft Windows NT 6.0.6001 Service Pack 1
Application:       C:\Program Files (x86)\SynoManager\SynoManagerGUI.exe
Version:           0.12.0.0
Exception Source:  SynoManager.Core
Exception type:    SynoManager.CommunicationException
Exception message: Disk Station returned data in an unexpected format
Stack trace:
   at SynoManager.Communication.StationClientBase.PostRequest[TResult](String relativeUrl, String data)
   at SynoManager.DownloadStation.DownloadStationConfiguration..ctor(DownloadStationService service)
   at SynoManager.DownloadStation.DownloadStationService.get_Configuration()
   at SynoManager.DownloadStation.QueuePreferencesPanel.Save()
   at SynoManager.GUI.PreferencesForm.SaveCollection(TreeNodeCollection treeNodeCollection)
   at SynoManager.GUI.PreferencesForm.SaveCollection(TreeNodeCollection treeNodeCollection)
   at SynoManager.GUI.PreferencesForm.okButton_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
--- Inner Exception ---
Exception Source:  SynoManager.Core
Exception type:    LitJson.JsonException
Exception message: The type SynoManager.DownloadStation.DownloadStationClient+DownloadStationConfigResult doesn't have the property 'items'
---JSON Debug Info---
Method:
Key: items
Value: null
JSON Type: ObjectStart
.NET Type: DownloadStationConfigResult
Input:
{
   "items" : [],
   "success" : false,
   "total" : 0
}
Stack trace:
   at LitJson.JsonMapper.ReadValue(Type inst_type, JsonReader reader)
   at LitJson.JsonMapper.ToObject[T](String json)
   at SynoManager.Communication.StationClientBase.PostRequest[TResult](String relativeUrl, String data)
 
In debug mode:

The call to /download/btsetting.cgi?action:load returns indeed this:
 {
   "items" : [],
   "success" : false,
   "total" : 0
}

I did add the suggested declaration but it does not prevent the crash

public class DownloadStationConfigResult : ClientRequestResult
{
 
public DownloadStationConfigData data;
 
object[] items;
}

Jun 5, 2009 at 11:15 PM
Edited Jun 5, 2009 at 11:35 PM

It also crash if:

- I start SynoManager after a new clean setup

- I connect by entring the configuration of the hostname, etc...

- I click on the tab "Files" in the main window

 

Here is the error message:

Date and Time:     6/06/2009 0:09:17
Operating System:  Microsoft Windows NT 6.0.6001 Service Pack 1

Application:       C:\Program Files (x86)\SynoManager\SynoManagerGUI.exe
Version:           0.12.0.0

Exception Source:  System
Exception type:    System.Net.WebException
Exception message: The remote server returned an error: (404) Not Found.

Stack trace:
   at System.Net.HttpWebRequest.GetResponse()
   at SynoManager.Communication.StationClientBase.Request(String uri, String method, String data)

 

Information from a debug session:

Uri: http://MyServer:5000/webfm/webUI/file_share.cgi 

method: POST

data : action=getshares&node=fm_root

 

I am a total newbie regarding Synology devices. Could the URI have to be http://MyServer:5000/webfm/cgi/index.cgi ? This is the url of the "file manager"

If I use this as uri in debug mode, the POST returns something, but it crashes later on parsing the received html which is actually the "frameset" page...