Exception CreateSIPAssetPersistor for SQLLinqMySQL. Argument

Discussions about using SIP Sorcery on your own computer/server
Post Reply
Inter_MAN
Posts: 18
Joined: Sat Mar 08, 2008 9:32 pm

Exception CreateSIPAssetPersistor for SQLLinqMySQL. Argument

Post by Inter_MAN » Mon Apr 05, 2010 2:30 pm

Hi people,

I'm trying to run siprocery 1.2 under Mono. I've had working instance of 1.1 on Mono so I hope this one could also work. Now I'm stucked on this exception: (I've replaced domain naem an IP addr. with ***)

Code: Select all

# mono sipsorcery-appsvr.exe -c
Starting logging initialisation.
Logging initialised.
SIP App Server starting
SIP App Server Console starting...
pid=31837.
os=Unix 2.6.18.6.
current directory=file:/usr/share/sipsorcery-1.2.
base directory=/usr/share/sipsorcery-1.2/.
 SIPDomainManager added domain: ***.
 added domain alias ***:5060.
 added domain alias sip.***.
 added domain alias sip.***:5060.
 added domain alias ***.
 added domain alias ***:5060.
 added domain alias *.
 SIPDomainManager wildcard domain set to ***.
Exception CreateSIPAssetPersistor for SQLLinqMySQL. Argument cannot be null.
Parameter name: name
Exception SIPAppServerDaemon Start. Argument cannot be null.
Parameter name: name

Unhandled Exception: System.ArgumentNullException: Argument cannot be null.
Parameter name: name
  at (wrapper managed-to-native) System.MonoType:GetField (System.MonoType*,string,System.Reflection.BindingFlags)
  at DbLinq.Data.Linq.Mapping.LambdaMetaAccessor.MakeSetter (System.Reflection.MemberInfo member, System.Type memberType, System.Type declaringType) [0x00000] in <filename unknown>:0
  at DbLinq.Data.Linq.Mapping.LambdaMetaAccessor.Create (System.Reflection.MemberInfo member, System.Type declaringType) [0x00000] in <filename unknown>:0
  at DbLinq.Data.Linq.Mapping.AttributedAbstractMetaDataMember..ctor (System.Reflection.MemberInfo member, System.Data.Linq.Mapping.MetaType declaringType, System.Data.Linq.Mapping.DataAttribute attribute) [0x00000] in <filename unknown>:0
  at DbLinq.Data.Linq.Mapping.AttributedColumnMetaDataMember..ctor (System.Reflection.MemberInfo member, System.Data.Linq.Mapping.ColumnAttribute attribute, System.Data.Linq.Mapping.MetaType declaringType) [0x00000] in <filename unknown>:0
  at DbLinq.Data.Linq.Mapping.AttributedMetaType.<get_DataMembers>m__3E (.<>__AnonType1`2 <>__TranspIdent0) [0x00000] in <filename unknown>:0
  at System.Linq.Enumerable+<CreateSelectIterator>c__Iterator10`2[<>__AnonType1`2[System.Reflection.MemberInfo,System.Data.Linq.Mapping.ColumnAttribute],System.Data.Linq.Mapping.MetaDataMember].MoveNext () [0x00000] in <filename unknown>:0
  at System.Collections.Generic.List`1[System.Data.Linq.Mapping.MetaDataMember].AddEnumerable (IEnumerable`1 enumerable) [0x00000] in <filename unknown>:0
  at System.Collections.Generic.List`1[System.Data.Linq.Mapping.MetaDataMember]..ctor (IEnumerable`1 collection) [0x00000] in <filename unknown>:0
  at System.Linq.Enumerable.ToList[MetaDataMember] (IEnumerable`1 source) [0x00000] in <filename unknown>:0
  at DbLinq.Data.Linq.Mapping.AttributedMetaType.get_DataMembers () [0x00000] in <filename unknown>:0
  at DbLinq.Data.Linq.Mapping.AttributedMetaType.get_PersistentDataMembers () [0x00000] in <filename unknown>:0
  at SIPSorcery.Persistence.ObjectMapper`1[SIPSorcery.SIP.App.SIPRegistrarBinding].GetGetterTableMap (System.Type tableType) [0x00000] in <filename unknown>:0
  at SIPSorcery.Persistence.ObjectMapper`1[SIPSorcery.SIP.App.SIPRegistrarBinding]..ctor () [0x00000] in <filename unknown>:0
  at SIPSorcery.Persistence.SQLAssetPersistor`1[SIPSorcery.SIP.App.SIPRegistrarBinding]..ctor (System.Data.Common.DbProviderFactory factory, System.String dbConnStr) [0x00000] in <filename unknown>:0
  at SIPSorcery.Persistence.SIPAssetPersistorFactory`1[SIPSorcery.SIP.App.SIPRegistrarBinding].CreateSIPAssetPersistor (StorageTypes storageType, System.String storageConnectionStr, System.String filename) [0x00000] in <filename unknown>:0
I've checked config and I also looked into source code but I haven't found anything. Does anyone know what it should be? (I'm using MySQL storage.)

Thanks in advance.

Aaron
Site Admin
Posts: 4652
Joined: Thu Jul 12, 2007 12:13 am

Re: Exception CreateSIPAssetPersistor for SQLLinqMySQL. Argu

Post by Aaron » Mon Apr 05, 2010 11:46 pm

Are you sure that you're using sipsorcery version 1.2? The exception you posted refers to the DbLinq library but the use of that has been removed in 1.2.

Regards,
Aaron

Inter_MAN
Posts: 18
Joined: Sat Mar 08, 2008 9:32 pm

Re: Exception CreateSIPAssetPersistor for SQLLinqMySQL. Argu

Post by Inter_MAN » Tue Apr 06, 2010 8:13 am

When I look on properties of sipsorcery-appsvr.exe there's version 1.0.0.14617, but I've downloaded it from sipsorcery.codeplex.com by clicking the download button on the right. I've tried it again now and there's really this version - not 1.2.

When I ran it first time, it had problems with XML config, apparently because of backslashes in paths. So I switched to MySQL. Then it was looking for Amazon.SimpleDB.dll which wasn't in the downloaded package neither in Mono's dlls. I found this file in source, I put it to ss's directory and finally I got error described in my first post.

Inter_MAN
Posts: 18
Joined: Sat Mar 08, 2008 9:32 pm

Re: Exception CreateSIPAssetPersistor for SQLLinqMySQL. Argu

Post by Inter_MAN » Thu Apr 08, 2010 1:59 pm

Excuse me Aaron, can you or someone else take a look at the download link, please? Or can I download stable version 1.2 on another place?
Thanks for help!

Aaron
Site Admin
Posts: 4652
Joined: Thu Jul 12, 2007 12:13 am

Re: Exception CreateSIPAssetPersistor for SQLLinqMySQL. Argu

Post by Aaron » Fri Apr 09, 2010 12:28 am

If you're using the 1.2 download link from the codeplex site then that's correct http://sipsorcery.codeplex.com/releases/view/40318. The assemblies won't show version 1.2 as I didn't think to set that when I did the build, although it would have been a good idea.

The question is why the exception message you are getting with Mono metions the DbLinq libraries when they have been removed from use and are not included with the local 1.2 version. I'm in the middle of working on something at the moment but if/when I get a chance I will attempt to fire up a Linux virutal machine and have a look, don't know when that will be though.

Regards,
Aaron

Inter_MAN
Posts: 18
Joined: Sat Mar 08, 2008 9:32 pm

Re: Exception CreateSIPAssetPersistor for SQLLinqMySQL. Argu

Post by Inter_MAN » Tue Aug 31, 2010 9:15 pm

Hi Aaron,

I've tried today to run latest Sipsorcery on Mono and now the error looks like this:

Code: Select all

# mono /usr/share/sipsorcery-1.2/sipsorcery-appsvr.exe -c
Starting logging initialisation.
Logging initialised.
SIP App Server starting
SIP App Server Console starting...
pid=11376.
os=Unix 2.6.26.2.
current directory=file:/usr/share/sipsorcery-1.2.
base directory=/usr/share/sipsorcery-1.2/.
Exception CreateSIPAssetPersistor for SQLLinqMySQL. The requested feature is not implemented.
Exception SIPAppServerDaemon Start. The requested feature is not implemented.

Unhandled Exception: System.NotImplementedException: The requested feature is not implemented.
  at System.Data.Linq.Mapping.AttributeMappingSource.CreateModel (System.Type dataContextType) [0x00000]
  at System.Data.Linq.Mapping.MappingSource.GetModel (System.Type dataContextType) [0x00000]
  at SIPSorcery.Persistence.ObjectMapper`1[SIPSorcery.SIP.App.SIPAccount].GetTableName (System.Type tableType) [0x00000]
  at SIPSorcery.Persistence.ObjectMapper`1[SIPSorcery.SIP.App.SIPAccount]..ctor () [0x00000]
  at SIPSorcery.Persistence.SQLAssetPersistor`1[SIPSorcery.SIP.App.SIPAccount]..ctor (System.Data.Common.DbProviderFactory factory, System.String dbConnStr) [0x00000]
  at SIPSorcery.Persistence.SIPAssetPersistorFactory`1[SIPSorcery.SIP.App.SIPAccount].CreateSIPAssetPersistor (StorageTypes storageType, System.String storageConnectionStr, System.String filename) [0x00000]
Do you have any idea? Thanks for support!

Aaron
Site Admin
Posts: 4652
Joined: Thu Jul 12, 2007 12:13 am

Re: Exception CreateSIPAssetPersistor for SQLLinqMySQL. Argu

Post by Aaron » Tue Aug 31, 2010 11:01 pm

Looks like the LINQ implementation in mono is still a bit behind Microsoft's. Maybe take a look at the mono roadmap and see when they plan to have the System.Linq namespace complete.

Post Reply