Details
-
Type:
Bug
-
Status:
In Progress
-
Priority:
Minor
-
Resolution: Unresolved
-
Affects Version/s: 1.2 Beta
-
Fix Version/s: None
-
Component/s: library
-
Labels:None
-
Environment:Windows 7
Windows Server 2008 VM
AVG 2012.0.2221
Coucbase C# Client Library 1.2
Description
During instantiation of the client, a MessageStreamListener is created. Inside of the listener is a call is made to the config url
Line 376 of MessageStreamListener
this.request = this.requestFactory.GetWebRequest(configUrl, configUrl.GetHashCode().ToString());
this.response = this.request.GetResponse();
If this call never completes, for example because AVG silently blocks the request and prevents the data from being returned, then the client will wait indefinitely instead of timing out.
Line 376 of MessageStreamListener
this.request = this.requestFactory.GetWebRequest(configUrl, configUrl.GetHashCode().ToString());
this.response = this.request.GetResponse();
If this call never completes, for example because AVG silently blocks the request and prevents the data from being returned, then the client will wait indefinitely instead of timing out.
-
Hide
- NCBC-152.zip
- 24/May/13 11:59 AM
- 1.64 MB
- Saakshi Manocha
-
- NCBC-152/App.config 1 kB
- NCBC-152/bin/Debug/Couchbase.dll 174 kB
- NCBC-152/bin/Debug/Couchbase.pdb 392 kB
- NCBC-152/bin/Debug/CouchbaseTest.exe 4 kB
- NCBC-152/bin/.../CouchbaseTest.exe.config 1 kB
- NCBC-152/bin/Debug/CouchbaseTest.pdb 12 kB
- NCBC-152/bin/.../CouchbaseTest.vshost.exe 11 kB
- NCBC-152/.../CouchbaseTest.vshost.exe.config 1 kB
- NCBC-152/bin/Debug/Enyim.Caching.dll 164 kB
- NCBC-152/.../Enyim.Caching.Log4NetAdapter.dll 9 kB
- NCBC-152/.../Enyim.Caching.Log4NetAdapter.pdb 26 kB
- NCBC-152/.../Enyim.Caching.NLogAdapter.dll 9 kB
- NCBC-152/.../Enyim.Caching.NLogAdapter.pdb 26 kB
- NCBC-152/bin/Debug/Enyim.Caching.pdb 554 kB
- NCBC-152/bin/Debug/Hammock.dll 217 kB
- NCBC-152/bin/Debug/Hammock.pdb 530 kB
- NCBC-152/bin/Debug/log4net.dll 264 kB
- NCBC-152/bin/Debug/Newtonsoft.Json.dll 360 kB
- NCBC-152/bin/Debug/Newtonsoft.Json.pdb 984 kB
- NCBC-152/bin/Debug/Newtonsoft.Json.xml 394 kB
- NCBC-152/bin/Debug/NLog.dll 360 kB
- NCBC-152/bin/Debug/NLog.pdb 862 kB
- NCBC-152/bin/Debug/RestSharp.dll 147 kB
- NCBC-152/bin/Debug/RestSharp.xml 124 kB
- NCBC-152/bin/Debug/taglib-sharp.dll 301 kB
- NCBC-152/couchbase.sln 0.9 kB
- NCBC-152/couchbase.sln.vsdoc 0.2 kB
- NCBC-152/couchbase.suo 49 kB
- NCBC-152/couchbase.vsdoc 0.2 kB
- NCBC-152/couchbase-avg-test.csproj 4 kB
Activity
- All
- Comments
- Work Log
- History
- Activity
- Gerrit Reviews
Hide
Permalink
Aaron Mell
added a comment -
http://www.couchbase.com/forums/thread/net-client-hangs-client-create#comment-1007661
Show
Aaron Mell
added a comment - http://www.couchbase.com/forums/thread/net-client-hangs-client-create#comment-1007661
Hide
Matt Ingenthron
added a comment -
Not a priority, but let's try to come up with a way to test if this does in fact hang forever. If so, we should fix it.
Show
Matt Ingenthron
added a comment - Not a priority, but let's try to come up with a way to test if this does in fact hang forever. If so, we should fix it.
Hide
Yes it is easily reproducible. I have installed AVG on Windows7 machine and server is also installed on same machine. If AVG is enabled, client will never get instatiated, if I disable the AVG, it works perfectly.
In class Couchbase.BucketConfigListener.cs:
// subscribe to the config url
this.listener = this.GetPooledListener();
// this will be signaled by the config changed event handler
reset.WaitOne();
It keeps on waiting endlessly at this code statement - reset.WaitOne(). It wont even time out, the thread just keeps waiting forever.
While its waiting if we disable the AVG, then it will work absolutely fine.
The code snippet is attached herewith (i added a statement for Get() method, its not really required, but if included, code assumes we have a key '101' stored already).
another thing to notice is if in App.config, I change the server address from "http://localhost:8091/pools" to "http://10.3.121.134:8091/pools", it would work fine. (10.3.121.134 actually has server installed)
In class Couchbase.BucketConfigListener.cs:
// subscribe to the config url
this.listener = this.GetPooledListener();
// this will be signaled by the config changed event handler
reset.WaitOne();
It keeps on waiting endlessly at this code statement - reset.WaitOne(). It wont even time out, the thread just keeps waiting forever.
While its waiting if we disable the AVG, then it will work absolutely fine.
The code snippet is attached herewith (i added a statement for Get() method, its not really required, but if included, code assumes we have a key '101' stored already).
another thing to notice is if in App.config, I change the server address from "http://localhost:8091/pools" to "http://10.3.121.134:8091/pools", it would work fine. (10.3.121.134 actually has server installed)
Show
Saakshi Manocha
added a comment - - edited Yes it is easily reproducible. I have installed AVG on Windows7 machine and server is also installed on same machine. If AVG is enabled, client will never get instatiated, if I disable the AVG, it works perfectly.
In class Couchbase.BucketConfigListener.cs:
// subscribe to the config url
this.listener = this.GetPooledListener();
// this will be signaled by the config changed event handler
reset.WaitOne();
It keeps on waiting endlessly at this code statement - reset.WaitOne(). It wont even time out, the thread just keeps waiting forever.
While its waiting if we disable the AVG, then it will work absolutely fine.
The code snippet is attached herewith (i added a statement for Get() method, its not really required, but if included, code assumes we have a key '101' stored already).
another thing to notice is if in App.config, I change the server address from " http://localhost:8091/pools " to " http://10.3.121.134:8091/pools ", it would work fine. (10.3.121.134 actually has server installed)
Show
Saakshi Manocha
added a comment - @Matt: Please suggest how shall we proceed with this issue.