www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ldc - LDC 1.0 beat2 GC lock can not unlock

reply Dsby <dushibaiyu yahoo.com> writes:
(gdb) bt
#0  0x00007f4a0eafb79c in __lll_lock_wait () from 
/lib64/libpthread.so.0
#1  0x00007f4a0eaf74a4 in _L_lock_986 () from 
/lib64/libpthread.so.0
#2  0x00007f4a0eaf7306 in pthread_mutex_lock () from 
/lib64/libpthread.so.0
#3  0x000000000044e23a in core.sync.mutex.Mutex.lock_nothrow() ()
#4  0x0000000000453814 in gc.gc.GC.clrAttr(void*, uint) ()
#5  0x0000000000423353 in 
collie.socket.selector.epoll.EpollLoop.delEvent(collie.socket
common.AsyncEvent*) ()
#6  0x0000000000424936 in 
collie.socket.tcpsocket.TCPSocket.onClose() ()
#7  0x00000000004246bd in 
collie.socket.tcpsocket.WriteSite.doCallBack() ()
#8  0x00000000004247ba in 
collie.socket.tcpsocket.TCPSocket.onWrite() ()
#9  0x0000000000406a9d in 
Th80_D6collie7channel14handlercontext70__T11ContextImplTC6collie7channel16tcpsockethandler16TCPSocketHandlerZ11ContextImpl8__mixin
5writeMFAhDFAhkZvZv ()
#10 0x000000000040b01b in 
Th64_D6collie7channel14handlercontext35__T11ContextImplTC3app10HttpServerZ11ContextImpl8__mixin39fi
eWriteMFAhDFAhkZvZv ()
#11 0x0000000000413b43 in 
collie.codec.http.handler.HTTPHandler.writeStection(collie.buffer.sectionb
ffer.SectionBuffer, bool, bool) ()
#12 0x0000000000413986 in 
collie.codec.http.handler.HTTPHandler.write(collie.channel.handlercontext.HandlerContext!(collie.codec.http.
equest.HTTPRequest, ubyte[]).HandlerContext,
collie.codec.http.response.HTTPResponse,
void(collie.codec.http.response.HTTPResponse, uint) delegate) ()
#13 0x0000000000413c74 in 
collie.codec.http.handler.HTTPHandler.responseSent(collie.codec.http.re
ponse.HTTPResponse, immutable(char)[], ulong) ()
#14 0x0000000000419a24 in 
collie.codec.http.response.HTTPResponse.done() ()
#15 0x0000000000413819 in 
collie.codec.http.handler.HTTPHandler.requestDone(collie.codec.http.
equest.HTTPRequest) ()
#16 0x0000000000419611 in 
collie.codec.http.request.HTTPRequest.parserData(ubyte[]) ()
#17 0x0000000000413481 in 
collie.codec.http.handler.HTTPHandler.read(collie.channel.handlercontext.HandlerContext!(collie.codec.http.
equest.HTTPRequest, ubyte[]).HandlerContext, ubyte[]) ()
#18 0x000000000040b0f1 in 
Th72_D6collie7channel14handlercontext35__T11ContextImplTC3app10HttpServerZ11ContextImpl
__mixin44readMFAhZv ()
#19 0x0000000000406854 in 
Th64_D6collie7channel14handlercontext70__T11ContextImplTC6collie7channel16tcpsockethandler16TCPSocketHandlerZ11ContextImpl8__m
xin48fireReadMFAhZv ()
#20 0x0000000000424b0e in 
collie.socket.tcpsocket.TCPSocket.onRead() ()
#21 0x00000000004234d6 in 
collie.socket.selector.epoll.EpollLoop.wait(int) ()
#22 0x000000000042293c in 
collie.socket.eventloop.EventLoopImpl!(collie.socket.selector.epoll.EpollLoop).Ev
ntLoopImpl.run(int) ()
#23 0x0000000000405597 in 
collie.bootstrap.server.ServerBootstrap!(collie.channel.pipelin
.Pipeline!(ubyte[], collie.codec.http.response.HTTPResponse).Pipeline).ServerBoo
strap.waitForStop() ()
#24 0x000000000040528c in D main ()


  ldc2 --version
LDC - the LLVM D compiler (1.0.0-beta2):
   based on DMD v2.070.2 and LLVM 3.8.0
   built with LDC - the LLVM D compiler (1.0.0-beta2)
   Default target: x86_64-unknown-linux-gnu
   Host CPU: haswell
   http://dlang.org - http://wiki.dlang.org/LDC

   Registered Targets:
     x86    - 32-bit X86: Pentium-Pro and above
     x86-64 - 64-bit X86: EM64T and AMD64


in this 
https://github.com/putao-dev/collie/tree/master/example/http/httpserver

in dmd 2.071, it work ok.
May 17 2016
parent Joakim <dlang joakim.fea.st> writes:
On Wednesday, 18 May 2016 at 02:58:25 UTC, Dsby wrote:
 [...]
Have you tried dmd 2.070.2? That's the frontend ldc 1.0 is based on. If you cannot reproduce with dmd 2.070, you can file an issue here: https://github.com/ldc-developers/ldc/issues If it's in dmd 2.070.2 too, you can file an issue here: https://issues.dlang.org Wherever you file, you should try to isolate the problem a bit more, so that others don't have to rebuild your entire codebase.
May 17 2016