त्रुटि: CDPUserSvc_xxxxx ने काम करना बंद कर दिया
नवीनतम सुरक्षा अपडेट इंस्टॉल करने के बाद विंडोज 10 / विंडोज सर्वर 2016 पर उपयोगकर्ताओं ने CDPUserSvc सेवा की लगातार विफलताओं की शिकायत करना शुरू कर दिया। इस पोस्ट में हम देखेंगे कि CDPUserSvc सेवा क्या है, यह अप्रत्याशित रूप से क्यों समाप्त होती है, इस समस्या को कैसे ठीक करें और क्या विंडोज 10 / विंडोज सर्वर 2016 में इस सेवा को अक्षम करना संभव है।
कुछ विंडोज 10 / विंडोज सर्वर 2016 उपयोगकर्ताओं ने हाल ही में निम्नलिखित त्रुटि की शिकायत की है जो विंडोज स्टार्टअप, शटडाउन या हर कुछ मिनट में दिखाई देती है:
CDPUserSvc_xxxxx has stopped working. A problem caused the program to stop working correctly. Close the program.
एप्लिकेशन लॉग में लगातार इस तरह की त्रुटि दिखाई देती है:
Faulting application name: svchost.exe_CDPUserSvc_12cff5, version: 10.0.14393.0
Faulting module name: cdp.dll, version: 10.0.14393.1715
Exception code: 0xc0000005
Fault offset: 0x0000000000193cf5
Faulting process id: 0x4484
Faulting application path: C:\WINDOWS\system32\svchost.exe
Faulting module path: c:\windows\system32\cdp.dll
विंडोज 10 कंप्यूटरों पर, कुछ उपयोगकर्ताओं ने एनिवर्सरी अपडेट (1607) या फॉल क्रिएटर्स अपडेट (1709) इंस्टॉल करने के बाद इस त्रुटि की सूचना दी। इस मामले में, आपको CDPUserSvc सेवा को एक आइसोलेटेड प्रोसेस में शुरू करने या इसे पूरी तरह से अक्षम करने का प्रयास करना चाहिए (नीचे देखें)।
अधिकांश मामलों में, यह बग नवंबर अपडेट KB4048953 के कारण होता है जो विंडोज सर्वर 2016 और विंडोज 10 के लिए है।
यदि यह अपडेट इंस्टॉल है, तो समस्या से छुटकारा पाने के लिए, KB4048953 अपडेट को सही ढंग से अनइंस्टॉल करना (wusa.exe /uninstall /kb:4048953) या अगले संचयी अपडेट पैकेज की प्रतीक्षा करना पर्याप्त है जिसमें बग फिक्स होना चाहिए।
CDPUserSvc सेवा क्या है?
CDPUserSvc का अर्थ है कनेक्टेड डिवाइस प्लेटफॉर्म यूजर सर्विस। सेवा का पूरा नाम गतिशील है और इसमें स्ट्रिंग CDPUserSvc_ और 5 रैंडम जेनरेटेड कैरेक्टर होते हैं (मेरे उदाहरण में, यह CDPUserSvc_65bd2 है)।
विभिन्न विंडोज 10 बिल्ड में, CDPUserSvc का स्टार्टअप प्रकार अलग होता है:
- विंडोज 10 1507 में - मैनुअल स्टार्टअप;
- 1511 में सेवा अक्षम है;
- 1607, 1703, 1709, 1803 में - स्टार्ट टाइप ऑटोमैटिक।
sc query| find "CDPUser"
sc query CDPUserSvc_65bd2
सेवा svchost प्रोसेस में शुरू होती है: svchost.exe -k UnistackSvcGroup
एग्जीक्यूटेबल है %WinDir%\System32\CDPSvc.dll
यह दिलचस्प है कि यदि आप सर्विसेज की सूची (Services.msc) के साथ कंसोल खोलते हैं और CDPUserSvc ढूंढते हैं, तो आप देखेंगे कि विवरण में निम्नलिखित टेक्स्ट है:
"Failed to read description. error code 15100"
यह स्पष्ट नहीं है कि ऐसा क्यों होता है। मुझे माइक्रोसॉफ्ट से इस सेवा के बारे में कोई आधिकारिक जानकारी नहीं मिली। यदि आप CDPUserSvc कनेक्शन का विश्लेषण करते हैं, तो आप पा सकते हैं कि यह सेवा नियमित रूप से माइक्रोसॉफ्ट और OneDrive सर्वर से जुड़ती है और HTTPS पर कुछ डेटा भेजती है।
आइए देखें कि UnistackSvcGroup में चलने वाली प्रक्रियाएं कैसी दिखती हैं। ऐसा करने के लिए प्रोसेस एक्सप्लोरर चलाएं, svchost.exe प्रॉपर्टीज खोलें और उन्हें देखें।
इस प्रोसेस में पांच सेवाएं चल रही हैं (कृपया ध्यान दें कि उन सभी में CDPUserSvc के समान 5-कैरेक्टर पहचानकर्ता है):
- CDPUserSvc_xxxxx
- OneSyncSvc_xxxxx - मेल, संपर्क, कैलेंडर और अन्य उपयोगकर्ता डेटा के सिंक्रनाइज़ेशन के लिए जिम्मेदार;
- PimIndexMaintenanceSvc_xxxxx - तेज खोज के लिए संपर्क अनुक्रमण सेवा;
- UnistoreSvc_xxxxx - संरचित उपयोगकर्ता डेटा (संपर्क, कैलेंडर, मेल) स्टोर करता है;
- UserDataSvc_xxxxx - संरचित उपयोगकर्ता डेटा तक पहुंच प्रदान करता है।
संभावना है कि CDPUserSvc भी MSFT सर्वरों के साथ उपयोगकर्ता डेटा के सिंक्रनाइज़ेशन के लिए जिम्मेदार है। (क्या यह टेलीमेट्री है? क्या आपको वास्तव में इसकी आवश्यकता है?) इसलिए CDPUserSvc को आपके OS को किसी भी नुकसान के बिना अक्षम किया जा सकता है (बेशक, यदि आप मूल विंडोज 10 संपर्क, मेल और कैलेंडर ऐप्स का उपयोग नहीं कर रहे हैं)।
CDPUserSvc आइसोलेशन
लगातार CDPUserSvc_xxxxx सेवा क्रैश की समस्या को ठीक करने वाला एक और समाधान इसे आइसोलेटेड मोड में चलाना है। ऐसा करने के लिए, एलिवेटेड कमांड प्रॉम्प्ट में यह कमांड चलाएं:
sc config cdpusersvc type= own
[SC] ChangeServiceConfig SUCCESS
उसके बाद CDPUserSvc अपने स्वयं के svchost.exe प्रोसेस में शुरू होगा। जांचें कि क्या CDPUserSvc विफलता की समस्या बनी रहती है। यदि हां, तो सेवा को अक्षम करने का प्रयास करें।
CDPUserSvc सेवा को कैसे अक्षम करें
यदि आप CDPUserSvc_6b511 को मैन्युअली रोकते हैं और सर्विस मैनेजमेंट (services.msc) में इसे अक्षम पर सेट करते हैं, तो कुछ समय बाद यह फिर से शुरू हो जाएगा (दूसरे नाम के तहत)।
नोट: यह दिलचस्प है कि यदि आप इस सेवा को रजिस्ट्री से हटाते हैं, तो कुछ समय बाद यह दूसरे नाम के तहत फिर से प्रकट होती है। सिस्टम इस सेवा को हटाने से रोकने की कोशिश करता है। (लगता है, माइक्रोसॉफ्ट वायरस डेवलपर्स की सर्वोत्तम प्रथाओं को लागू करता है 😉।)
आप रजिस्ट्री में इस सेवा के लॉन्च को अक्षम कर सकते हैं। ऐसा करने के लिए, रजिस्ट्री कुंजी HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CDPUserSvc में Start पैरामीटर का मान 2 (ऑटोमैटिक स्टार्टअप) से 4 (अक्षम) में बदलें।
या ये कमांड चलाएं:
sc config CDPUserSvc start= disabled
reg add "HKLM\SYSTEM\CurrentControlSet\Services\CDPUserSvc /v "Start" /t REG_DWORD /d "4" /f