Forum: D Programlama Dili RSS
std.net.curl uygulaması çalışma anı aykırı durum
erdem (Moderatör) #1
Üye Tem 2009 tarihinden beri · 895 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: std.net.curl uygulaması çalışma anı aykırı durum
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

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.
acehreli (Moderatör) #2
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4391 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
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
erdem (Moderatör) #3
Üye Tem 2009 tarihinden beri · 895 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
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;
}
erdem (Moderatör) #4
Üye Tem 2009 tarihinden beri · 895 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
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
acehreli (Moderatör) #5
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4391 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Garip... İngilizce forumda sormak gerek.

Ali
erdem (Moderatör) #6
Üye Tem 2009 tarihinden beri · 895 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Stack overflow'da sormuştum hata olabilir dediler.

Bakalım bir de ingilizce forumlarda sordum.
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-04-30, 11:38:11 (UTC -07:00)