tnctvl / google-gdata

Automatically exported from code.google.com/p/google-gdata
0 stars 0 forks source link

.Net Google Calendar API issu (DLL conflict ?) #702

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Context (little bit complicated, I'm sorry)

C++ MFC Visual Studio 2010 Project dynamically linked with a .Net assembly 
(dll) containing all the code calling Google Calendar API (for simplicity 
reasons)

This C++ MFC Project is also dynamically linked with a lot of 32 bits dll (not 
.Net assemblies)

First launch of the 32 bits application :

1/ %appdata%/Google.Apis.Auth is empty (no 
"Google.Apis.Auth.OAuth2.Responses.TokenResponse" file)
2/ GoogleWebAuthorizationBroker.AuthorizeAsync(...) is called (with correct 
parameters, I'm sure, see after) AFTER all 32 bits dll loaded.
3/ A web page is opened : 
https://accounts.google.com/o/oauth2/auth?access_type=offline&response_type=code
&client_id=(...)
4/ If I press "Accept" button on the web page, 
GoogleWebAuthorizationBroker.AuthorizeAsync(...) never returns !
(error code 12180 in the log file generated by visual studio 2010, see below)

If the call to GoogleWebAuthorizationBroker.AuthorizeAsync(...) happens BEFORE 
a specific DLL is loaded, everything works !

When this specific dll is loaded, some others Windows dll are loaded :

C:\Windows\SysWOW64\avicap32.dll
C:\Windows\SysWOW64\avifil32.dll
C:\Windows\SysWOW64\msacm32.dll
C:\Windows\SysWOW64\version.dll
C:\Windows\SysWOW64\msvfw32.dll
C:\Windows\SysWOW64\quartz.dll

Is it possible that one of these DLL can conflict (not the rigth version for 
example) with dll used by Google Calendar API through Google dll's 
(Google.Apis.dll, Google.Apis.Auth.dll, etc...) ?

Any idea to fix this issue ?

Thank you for reading !

The log generated by Visual Studio (sorry some sentences are in french) : See 
the error code 12180

System.Net Verbose: 0 : [3992] 
HttpWebRequest#63388340::HttpWebRequest(https://www.googleapis.com/calendar/v3/u
sers/me/calendarList#351999213)
System.Net Information: 0 : [3992] Le type d'installation du système 
d'exploitation actuel est 'Client'.
System.Net Information: 0 : [3992] RAS pris en charge : True
System.Net Verbose: 0 : [3992] Exiting 
HttpWebRequest#63388340::HttpWebRequest() 
System.Net Verbose: 0 : [3992] HttpWebRequest#63388340::HttpWebRequest(uri: 
'https://www.googleapis.com/calendar/v3/users/me/calendarList', 
connectionGroupName: '12381635')
System.Net Verbose: 0 : [3992] Exiting 
HttpWebRequest#63388340::HttpWebRequest() 
System.Net Error: 0 : [3992] Impossible de récupérer les paramètres du proxy 
pour l'URI 'https://www.googleapis.com/calendar/v3/users/me/calendarList'. Code 
d'erreur : 12180.
System.Net Verbose: 0 : [3992] 
ServicePoint#21224086::ServicePoint(www.googleapis.com:443)
System.Net Information: 0 : [3992] Associating HttpWebRequest#63388340 with 
ServicePoint#21224086
System.Net Information: 0 : [7880] ServicePoint#21224086 - Fermé car arrêté.
System.Net.Sockets Verbose: 0 : [8264] 
TcpListener#60068066::TcpListener(127.0.0.1#16777343)
System.Net.Sockets Verbose: 0 : [8264] Socket#33675143::Socket(AddressFamily#2)
System.Net.Sockets Verbose: 0 : [8264] Exiting Socket#33675143::Socket() 
System.Net.Sockets Verbose: 0 : [8264] Exiting 
TcpListener#60068066::TcpListener() 
System.Net.Sockets Verbose: 0 : [8264] TcpListener#60068066::Start()
System.Net.Sockets Verbose: 0 : [8264] 
Socket#33675143::Bind(127.0.0.1:0#16777343)
System.Net.Sockets Verbose: 0 : [8264] Exiting Socket#33675143::Bind() 
System.Net.Sockets Verbose: 0 : [8264] Socket#33675143::Listen(Int32#2147483647)
System.Net.Sockets Verbose: 0 : [8264] Exiting Socket#33675143::Listen() 
System.Net.Sockets Verbose: 0 : [8264] Exiting TcpListener#60068066::Start() 
System.Net.Sockets Verbose: 0 : [8264] TcpListener#60068066::Stop()
System.Net.Sockets Verbose: 0 : [8264] Socket#33675143::Close()
System.Net.Sockets Verbose: 0 : [8264] Socket#33675143::Dispose()
System.Net.Sockets Verbose: 0 : [8264] Exiting Socket#33675143::Close() 
System.Net.Sockets Verbose: 0 : [8264] Socket#34640832::Socket(AddressFamily#2)
System.Net.Sockets Verbose: 0 : [8264] Exiting Socket#34640832::Socket() 
System.Net.Sockets Verbose: 0 : [8264] Exiting TcpListener#60068066::Stop() 
System.Net Information: 0 : [8264] Le type d'installation du système 
d'exploitation actuel est 'Client'.
System.Net.Sockets Verbose: 0 : [8264] DNS::GetHostEntry(localhost)
System.Net.Sockets Verbose: 0 : [8264] DNS::GetHostByName(localhost)
System.Net.Sockets Verbose: 0 : [8264] Exiting DNS::GetHostByName()     -> 
IPHostEntry#20234383
System.Net.Sockets Verbose: 0 : [8264] Exiting DNS::GetHostEntry()  -> 
IPHostEntry#20234383

Original issue reported on code.google.com by chrono...@free.fr on 31 Oct 2014 at 11:24

GoogleCodeExporter commented 8 years ago
Sorry wrong log (and no 12180 error in the log, this error happens when 
Google.Apis.Auth.OAuth2.Responses.TokenResponse" file exist)

System.Net.Sockets Verbose: 0 : [2840] 
TcpListener#60068066::TcpListener(127.0.0.1#16777343)
System.Net.Sockets Verbose: 0 : [2840] Socket#33675143::Socket(AddressFamily#2)
System.Net.Sockets Verbose: 0 : [2840] Exiting Socket#33675143::Socket() 
System.Net.Sockets Verbose: 0 : [2840] Exiting 
TcpListener#60068066::TcpListener() 
System.Net.Sockets Verbose: 0 : [2840] TcpListener#60068066::Start()
System.Net.Sockets Verbose: 0 : [2840] 
Socket#33675143::Bind(127.0.0.1:0#16777343)
System.Net.Sockets Verbose: 0 : [2840] Exiting Socket#33675143::Bind() 
System.Net.Sockets Verbose: 0 : [2840] Socket#33675143::Listen(Int32#2147483647)
System.Net.Sockets Verbose: 0 : [2840] Exiting Socket#33675143::Listen() 
System.Net.Sockets Verbose: 0 : [2840] Exiting TcpListener#60068066::Start() 
System.Net.Sockets Verbose: 0 : [2840] TcpListener#60068066::Stop()
System.Net.Sockets Verbose: 0 : [2840] Socket#33675143::Close()
System.Net.Sockets Verbose: 0 : [2840] Socket#33675143::Dispose()
System.Net.Sockets Verbose: 0 : [2840] Exiting Socket#33675143::Close() 
System.Net.Sockets Verbose: 0 : [2840] Socket#34640832::Socket(AddressFamily#2)
System.Net.Sockets Verbose: 0 : [2840] Exiting Socket#34640832::Socket() 
System.Net.Sockets Verbose: 0 : [2840] Exiting TcpListener#60068066::Stop() 
System.Net Information: 0 : [2840] Le type d'installation du système 
d'exploitation actuel est 'Client'.
System.Net.Sockets Verbose: 0 : [2840] DNS::GetHostEntry(localhost)
System.Net.Sockets Verbose: 0 : [2840] DNS::GetHostByName(localhost)
System.Net.Sockets Verbose: 0 : [2840] Exiting DNS::GetHostByName()     -> 
IPHostEntry#20234383
System.Net.Sockets Verbose: 0 : [2840] Exiting DNS::GetHostEntry()  -> 
IPHostEntry#20234383

Original comment by chrono...@free.fr on 31 Oct 2014 at 11:49

GoogleCodeExporter commented 8 years ago
I found the origin of this issue : One of the old libraries load 
C:\Windows\SysWOW64\quartz.dll. When this library is not loaded, quartz.dll is 
not loader and everything works.

I think there is a conflict on this specific dll... Is there any specialist to 
tell me why ?

Original comment by chrono...@gmail.com on 12 Nov 2014 at 9:33