2015-11-21 4 views
6

मैं यो एस्पनेट द्वारा निर्मित एक अनमोडिफाइड वेब एपीआई एप्लिकेशन चलाने की कोशिश कर रहा हूं।dnx kestrel "System.EntryPointNotFoundException: uv_loop_size"

System.EntryPointNotFoundException: uv_loop_size 
    at (wrapper managed-to-native) Microsoft.AspNet.Server.Kestrel.Networking.Libuv+NativeDarwinMonoMethods:uv_loop_size() 
    at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.loop_size() <0x42615b8 + 0x00014> in <filename unknown>:0 
    at Microsoft.AspNet.Server.Kestrel.Networking.UvLoopHandle.Init (Microsoft.AspNet.Server.Kestrel.Networking.Libuv uv) <0x4261528 + 0x0002b> in <filename unknown>:0 
    at Microsoft.AspNet.Server.Kestrel.KestrelThread.ThreadStart (System.Object parameter) <0x4261160 + 0x0005f> in <filename unknown>:0 

कोई भी विचार:

मैं इस त्रुटि मिल रही है?

dnvm सूची उत्पादन:

Active Version    Runtime Architecture OperatingSystem Alias 
------ -------    ------- ------------ --------------- ----- 
     1.0.0-rc1-final  coreclr x64   darwin   
     1.0.0-rc1-final  mono     linux/osx  
    * 1.0.0-rc2-16177  mono     linux/osx  default 

मोनो संस्करण

Mono JIT compiler version 4.2.1 (explicit/6dd2d0d Tue Nov 10 18:01:18 EST 2015) 

अद्यतन

मैं

export DYLD_FALLBACK_LIBRARY_PATH=/Users/Andy/.dnx/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/osx/native/ 

जो समाप्त हो गया भागा

System.DllNotFoundException: libc.dylib 
    at (wrapper managed-to-native) System.IO.KeventWatcher:kqueue() 
    at System.IO.KeventWatcher.GetInstance (IFileWatcher& watcher) <0x105a29310 + 0x000f3> in <filename unknown>:0 
    at System.IO.FileSystemWatcher.InitWatcher() <0x105a28fa0 + 0x0012c> in <filename unknown>:0 
    at System.IO.FileSystemWatcher..ctor (System.String path, System.String filter) <0x105a28d00 + 0x00114> in <filename unknown>:0 
    at System.IO.FileSystemWatcher..ctor (System.String path) <0x105a28cc0 + 0x00023> in <filename unknown>:0 
    at (wrapper remoting-invoke-with-check) System.IO.FileSystemWatcher:.ctor (string) 
    at Microsoft.AspNet.FileProviders.PhysicalFilesWatcher..ctor (System.String root) <0x105a285b0 + 0x00154> in <filename unknown>:0 
    at Microsoft.AspNet.FileProviders.PhysicalFileProvider..ctor (System.String root) <0x105a282d0 + 0x000e4> in <filename unknown>:0 
    at Microsoft.AspNet.Hosting.HostingEnvironmentExtensions.Initialize (IHostingEnvironment hostingEnvironment, System.String applicationBasePath, IConfiguration config) <0x105a27f20 + 0x001ea> in <filename unknown>:0 
    at Microsoft.AspNet.Hosting.WebHostBuilder.Build() <0x105a1a860 + 0x000b8> in <filename unknown>:0 
    at Microsoft.AspNet.Hosting.WebApplication.Run (System.Type startupType, System.String[] args) <0x105560990 + 0x00216> in <filename unknown>:0 
    at Microsoft.AspNet.Hosting.WebApplication.Run (System.String[] args) <0x10555fef0 + 0x0001a> in <filename unknown>:0 
    at Microsoft.AspNet.Hosting.Program.Main (System.String[] args) <0x10555fec0 + 0x00014> in <filename unknown>:0 
    at Microsoft.AspNet.Server.Kestrel.Program.Main (System.String[] args) <0x10555fc90 + 0x000b5> in <filename unknown>:0 
    at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) 
    at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) <0x1050027a0 + 0x000b7> in <filename unknown>:0 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() in <filename unknown>:line 0 
    at Microsoft.Dnx.Runtime.Common.EntryPointExecutor.Execute (System.Reflection.Assembly assembly, System.String[] args, IServiceProvider serviceProvider) in <filename unknown>:line 0 
    at Microsoft.Dnx.ApplicationHost.Program+<>c__DisplayClass3_0.<ExecuteMain>b__0() in <filename unknown>:line 0 
    at System.Threading.Tasks.Task`1[TResult].InnerInvoke() in <filename unknown>:line 0 
    at System.Threading.Tasks.Task.Execute() in <filename unknown>:line 0 

Unhandled Exception: 
System.NullReferenceException: Object reference not set to an instance of an object 
    at System.IO.FileSystemWatcher.Stop() in <filename unknown>:line 0 
    at System.IO.FileSystemWatcher.Finalize() in <filename unknown>:line 0 
+0

का प्रयास करें: '' libc.dylib'/usr/lib' में स्थित है, यकीन नहीं अगर आप था एक मौजूदा " DYLD_FALLBACK_LIBRARY_PATH "सेट करें, 'निर्यात करें DYLD_FALLBACK_LIBRARY_PATH =/libuv/dir/locaation:/usr/lib: $ DYLD_FALLBACK_LIBRARY_PATH' ताकि आप मौजूदा DYLD_FALLBACK_LIBRARY_PATH env var को रीसेट नहीं कर सकें ... – SushiHangover

+0

मैं एंडी के समान स्थिति में हूं (सहित अद्यतन समस्या)। मैंने env var में/usr/lib जोड़ने के लिए आपके सुझाव @RobertN को आजमाया और मैं मूल "uv_loop_size" त्रुटि पर वापस आ गया हूं। यह ध्यान देने योग्य हो सकता है कि मुझे बीटा 8 के साथ यह समस्या नहीं थी। मेरे पास अभी यह है कि मैंने आरसी 1-फाइनल में अपडेट किया। –

+0

@ केविन क्राफ्ट, नीचे दिए गए उत्तर धागे में पावेल से टिप्पणी थ्रेड को चेकआउट करें क्योंकि मूल lib लोडिंग आरसी रिलीज में बदल गई है @ http://blog.3d-logic.com/2015/11/10/using-native- पुस्तकालय- इन-एएसपी-नेट -5/ – SushiHangover

उत्तर

0

मोनो, विजुअल कोड, ज़मरिन स्टूडियो, डीएनएक्स, libuv, नोड और रॉबर्टन के एक अपग्रेड के बाद मुझे कुछ स्पष्ट पॉइंटर्स देने के बाद, मुझे लगा कि मुझे अपने पैथ एनवी चर की जांच करनी चाहिए। निश्चित रूप से, जैसे ही मैंने जोड़ा/usr/lib /:/usr/local/lib मेरे पाथ में, यह सब काम करना शुरू कर दिया!

DNX वेब

Hosting environment: Production 
Now listening on: http://localhost:5000 
Application started. Press Ctrl+C to shut down. 

सफलता!

+0

दिलचस्प ... '/ usr/lib /:/usr/local/lib मेरे पाथ के लिए lib 'अगर यह काम करता है, तो एमएस कुछ बहुत ही गैर-std dyld पथ जांच कर रहा है क्योंकि आपको कभी भी' निष्पादन' पथ ... – SushiHangover

+0

फिर, अगर यह काम करता है, तो वास्तव में गैर-विंडोज प्लेटफ़ॉर्म – SushiHangover

+0

पर एक बग के रूप में रिपोर्ट किया जाना चाहिए, मैं अपने रास्ते में क्या होना चाहिए या नहीं, लेकिन यह नहीं, यह बहुत परिचित नहीं है। डीएनएक्स वेब चलाने के दौरान फ़ाइल एक्सेस को लॉग इन करने का कोई विचार यह देखने के लिए कि यह वास्तव में विंडोज़ पर एला प्रोमोमन कहां दिखता है? – AndyD

3
FYI करें

: जब DNX वेब चल मुझे एक अलग त्रुटि है

https://github.com/dotnet/corefxlab/blob/d76ebe8ab5ed058d3d6903939ab0e4ee4e19b773/src/System.Net.Libuv/src/System/Net/Libuv/Interop.cs

: यह संबंधित

यह System.Net.Libuv विधानसभा के माध्यम से libuv देशी पुस्तकालय नहीं मिल रहा है mono नहीं है

पहला)dnvm list -detailed चलाएं जो आप उपयोग कर रहे हैं डीएनएक्स रनटाइम्स का स्थान निर्धारित करने के लिए, यानी

Active Version    Runtime Architecture OperatingSystem Alias Location 
------ -------    ------- ------------ --------------- ----- -------- 
     1.0.0-beta8   mono     linux/osx    ~/.dnx/runtimes 
     1.0.0-rc1-final  mono     linux/osx    ~/.dnx/runtimes 
    * 1.0.0-rc2-16177  mono     linux/osx  default ~/.dnx/runtimes 

2) मेरे dnx इंस्टॉल किए जाने $HOME/.dnx/runtime (डिफ़ॉल्ट) कर रहे हैं, इसलिए मैं find ~/.dnx/packages -name "libuv*"

/Users/sushi/.dnx/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-beta8/runtimes/osx/native/libuv.dylib 
/Users/sushi/.dnx/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-beta8/runtimes/win10-arm/native/libuv.dll 
/Users/sushi/.dnx/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-beta8/runtimes/win7-x64/native/libuv.dll 
/Users/sushi/.dnx/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-beta8/runtimes/win7-x86/native/libuv.dll 
/Users/sushi/.dnx/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/osx/native/libuv.dylib 
/Users/sushi/.dnx/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/win10-arm/native/libuv.dll 
/Users/sushi/.dnx/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/win7-x64/native/libuv.dll 
/Users/sushi/.dnx/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/win7-x86/native/libuv.dll 

चला सकते हैं आप मिल जाने के बाद जहां अपने libuv.dylib आपके सिस्टम पर रहता है, तो आप env सेट कर सकते हैं । वर DYLD_FALLBACK_LIBRARY_PATH उस निर्देशिका के लिए:

export DYLD_FALLBACK_LIBRARY_PATH=/your/libuv/directory/location:$DYLD_FALLBACK_LIBRARY_PATH 

सीएमडी फिर से अपने dmvm चलाएँ:

dnvm exec 1.0.0-rc2-16177 dnx web 

नोट:

पर ओएस एक्स libuv भी उपलब्ध brew के माध्यम से है @ स्थिर संस्करण 1.7.5 लेकिन मैंने कोशिश नहीं की है क्योंकि एमएस उनके libuv.dylib बिल्डिंग का संस्करण नहीं बना रहा है, इसलिए मुझे यकीन नहीं है कि यह custom version or not है ... (?)

otool -L /Users/sushi/.dnx/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/osx/native/libuv.dylib 
/Users/sushi/.dnx/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/osx/native/libuv.dylib: 
    /Users/asplab/Documents/buildAgent/temp/buildTmp/fs-poll-5b0daf.out (compatibility version 0.0.0, current version 0.0.0) 
+0

धन्यवाद, यह बहुत अच्छी जानकारी है। मैं आज बाद में कुछ खुदाई करूँगा। – AndyD

+0

क्या आप वाकई DYLIB_FALLBACK_LIBRARY_PATH के बजाय DYLD_FALLBACK_LIBRARY_PATH नहीं हैं? – AndyD

+0

@RobertN - आप यहां देख सकते हैं कि केस्टेल के साथ कौन सा संस्करण भेज दिया गया है: https://github.com/aspnet/libuv-build/tree/dev/submodules। वर्तमान में यह एक प्रतिबद्धता के साथ 1.7.3 है जो एकाधिक लूप विंडोज पर काम करता है (योगदान हमारी टीम libuv करने के लिए बनाया गया योगदान) – Pawel

0

मामले में किसी को भी यहाँ एक और समाधान की तलाश में आता है ...

मैं ऊपर के सभी की कोशिश की, सफलता के बिना सब कुछ और पथ के अपडेट के कई पुनः इंस्टॉल करने सहित, और अंत में समाधान here अनुसार CoreCLR में स्विच और अंत में काम किया!

dnvm install 1.0.0-rc1-update1 -r coreclr -arch x64 

dnvm use 1.0.0-rc1-update1 -r coreclr -arch x64 

dnvm list 

तो, अपनी परियोजना पर जाएं और अपनी अद्यतन के बारे में इसे फिर से

dnx web 
संबंधित मुद्दे