Re: Problem with Windsor null reference exception

100 views
Skip to first unread message

Berke Sokhan

unread,
Jun 20, 2011, 4:45:23 AM6/20/11
to castle-pro...@googlegroups.com, castle-pro...@googlegroups.com
I also tried to gather all Castle projects to one solution to see what is failing but w/o success.

Got all sources from git/castleproject source and  git/haf/castle.facilities.nhibernate built them. But NH facility uses Windsor 2.5.1, and I dont want to downgrade to it. I already spent too much time try to integrate the new nh facility. I also noticed old NHIntegration facility uses an old version of Castle.

So may I ask you guys, to achive session-per-call/tx-per-call nhibernate WCF application server (that is not using IIS or httpbinding), excluding nhfacilities and including wcf facility...

Can you guide me to a best practice?



2011/6/18 Henrik Feldt <hen...@haf.se>

Hmm, I don’t know how to fix this properly...

 

The only work-around so far for me is to downgrade Windsor to 2.5.1. That works. I suggested that some of the improvements from v3 might be back-ported to change some of the bits in Windsor and make it go away.

 

Henrik

 

From: castle-pro...@googlegroups.com [mailto:castle-pro...@googlegroups.com] On Behalf Of Berke Sokhan
Sent: den 16 juni 2011 14:11
To: castle-pro...@googlegroups.com


Subject: Re: Problem with Windsor null reference exception

 

My stack looks same with Henrik:



   at System.Collections.ObjectModel.Collection`1.Add(T item)
   at Castle.Facilities.AutoTx.TransactionalComponentInspector.AddInterceptor(ComponentModel model) in d:\Builds\Castle.Transactions-beta\src\Castle.Facilities.AutoTx\TransactionalComponentInspector.cs:line 78
   at Castle.Facilities.AutoTx.TransactionalComponentInspector.ProcessModel(IKernel kernel, ComponentModel model) in d:\Builds\Castle.Transactions-beta\src\Castle.Facilities.AutoTx\TransactionalComponentInspector.cs:line 46
   at Castle.MicroKernel.ModelBuilder.DefaultComponentModelBuilder.BuildModel(String key, Type service, Type classType, IDictionary extendedProperties) in e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\ModelBuilder\DefaultComponentModelBuilder.cs:line 67
   at Castle.MicroKernel.Registration.ComponentRegistration`1.Castle.MicroKernel.Registration.IRegistration.Register(IKernel kernel) in e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\Registration\ComponentRegistration.cs:line 904
   at Castle.MicroKernel.DefaultKernel.Register(IRegistration[] registrations) in e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\DefaultKernel.cs:line 595
   at Castle.MicroKernel.Registration.BasedOnDescriptor.TryRegister(Type type, IKernel kernel) in e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\Registration\BasedOnDescriptor.cs:line 208
   at Castle.MicroKernel.Registration.FromDescriptor.Castle.MicroKernel.Registration.IRegistration.Register(IKernel kernel) in e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\Registration\FromDescriptor.cs:line 96
   at Castle.MicroKernel.Registration.BasedOnDescriptor.Castle.MicroKernel.Registration.IRegistration.Register(IKernel kernel) in e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\Registration\BasedOnDescriptor.cs:line 325
   at Castle.MicroKernel.DefaultKernel.Register(IRegistration[] registrations) in e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\MicroKernel\DefaultKernel.cs:line 595
   at Castle.Windsor.WindsorContainer.Register(IRegistration[] registrations) in e:\OSS.Code\Castle.Windsor\src\Castle.Windsor\Windsor\WindsorContainer.cs:line 689
   at PayFlex.Vpos.Server.Container.Bootstrapper.Initialize() in D:\SVN Repositories\iPayVPOS\trunk\PayFlex.Vpos\PayFlex.Vpos.Server.Container\Bootstrapper.cs:line 32
   at PayFlex.Vpos.Server.Application.Program.Main() in D:\SVN Repositories\iPayVPOS\trunk\PayFlex.Vpos\PayFlex.Vpos.Server.Application\Program.cs:line 19
   at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

I am using Henrik's version of Transactions/AutoTx lib coming with new NH Facility.

And I get this exception when registering some POCO service class which have "Transactional" attribute on it (removing attr. prevents exception, but nh facility need it to open injected session).

My early impression was AutoTx has some bug in inspecting attributes, maybe a null check before adding to interceptors collection obviously ...

Will look at source and try to point exact location.



2011/6/16 Krzysztof Koźmic <krzyszto...@gmail.com>

If you can reproduce it in a way that points to some reasonable bug in Windsor or elsewhere...

I looked at it when Henrik originally reported it but other than "that's bizarre it can't be happening" I didn't find any good explanation for that.

Krzysztof



On 16/06/2011 8:47 AM, Berke Sokhan wrote:

Any news on this one? I am getting it too.

Without a resolution to this, whole new Castle.Facilities.AutoTx / Castle.Services.Transactions / Castle.Facilities.NHibernate trilogy become useless :(

2011/5/6 Henrik <hen...@haf.se>

I was wondering if I could get some help debugging this exception?

TearDown : System.NullReferenceException : Object reference not set to
an instance of an object.
   at System.Collections.ObjectModel.Collection`1.Add(T item)

   at
Castle.Facilities.AutoTx.TxComponentInspector.AddInterceptor(ComponentModel
model)
   at
Castle.Facilities.AutoTx.TxComponentInspector.ProcessModel(IKernel
kernel, ComponentModel model)

   at
Castle.MicroKernel.ModelBuilder.DefaultComponentModelBuilder.BuildModel(String
key, Type service, Type classType, IDictionary extendedProperties)
   at
Castle.MicroKernel.Registration.ComponentRegistration`1.Castle.MicroKernel.Registration.IRegistration.Register(IKernel
kernel)

   at Castle.MicroKernel.DefaultKernel.Register(IRegistration[]
registrations)
   at Castle.Windsor.WindsorContainer.Register(IRegistration[]
registrations)
   NHibernateFacility_ValidationError_OnSave.cs(75,0): at
Castle.Facilities.NHibernate.Tests.Container..ctor()
   NHibernateFacility_ValidationError_OnSave.cs(48,0): at
Castle.Facilities.NHibernate.Tests.NHibernateFacility_ValidationError_OnSave.SetUp()
   --TearDown
   NHibernateFacility_ValidationError_OnSave.cs(54,0): at
Castle.Facilities.NHibernate.Tests.NHibernateFacility_ValidationError_OnSave.TearDown()

A repro is here:
https://github.com/haf/Castle.Facilities.NHibernate/commit/bc2257cd4e0992f1d2bde70de14da383910927b9

Windsor 2.5.2, 2.5.3 are affected. Not 2.5.1.xxxx

--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To post to this group, send email to castle-pro...@googlegroups.com.
To unsubscribe from this group, send email to castle-project-d...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/castle-project-devel?hl=en.




--
Berke SOKHAN.

http://twitter.com/berkesokhan
http://blog.berkesokhan.com
http://www.birliktegelistir.com/editors.aspx

--

You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To post to this group, send email to castle-pro...@googlegroups.com.
To unsubscribe from this group, send email to castle-project-d...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/castle-project-devel?hl=en.

 

--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To post to this group, send email to castle-pro...@googlegroups.com.
To unsubscribe from this group, send email to castle-project-d...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/castle-project-devel?hl=en.




--
Berke SOKHAN.

http://twitter.com/berkesokhan
http://blog.berkesokhan.com
http://www.birliktegelistir.com/editors.aspx

--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To post to this group, send email to castle-pro...@googlegroups.com.
To unsubscribe from this group, send email to castle-project-d...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/castle-project-devel?hl=en.

--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To post to this group, send email to castle-pro...@googlegroups.com.
To unsubscribe from this group, send email to castle-project-d...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/castle-project-devel?hl=en.



--
Berke SOKHAN.

http://twitter.com/berkesokhan
http://blog.berkesokhan.com
http://www.birliktegelistir.com/editors.aspx
Reply all
Reply to author
Forward
0 new messages