Thread overview
std.net.curl uygulaması çalışma anı aykırı durum
Nov 24, 2016
erdem
Nov 24, 2016
erdem
Nov 26, 2016
erdem
Nov 27, 2016
erdem
November 24, 2016
import std.net.curl, std.stdio;

void main()
{
   auto range1 = byLineAsync("www.google.com");
   auto range2 = byLineAsync("www.wikipedia.org");
   foreach (line; byLineAsync("dlang.org"))
       writeln(line);


   foreach (line; range1) writeln(line);
   foreach (line; range2) writeln(line);
}

<std.net.curl> ağ kütüphanesi örneğini inceliyordum. Programı şu seçeneklerle derledim.

'dmd -I/usr/include/dmd/phobos -L-l:libcurl.so.4.2.0 internet.d -ofinternet'

Alıntı:

>

std.concurrency.PriorityMessageException@std/concurrency.d(273): Priority message

??:? _D3std11concurrency10MessageBox160__T3getTDFS3std11concurrency3TidS3std3net4curl21__T11CurlMessageTAyaZ11CurlMessageZbTDFS3std11concurrency3TidS3std3net4curl19__T11CurlMessageTbZ11CurlMessageZbZ3getMFDFS3std11concurrency3TidS3std3net4curl21__T11CurlMessageTAyaZ11CurlMessageZbDFS3std11concurrency3TidS3std3net4curl19__T11CurlMessageTbZ11CurlMessageZbZ3ptyMFKS3std11concurrency36__T4ListTS3std11concurrency7MessageZ4ListZb [0x81d03f4]
??:? bool std.concurrency.MessageBox.get!(bool delegate(std.concurrency.Tid, std.net.curl.CurlMessage!(immutable(char)[]).CurlMessage), bool delegate(std.concurrency.Tid, std.net.curl.CurlMessage!(bool).CurlMessage)).get(bool delegate(std.concurrency.Tid, std.net.curl.CurlMessage!(immutable(char)[]).CurlMessage), bool delegate(std.concurrency.Tid, std.net.curl.CurlMessage!(bool).CurlMessage)) [0x81cfeed]
??:? void std.concurrency.receive!(bool delegate(std.concurrency.Tid, std.net.curl.CurlMessage!(immutable(char)[]).CurlMessage), bool delegate(std.concurrency.Tid, std.net.curl.CurlMessage!(bool).CurlMessage)).receive(bool delegate(std.concurrency.Tid, std.net.curl.CurlMessage!(immutable(char)[]).CurlMessage), bool delegate(std.concurrency.Tid, std.net.curl.CurlMessage!(bool).CurlMessage)) [0x81cfd08]
??:? void std.net.curl.AsyncLineInputRange!(char).AsyncLineInputRange.__mixin5.tryEnsureUnits() [0x81ccb87]
??:? @property bool std.net.curl.AsyncLineInputRange!(char).AsyncLineInputRange.__mixin5.empty() [0x81cc7db]
??:? _Dmain [0x81b47b8]
??:? _D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv [0x81d9292]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])).tryExec(scope void delegate()) [0x81d91dc]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])
).runAll() [0x81d924e]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate()) [0x81d91dc]
??:? _d_run_main [0x81d916e]
??:? main [0x81d3393]
??:? __libc_start_main [0x398532]

Bazen biraz sayfa alıyor ama programın sonunda şu şekilde bir aykırı durum iletisi oluşuyor.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

November 24, 2016

Ben de aynı dmd sürümünü kullanıyorum.

$ dmd -v
DMD32 D Compiler v2.072.0

Kütüphane ismini yazmadan derlemeye çalışınca da aynı hatayı veriyor.

std/concurrency.d(273) kaynak kütüğünde aykırı durum oluşturan kısım burası.

class PriorityMessageException : Exception
{
   this( Variant vals )
   {
       super( "Priority message" );
       message = vals;
   }

   /**
    * The message that was sent.
    */
   Variant message;
}

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

November 24, 2016

dmd v2.072.0 ile hata görmüyorum ama benimki çok daha basit: 'dmd deneme.d' diye derlemek yetiyor. Belki senin verdiğin curl kütüphanesiyle veya include yoluyla ilgili uyumsuzluk vardır.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

November 26, 2016

USB bellek kartı üzerinde Ubuntu 12.04'ü çalıştırıp sıfırdan dmd kurulumu yaptığımda bu hatanın devam ettiğini gördüm.

Curl'u kaynak dosyasından tekrar derledim gene düzelmedi.

https://issues.dlang.org/show_bug.cgi?id=16783

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

November 27, 2016

Stack overflow (http://stackoverflow.com/questions/40798996/std-net-curl-application-throws-an-exception)'da sormuştum hata olabilir dediler.

Bakalım bir de ingilizce forumlarda (https://forum.dlang.org/post/zbecjahnqqisdvitzpxv@forum.dlang.org) sordum.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

November 27, 2016

Garip... İngilizce forumda sormak gerek.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]