Segmentation fault of v1.9.7 on CentOS 7

The crash is fairly random and cannot be reproduced reliably.
Operating system: Linux
                  0.0.0 Linux 3.10.0-123.6.3.el7.x86_64 #1 SMP Wed Aug 6 21:12:36 UTC 2014 x86_64
CPU: amd64
     family 6 model 42 stepping 1
     4 CPUs

Crash reason:  SIGSEGV
Crash address: 0x18

Thread 0 (crashed)
 0  phantomjs!JSC::StructureStubInfo::visitAggregate [Bitmap.h : 85 + 0x6]
    rbx = 0x0000000000000070   r12 = 0x0000000000000007
    r13 = 0x00007f4bdea1abf0   r14 = 0x00007f4b8add0fe0
    r15 = 0x00007f4bdea1abc8   rip = 0x0000000000efef9f
    rsp = 0x00007fff34942d20   rbp = 0x0000000000000000
    Found by: given as instruction pointer in context
 1  phantomjs!JSC::CodeBlock::visitAggregate [CodeBlock.cpp : 1487 + 0x4]
    rbx = 0x0000000000000070   r12 = 0x0000000000000002
    r13 = 0x00007f4b8b2c7500   r14 = 0x00007f4bdea1abc8
    r15 = 0x00007f4bdea1abf0   rip = 0x0000000000efa947
    rsp = 0x00007fff34942e30   rbp = 0x0000000000000008
    Found by: call frame info
 2  phantomjs!JSC::FunctionExecutable::visitChildren [Executable.cpp : 354 + 0x7]
    rbx = 0x00007f4bdea1abc8   r12 = 0x00007f4bdea1a868
    r13 = 0x00007f4b8b560b50   r14 = 0x00007f4bdea1abc8
    r15 = 0x00007f4bdea1abd0   rip = 0x00000000004fa984
    rsp = 0x00007fff34942ee0   rbp = 0x00007f4bde9e0838
    Found by: call frame info
 3  phantomjs!JSC::MarkStack::visitChildren [MarkStack.cpp : 82 + 0x8]
    rbx = 0x00007f4bdea1abc8   r12 = 0x00007f4bdea1a868
    r13 = 0x00007f4b8b560b50   r14 = 0x00007f4bdea1abc8
    r15 = 0x00007f4bdea1abd0   rip = 0x0000000000f27e67
    rsp = 0x00007fff34942f20   rbp = 0x00007f4bde9e0838
    Found by: call frame info
 4  phantomjs!JSC::MarkStack::drain [MarkStack.cpp : 128 + 0x8]
    rbx = 0x00007f4bdea1abc8   r12 = 0x00007f4bdea1a868
    r13 = 0x0000000000000000   r14 = 0x00007f4b8ad9c8f8
    r15 = 0x00007f4bdea1abd0   rip = 0x0000000000f28783
    rsp = 0x00007fff34942fd0   rbp = 0x00007f4bdea1abc8
    Found by: call frame info
 5  phantomjs!JSC::Heap::markRoots [Heap.cpp : 225 + 0x7]
    rbx = 0x0000000000000000   r12 = 0x00007f4bdea1a868
    r13 = 0x0000000000000000   r14 = 0x00007f4b8ad9c8f8
    r15 = 0x00007fff34943040   rip = 0x0000000000f25738
    rsp = 0x00007fff34943020   rbp = 0x00007f4bdea1abc8
    Found by: call frame info
 6  phantomjs!JSC::Heap::reset [Heap.cpp : 397 + 0x4]
    rbx = 0x0000000000000000   r12 = 0x00007f4bdea1a870
    r13 = 0x0000000000000000   r14 = 0x00007f4b8ad9c8f8
    r15 = 0x00007f4bde9e0908   rip = 0x0000000000f25a31
    rsp = 0x00007fff349438d0   rbp = 0x00007f4bdea1a868
    Found by: call frame info
 7  phantomjs!JSC::Heap::allocateSlowCase [Heap.cpp : 122 + 0x4]
    rbx = 0x0000000000000018   r12 = 0x00007f4bdea19000
    r13 = 0x0000000000000000   r14 = 0x00007f4b8ad9c8f8
    r15 = 0x00007f4bde9e0908   rip = 0x0000000000f25b03
    rsp = 0x00007fff34943900   rbp = 0x00007f4bdea1a868
    Found by: call frame info
 8  phantomjs!JSC::cti_op_get_by_id_proto_list [JSCell.h : 393 + 0xc]
    rbx = 0x00007f4bdea1a868   r12 = 0x00007f4bdea19000
    r13 = 0x0000000000000000   r14 = 0x00007f4b8ad9c8f8
    r15 = 0x00007f4bde9e0908   rip = 0x0000000000f5fe7c
    rsp = 0x00007fff34943920   rbp = 0x00007f4bd9d56b00
    Found by: call frame info
 9  0x7f4b9435c5de
    rbx = 0x00007f4b89f29e30   r12 = 0x00000000000001ea
    r13 = 0x00007f4bd9d56b00   r14 = 0xffff000000000000
    r15 = 0xffff000000000002   rip = 0x00007f4b9435c5df
    rsp = 0x00007fff34943c10   rbp = 0x00007fff34943cb0
    Found by: call frame info
10  phantomjs!JSC::Interpreter::executeCall [JITCode.h : 77 + 0x16]
    rip = 0x0000000000f2e376   rsp = 0x00007fff34943cc0
    Found by: stack scanning
11  phantomjs!JSC::call [CallData.cpp : 38 + 0x21]
    rbx = 0x00007f4bdea1a850   r12 = 0x0000000000000002
    r13 = 0x00007f4b8b2a18a0   r14 = 0x00007f4b8afd6d20
    r15 = 0x00007f4bde9cd050   rip = 0x0000000000f7291d
    rsp = 0x00007fff34943d90   rbp = 0x00007f4b8994a0d0
    Found by: call frame info
12  phantomjs!WebCore::JSEventListener::handleEvent [JSMainThreadExecState.h : 48 + 0xc]
    rbx = 0x00007f4bdea1a850   r12 = 0x0000000000000002
    r13 = 0x00007f4b8b2a18a0   r14 = 0x00007f4b8afd6d20
    r15 = 0x00007f4bde9cd050   rip = 0x00000000010041c3
    rsp = 0x00007fff34943da0   rbp = 0x00007f4b8994a0d0
    Found by: call frame info
13  phantomjs!WebCore::EventTarget::fireEventListeners [EventTarget.cpp : 360 + 0x1b]
    rbx = 0x00007f4b8b2a18a0   r12 = 0x00007f4b8afd6d20
    r13 = 0x00007f4b8994a000   r14 = 0x00007f4b8b3e67b0
    r15 = 0x00007f4b8baafe88   rip = 0x000000000063c3e1
    rsp = 0x00007fff34944010   rbp = 0x0000000001003a30
    Found by: call frame info
14  phantomjs!WebCore::EventTarget::fireEventListeners [EventTarget.cpp : 329 + 0x11]
    rbx = 0x00007f4b8994a000   r12 = 0x00007fff349442d0
    r13 = 0x00007fff34944350   r14 = 0x0000000005e31250
    r15 = 0x00007fff34944368   rip = 0x000000000063d563
    rsp = 0x00007fff34944090   rbp = 0x00007f4b8afd6d20
    Found by: call frame info
15  phantomjs!WebCore::EventContext::handleLocalEvents [EventContext.cpp : 48 + 0x8]
    rbx = 0x00007f4b8b2b44c8   r12 = 0x00007fff349442d0
    r13 = 0x00007fff34944350   r14 = 0x0000000005e31250
    r15 = 0x00007fff34944368   rip = 0x0000000001065776
    rsp = 0x00007fff349440b0   rbp = 0x00007f4b8afd6d20
    Found by: call frame info
16  phantomjs!WebCore::EventDispatcher::dispatchEvent [EventDispatcher.cpp : 316 + 0xf]
    rbx = 0x0000000000000048   r12 = 0x00007fff349442d0
    r13 = 0x00007fff34944350   r14 = 0x0000000005e31250
    r15 = 0x00007fff34944368   rip = 0x000000000063a0b8
    rsp = 0x00007fff349440e0   rbp = 0x0000000000000003
    Found by: call frame info
17  phantomjs!WebCore::MouseEventDispatchMediator::dispatchEvent [MouseEvent.cpp : 176 + 0xf]
    rbx = 0x00007fff349443b0   r12 = 0x00007fff349445e0
    r13 = 0x00007fff34944350   r14 = 0x0000000000000000
    r15 = 0x00007f4bdea40b68   rip = 0x00000000006452df
    rsp = 0x00007fff349441e0   rbp = 0x00007fff349443b0
    Found by: call frame info
18  phantomjs!WebCore::EventDispatcher::dispatchEvent [EventDispatcher.cpp : 53 + 0xb]
    rbx = 0x00007fff349443b0   r12 = 0x00007fff349445e0
    r13 = 0x0000000005e31250   r14 = 0x00007f4bdea40b68
    r15 = 0x00007f4bdea40b68   rip = 0x000000000063bc02
    rsp = 0x00007fff34944350   rbp = 0x00007fff349443c0
    Found by: call frame info
19  phantomjs!WebCore::Node::dispatchMouseEvent [Node.cpp : 2856 + 0x35]
    rbx = 0x0000000000000001   r12 = 0x00007fff349445e0
    r13 = 0x0000000005e31250   r14 = 0x00007f4bdea40b68
    r15 = 0x00007f4bdea40b68   rip = 0x000000000064cf04
    rsp = 0x00007fff349443b0   rbp = 0x00007fff349443c0
    Found by: call frame info
20  phantomjs!WebCore::EventHandler::dispatchMouseEvent [EventHandler.cpp : 2004 + 0x10]
    rbx = 0x0000000000000001   r12 = 0x0000000000000001
    r13 = 0x00007f4b8bbaba10   r14 = 0x00007fff349445e0
    r15 = 0x00007f4bdea40b68   rip = 0x00000000008d56d7
    rsp = 0x00007fff34944420   rbp = 0x0000000005e31250
    Found by: call frame info
21  phantomjs!WebCore::EventHandler::handleMouseReleaseEvent [EventHandler.cpp : 1708 + 0x25]
    rbx = 0x00007f4bdea081a0   r12 = 0x00007f4b8bbaba10
    r13 = 0x00007f4b8877ddc0   r14 = 0x0000000005e31250
    r15 = 0x00007fff349445e0   rip = 0x00000000008de7b2
    rsp = 0x00007fff349444a0   rbp = 0x000000000470d760
    Found by: call frame info
22  phantomjs!QWebPagePrivate::mouseReleaseEvent<QMouseEvent> [qwebpage.cpp : 795 + 0xe]
    rbx = 0x0000000005f8f4e0   r12 = 0x0000000005eed830
    r13 = 0x0000000004489ae0   r14 = 0x0000000004487208
    r15 = 0x0000000005f8f4e0   rip = 0x00000000004866cd
    rsp = 0x00007fff349445e0   rbp = 0x00007f4b8bbab400
    Found by: call frame info
23  phantomjs!QWebPage::event [qwebpage.cpp : 3070 + 0x8]
    rbx = 0x00007fff34947c10   r12 = 0x0000000005f8f4e0
    r13 = 0x0000000004489ae0   r14 = 0x0000000004487208
    r15 = 0x0000000005f8f4e0   rip = 0x0000000000494540
    rsp = 0x00007fff34944650   rbp = 0x0000000005f8f4e0
    Found by: call frame info
24  phantomjs!QApplicationPrivate::notify_helper [qapplication.cpp : 4562 + 0xc]
    rbx = 0x00007fff34947c10   r12 = 0x0000000005f8f4e0
    r13 = 0x0000000004489ae0   r14 = 0x0000000004487208
    r15 = 0x0000000005f8f4e0   rip = 0x00000000015decaf
    rsp = 0x00007fff34944710   rbp = 0x00000000059d4a30
    Found by: call frame info
25  phantomjs!QApplication::notify [qapplication.cpp : 4423 + 0x17]
    rbx = 0x00007fff34947c10   r12 = 0x0000000005f8f4e0
    r13 = 0x00007fff34947c10   r14 = 0x0000000004487208
    r15 = 0x0000000005f8f4e0   rip = 0x00000000015e793b
    rsp = 0x00007fff34944740   rbp = 0x00000000059d4a30
    Found by: call frame info
26  phantomjs!QCoreApplication::notifyInternal [qcoreapplication.cpp : 946 + 0x2]
    rbx = 0x00000000044871c0   r12 = 0x0000000005f8f4e0
    r13 = 0x00007fff34947c10   r14 = 0x0000000004487208
    r15 = 0x00000000044871fc   rip = 0x0000000001cde3d4
    rsp = 0x00007fff34944c10   rbp = 0x00000000059d4a30
    Found by: call frame info
27  phantomjs!QCoreApplicationPrivate::sendPostedEvents [qcoreapplication.h : 231 + 0x1f]
    rbx = 0x0000000005f8f4e0   r12 = 0x00000000044871c0
    r13 = 0x00000000059d4a30   r14 = 0x0000000004487208
    r15 = 0x00000000044871fc   rip = 0x0000000001cdf334
    rsp = 0x00007fff34944c60   rbp = 0x0000000005f8f520
    Found by: call frame info
28  phantomjs!QEventDispatcherQPA::processEvents [qcoreapplication.h : 236 + 0xb]
    rbx = 0x00000000044871c0   r12 = 0x0000000000000000
    r13 = 0x0000000004487030   r14 = 0x00007fff34944d60
    r15 = 0x00007fff34946160   rip = 0x000000000163a623
    rsp = 0x00007fff34944d20   rbp = 0x000000000448a110
    Found by: call frame info
29  phantomjs!QCoreApplication::processEvents [qcoreapplication.cpp : 1133 + 0x1]
    rbx = 0x00000000044871c0   r12 = 0x00007fff34944f90
    r13 = 0x00007fff34944eb0   r14 = 0x0000000005eecfd4
    r15 = 0x00007fff34946160   rip = 0x0000000001cdf95c
    rsp = 0x00007fff34944d60   rbp = 0x00007fff349452b0
    Found by: call frame info
30  phantomjs!WebPage::sendEvent [webpage.cpp : 1394 + 0xc]
    rbx = 0x0000000005f8f4e0   r12 = 0x00007fff34944f90
    r13 = 0x00007fff34944eb0   r14 = 0x0000000005eecfd4
    r15 = 0x00007fff34946160   rip = 0x000000000041c758
    rsp = 0x00007fff34944d90   rbp = 0x00007fff34944f80
    Found by: call frame info
31  phantomjs!WebPage::sendEvent [webpage.cpp : 1405 + 0x1f]
    rbx = 0x00007fff34945420   r12 = 0x00007fff349459c0
    r13 = 0x00007fff34945460   r14 = 0x00007fff34945910
    r15 = 0x00007fff34946160   rip = 0x000000000041bc65
    rsp = 0x00007fff34945340   rbp = 0x00007fff34946150
    Found by: call frame info
32  phantomjs!WebPage::qt_static_metacall [moc_webpage.cpp : 248 + 0x20]
    rbx = 0x00007fff34945910   r12 = 0x0000000005eecf60
    r13 = 0x000000000000001f   r14 = 0x0000000005f8fef0
    r15 = 0x0000000005f8ff00   rip = 0x000000000046a7bc
    rsp = 0x00007fff349458f0   rbp = 0x00007fff349462b0
    Found by: call frame info
33  phantomjs!WebPage::qt_metacall [moc_webpage.cpp : 338 + 0xe]
    rbx = 0x0000000000000000   r12 = 0x0000000005eecf60
    r13 = 0x000000000000001f   r14 = 0x0000000005f8fef0
    r15 = 0x0000000005f8ff00   rip = 0x000000000046aebf
    rsp = 0x00007fff34945a20   rbp = 0x00007fff349462b0
    Found by: call frame info
34  phantomjs!JSC::Bindings::QtRuntimeMetaMethod::call [qt_runtime.cpp : 1455 + 0x17]
    rbx = 0x00007fff34946080   r12 = 0x0000000005f8ff00
    r13 = 0x0000000005f8f720   r14 = 0x0000000005f8fef0
    r15 = 0x0000000005f8ff00   rip = 0x0000000000552f07
    rsp = 0x00007fff34945bb0   rbp = 0x0000000005f8f710
    Found by: call frame info
35  phantomjs!JSC::cti_op_call_NotJSFunction [JITStubs.cpp : 2191 + 0x3]
    rbx = 0x0000000000000000   r12 = 0x00007f4bd9d563f8
    r13 = 0x00007f4b82c34dc8   r14 = 0x00007fff349469b8
    r15 = 0x00007f4bd9d56370   rip = 0x0000000000f5d075
    rsp = 0x00007fff34946960   rbp = 0x00007fff349469c0
    Found by: call frame info
36  0x7f4b94ac88b6
    rbx = 0x00007f4b82c3eed0   r12 = 0x00000000000001fa
    r13 = 0x00007f4bd9d56370   r14 = 0xffff000000000000
    r15 = 0xffff000000000002   rip = 0x00007f4b94ac88b7
    rsp = 0x00007fff349469c0   rbp = 0x00007fff34946a60
    Found by: call frame info
37  phantomjs!QTimerInfoList::registerTimer [qeventdispatcher_unix.cpp : 494 + 0x4]
    rip = 0x0000000001d07add   rsp = 0x00007fff34946a00
    rbp = 0x00007fff34946a60
    Found by: stack scanning
38  0x2a9ec67
    rbx = 0x0000000000000000   r12 = 0x00007f4bdea19000
    r13 = 0x00007f4bd9d56048   r14 = 0x00007f4bde9cc1d8
    rip = 0x0000000002a9ec68   rsp = 0x00007fff34946a50
    rbp = 0x0000000002a9ec68
    Found by: call frame info
39  phantomjs!JSC::Interpreter::executeCall [JITCode.h : 77 + 0x16]
    rip = 0x0000000000f2e376   rsp = 0x00007fff34946a70
    Found by: stack scanning
40  phantomjs!JSC::call [CallData.cpp : 38 + 0x21]
    rbx = 0x00007f4bdea1a850   r12 = 0x0000000000000002
    r13 = 0x00007f4bd936dc00   r14 = 0x00007f4b899efd90
    r15 = 0x00007f4bde9cc150   rip = 0x0000000000f7291d
    rsp = 0x00007fff34946b40   rbp = 0x00007f4bdea338d0
    Found by: call frame info
41  phantomjs!WebCore::JSEventListener::handleEvent [JSMainThreadExecState.h : 48 + 0xc]
    rbx = 0x00007f4bdea1a850   r12 = 0x0000000000000002
    r13 = 0x00007f4bd936dc00   r14 = 0x00007f4b899efd90
    r15 = 0x00007f4bde9cc150   rip = 0x00000000010041c3
    rsp = 0x00007fff34946b50   rbp = 0x00007f4bdea338d0
    Found by: call frame info
42  phantomjs!WebCore::EventTarget::fireEventListeners [EventTarget.cpp : 360 + 0x1b]
    rbx = 0x00007f4bd936dc00   r12 = 0x00007f4b899efd90
    r13 = 0x00007f4bdea04340   r14 = 0x00007f4bdea043d8
    r15 = 0x00007f4bd9d2c7f8   rip = 0x000000000063c3e1
    rsp = 0x00007fff34946dc0   rbp = 0x0000000001003a30
    Found by: call frame info
43  phantomjs!WebCore::EventTarget::fireEventListeners [EventTarget.cpp : 329 + 0x11]
    rbx = 0x00007f4bdea04340   r12 = 0x00007f4b899efd90
    r13 = 0x00007f4bdea04340   r14 = 0x00007fff34946ee0
    r15 = 0x00007fff34946ed0   rip = 0x000000000063d563
    rsp = 0x00007fff34946e40   rbp = 0x00007f4b899efd90
    Found by: call frame info
44  phantomjs!WebCore::EventTarget::dispatchEvent [EventTarget.cpp : 311 + 0x8]
    rbx = 0x00007f4bdea04340   r12 = 0x00007f4b899efd90
    r13 = 0x00007f4bdea04340   r14 = 0x00007fff34946ee0
    r15 = 0x00007fff34946ed0   rip = 0x000000000063d5ca
    rsp = 0x00007fff34946e60   rbp = 0x00007fff34946f00
    Found by: call frame info
45  phantomjs!WebCore::WebSocket::didReceiveMessage [WebSocket.cpp : 266 + 0x9]
    rbx = 0x00007f4bde9f63e0   r12 = 0x00007f4b899efd90
    r13 = 0x00007f4bdea04340   r14 = 0x00007fff34946ee0
    r15 = 0x00007fff34946ed0   rip = 0x00000000015aaa25
    rsp = 0x00007fff34946e90   rbp = 0x000000000470d760
    Found by: call frame info
46  phantomjs!WebCore::WebSocketChannel::processBuffer [WebSocketChannel.cpp : 383 + 0xc]
    rbx = 0x00007f4b8b1d10c1   r12 = 0x0000000000000021
    r13 = 0x00000000015d6210   r14 = 0x0000000000000001
    r15 = 0x0000000004728770   rip = 0x00000000015ce358
    rsp = 0x00007fff34946f50   rbp = 0x00007f4bd9319000
    Found by: call frame info
47  phantomjs!WebCore::WebSocketChannel::didReceiveData [WebSocketChannel.cpp : 206 + 0x7]
    rbx = 0x00007f4bd9319000   r12 = 0x00007f4bd9338cb0
    r13 = 0x00000000015d6210   r14 = 0x0000000000000001
    r15 = 0x0000000004728770   rip = 0x00000000015ce889
    rsp = 0x00007fff34946fc0   rbp = 0x0000000000000001
    Found by: call frame info
48  phantomjs!WebCore::SocketStreamHandlePrivate::socketReadyRead [SocketStreamHandleQt.cpp : 94 + 0xc]
    rbx = 0x0000000005f8f860   r12 = 0x0000000004728501
    r13 = 0x00000000015d6210   r14 = 0x0000000000000001
    r15 = 0x0000000004728770   rip = 0x00000000015d6186
    rsp = 0x00007fff34946fe0   rbp = 0x00000000047281d0
    Found by: call frame info
49  phantomjs!WebCore::SocketStreamHandlePrivate::qt_static_metacall [moc_SocketStreamHandlePrivate.cpp : 65 + 0x4]
    rbx = 0x00007fff34947270   r12 = 0x0000000004728501
    r13 = 0x00000000015d6210   r14 = 0x0000000000000001
    r15 = 0x0000000004728770   rip = 0x00000000015d66ef
    rsp = 0x00007fff34947010   rbp = 0x00000000047281d0
    Found by: call frame info
50  phantomjs!QMetaObject::activate [qobject.cpp : 3539 + 0x1e]
    rbx = 0x0000000000000004   r12 = 0x0000000004728501
    r13 = 0x00000000015d6210   r14 = 0x0000000000000001
    r15 = 0x0000000004728770   rip = 0x0000000001cf6ef8
    rsp = 0x00007fff349471b0   rbp = 0x00000000047281d0
    Found by: call frame info
51  phantomjs!QAbstractSocketPrivate::canReadNotification [qabstractsocket.cpp : 654 + 0x7]
    rbx = 0x0000000004728440   r12 = 0x0000000004728533
    r13 = 0x0000000000000000   r14 = 0x0000000004728530
    r15 = 0x0000000004728420   rip = 0x0000000001b7b28a
    rsp = 0x00007fff349472d0   rbp = 0x0000000000000001
    Found by: call frame info
52  phantomjs!QReadNotifier::event [qnativesocketengine.cpp : 1151 + 0x8]
    rbx = 0x00007fff34947c10   r12 = 0x00007fff34947870
    r13 = 0x0000000004489ae0   r14 = 0x0000000002aa3348
    r15 = 0x00007fff34947870   rip = 0x0000000001b84451
    rsp = 0x00007fff34947310   rbp = 0x0000000004937910
    Found by: call frame info
53  phantomjs!QApplicationPrivate::notify_helper [qapplication.cpp : 4562 + 0xc]
    rbx = 0x00007fff34947c10   r12 = 0x00007fff34947870
    r13 = 0x0000000004489ae0   r14 = 0x0000000002aa3348
    r15 = 0x00007fff34947870   rip = 0x00000000015decaf
    rsp = 0x00007fff34947320   rbp = 0x0000000004937910
    Found by: call frame info
54  phantomjs!QApplication::notify [qapplication.cpp : 4423 + 0x17]
    rbx = 0x00007fff34947c10   r12 = 0x00007fff34947870
    r13 = 0x00007fff34947c10   r14 = 0x0000000002aa3348
    r15 = 0x00007fff34947870   rip = 0x00000000015e793b
    rsp = 0x00007fff34947350   rbp = 0x0000000004937910
    Found by: call frame info
55  phantomjs!QCoreApplication::notifyInternal [qcoreapplication.cpp : 946 + 0x2]
    rbx = 0x00000000044871c0   r12 = 0x00007fff34947870
    r13 = 0x00007fff34947c10   r14 = 0x0000000002aa3348
    r15 = 0x0000000000000001   rip = 0x0000000001cde3d4
    rsp = 0x00007fff34947820   rbp = 0x0000000004937910
    Found by: call frame info
56  phantomjs!QEventDispatcherUNIX::activateSocketNotifiers [qcoreapplication.h : 231 + 0x14]
    rbx = 0x0000000004905f40   r12 = 0x0000000000000000
    r13 = 0x000000000448a110   r14 = 0x0000000002aa3348
    r15 = 0x0000000000000001   rip = 0x0000000001d07211
    rsp = 0x00007fff34947870   rbp = 0x000000000448a9b8
    Found by: call frame info
57  phantomjs!QEventDispatcherUNIXPrivate::doSelect [qeventdispatcher_unix.cpp : 291 + 0x9]
    rbx = 0x0000000000000002   r12 = 0x0000000000000003
    r13 = 0x000000000448a110   r14 = 0x0000000000000000
    r15 = 0x000000000448a560   rip = 0x0000000001d0773c
    rsp = 0x00007fff349478d0   rbp = 0x0000000000000000
    Found by: call frame info
58  phantomjs!QEventDispatcherUNIX::processEvents [qeventdispatcher_unix.cpp : 937 + 0x4]
    rbx = 0x000000000470d230   r12 = 0x00007fff34947a60
    r13 = 0x0000000004487030   r14 = 0x0000000000000001
    r15 = 0x00000000044872d8   rip = 0x0000000001d08092
    rsp = 0x00007fff34947a10   rbp = 0x000000000448a110
    Found by: call frame info
59  phantomjs!QEventDispatcherQPA::processEvents [qeventdispatcher_qpa.cpp : 246 + 0x4]
    rbx = 0x000000000470d230   r12 = 0x0000000000000000
    r13 = 0x0000000004487030   r14 = 0x00007fff34947aa0
    r15 = 0x00000000044872d8   rip = 0x000000000163a6a4
    rsp = 0x00007fff34947a60   rbp = 0x000000000448a110
    Found by: call frame info
60  phantomjs!QEventLoop::processEvents [qeventloop.cpp : 149 + 0x1]
    rbx = 0x000000000470d230   r12 = 0x00007fff34947b30
    r13 = 0x00007fff34947b40   r14 = 0x0000000004487230
    r15 = 0x00000000044872d8   rip = 0x0000000001cdd4b5
    rsp = 0x00007fff34947aa0   rbp = 0x00007fff34947ae0
    Found by: call frame info
61  phantomjs!QEventLoop::exec [qeventloop.cpp : 200 + 0x4]
    rbx = 0x000000000470d230   r12 = 0x00007fff34947b30
    r13 = 0x00007fff34947b40   r14 = 0x0000000004487230
    r15 = 0x00000000044872d8   rip = 0x0000000001cdd918
    rsp = 0x00007fff34947ad0   rbp = 0x00007fff34947c10
    Found by: call frame info
62  phantomjs!QCoreApplication::exec [qcoreapplication.cpp : 1218 + 0x4]
    rbx = 0x00000000044871c0   r12 = 0x00007fff34947c10
    r13 = 0x00007fff34947dd8   r14 = 0x00007fff34947b80
    r15 = 0x0000000000000000   rip = 0x0000000001cdf7cb
    rsp = 0x00007fff34947b30   rbp = 0x00000000044871c0
    Found by: call frame info
63  phantomjs!main [main.cpp : 121 + 0x4]
    rbx = 0x00000000048abc60   r12 = 0x00007fff34947c10
    r13 = 0x00007fff34947dd8   r14 = 0x00007fff34947b80
    r15 = 0x0000000000000000   rip = 0x0000000000427cb2
    rsp = 0x00007fff34947b70   rbp = 0x00007fff34947da8
    Found by: call frame info
64  libc-2.17.so + 0x21af4
    rbx = 0x0000000000000000   r12 = 0x0000000000407cc0
    r13 = 0x00007fff34947da0   r14 = 0x0000000000000000
    r15 = 0x0000000000000000   rip = 0x00007f4bdd244af5
    rsp = 0x00007fff34947cd0   rbp = 0x0000000000000000
    Found by: call frame info
65  phantomjs + 0x27a5f
    rip = 0x0000000000427a60   rsp = 0x00007fff34947cf0
    Found by: stack scanning

Thread 1
 0  libc-2.17.so + 0xbd4ed
    rbx = 0x00007f4bdb156cc0   r12 = 0x00007f4bdb156d40
    r13 = 0x00007f4b83d4c430   r14 = 0x0000000002a7e1a0
    r15 = 0x0000000002a7e170   rip = 0x00007f4bdd2e04ed
    rsp = 0x00007f4bdb156ca0   rbp = 0x00000000ffffffff
    Found by: given as instruction pointer in context
 1  libc-2.17.so + 0xbd383
    rip = 0x00007f4bdd2e0384   rsp = 0x00007f4bdb156cb0
    Found by: stack scanning
 2  ld-2.17.so + 0x9fae
    rip = 0x00007f4bde915faf   rsp = 0x00007f4bdb156d60
    Found by: stack scanning
 3  libc-2.17.so + 0xe82f
    rip = 0x00007f4bdd231830   rsp = 0x00007f4bdb156d68
    Found by: stack scanning
 4  phantomjs + 0x18b5c6f
    rip = 0x0000000001cb5c70   rsp = 0x00007f4bdb156dc8
    Found by: stack scanning
 5  libc-2.17.so + 0x36f3
    rip = 0x00007f4bdd2266f4   rsp = 0x00007f4bdb156dd8
    Found by: stack scanning
 6  libc-2.17.so + 0xe82f
    rip = 0x00007f4bdd231830   rsp = 0x00007f4bdb156de0
    Found by: stack scanning
 7  libc-2.17.so + 0x10d07
    rip = 0x00007f4bdd233d08   rsp = 0x00007f4bdb156e28
    Found by: stack scanning
 8  libpthread-2.17.so + 0xf12f
    rip = 0x00007f4bdde12130   rsp = 0x00007f4bdb156e58
    Found by: stack scanning
 9  libpthread-2.17.so + 0xb794
    rip = 0x00007f4bdde0e795   rsp = 0x00007f4bdb156e60
    Found by: stack scanning
10  phantomjs!WTF::TCMalloc_PageHeap::scavengerThread [FastMalloc.cpp : 2499 + 0x4]
    rip = 0x00000000004dda2e   rsp = 0x00007f4bdb156e90
    Found by: stack scanning
11  phantomjs!WTF::TCMalloc_PageHeap::runScavengerThread [FastMalloc.cpp : 1618 + 0x4]
    rbx = 0x00007f4bdb157700   r12 = 0x0000000000000000
    r13 = 0x00007f4bdb1579c0   r14 = 0x00007f4bdb157700
    r15 = 0x0000000000000000   rip = 0x00000000004ddc99
    rsp = 0x00007f4bdb156f10   rbp = 0x0000000000000000
    Found by: call frame info
12  libpthread-2.17.so + 0x7df2
    rbx = 0x00007f4bdb157700   r12 = 0x0000000000000000
    r13 = 0x00007f4bdb1579c0   r14 = 0x00007f4bdb157700
    r15 = 0x0000000000000000   rip = 0x00007f4bdde0adf3
    rsp = 0x00007f4bdb156f20   rbp = 0x0000000000000000
    Found by: call frame info
13  libc-2.17.so + 0xf601c
    rip = 0x00007f4bdd31901d   rsp = 0x00007f4bdb156fc0
    Found by: stack scanning

Thread 2
 0  libc-2.17.so + 0xed7a3
    rbx = 0x0000000000000000   r12 = 0x00007f4bda955df0
    r13 = 0x0000000000000008   r14 = 0x00007f4bd4000a98
    r15 = 0x00007f4bd4000d30   rip = 0x00007f4bdd3107a3
    rsp = 0x00007f4bda955bc0   rbp = 0x00007f4bd40008e0
    Found by: given as instruction pointer in context
 1  phantomjs!qt_safe_select [qcore_unix.cpp : 83 + 0x15]
    rip = 0x0000000001d06327   rsp = 0x00007f4bda955bd0
    Found by: stack scanning
 2  phantomjs!QEventDispatcherUNIXPrivate::doSelect [qeventdispatcher_unix.cpp : 223 + 0xd]
    rbx = 0x00007f4bd40012b0   r12 = 0x00007f4bda955df0
    r13 = 0x00007f4bd40008e0   r14 = 0x0000000000000000
    r15 = 0x00007f4bd4000d30   rip = 0x0000000001d075e7
    rsp = 0x00007f4bda955c60   rbp = 0x00007f4bd40008e0
    Found by: call frame info
 3  phantomjs!QEventDispatcherUNIX::processEvents [qeventdispatcher_unix.cpp : 937 + 0x4]
    rbx = 0x00007f4bd40012b0   r12 = 0x00007f4bda955df0
    r13 = 0x00007f4bd40008c0   r14 = 0x0000000000000001
    r15 = 0x00000000045ccda8   rip = 0x0000000001d08092
    rsp = 0x00007f4bda955da0   rbp = 0x00007f4bd40008e0
    Found by: call frame info
 4  phantomjs!QEventLoop::processEvents [qeventloop.cpp : 149 + 0x1]
    rbx = 0x00007f4bd40012b0   r12 = 0x00007f4bda955e80
    r13 = 0x00007f4bda955e90   r14 = 0x0000000004487230
    r15 = 0x00000000045ccda8   rip = 0x0000000001cdd4b5
    rsp = 0x00007f4bda955df0   rbp = 0x00007f4bda955e30
    Found by: call frame info
 5  phantomjs!QEventLoop::exec [qeventloop.cpp : 200 + 0x4]
    rbx = 0x00007f4bd40012b0   r12 = 0x00007f4bda955e80
    r13 = 0x00007f4bda955e90   r14 = 0x0000000004487230
    r15 = 0x00000000045ccda8   rip = 0x0000000001cdd918
    rsp = 0x00007f4bda955e20   rbp = 0x00007fff34947c10
    Found by: call frame info
 6  phantomjs!QThread::exec [qthread.cpp : 542 + 0xc]
    rbx = 0x00000000045ccd20   r12 = 0x00000000045ccda8
    r13 = 0x0000000000000001   r14 = 0x00007f4bda956700
    r15 = 0x00000000045ccda9   rip = 0x0000000001bdfdf6
    rsp = 0x00007f4bda955e80   rbp = 0x00000000045ccda8
    Found by: call frame info
 7  phantomjs!QThreadPrivate::start [qthread_unix.cpp : 338 + 0x9]
    rbx = 0x00000000045ccda8   r12 = 0x00000000045cd410
    r13 = 0x0000000000000001   r14 = 0x00007f4bda956700
    r15 = 0x00000000045ccda9   rip = 0x0000000001be2cc2
    rsp = 0x00007f4bda955ed0   rbp = 0x00000000045fc770
    Found by: call frame info
 8  libpthread-2.17.so + 0x7df2
    rbx = 0x00007f4bda956700   r12 = 0x0000000000000000
    r13 = 0x00007f4bda9569c0   r14 = 0x00007f4bda956700
    r15 = 0x00000000045ccda9   rip = 0x00007f4bdde0adf3
    rsp = 0x00007f4bda955f20   rbp = 0x0000000000000000
    Found by: call frame info
 9  libc-2.17.so + 0xf601c
    rip = 0x00007f4bdd31901d   rsp = 0x00007f4bda955fc0
    Found by: stack scanning

Thread 3
 0  libpthread-2.17.so + 0xb705
    rbx = 0x0000000005080290   r12 = 0x004189374bc6a7ef
    r13 = 0xffffffffffffffff   r14 = 0x00000000050802b8
    r15 = 0x0000000004930a10   rip = 0x00007f4bdde0e705
    rsp = 0x00007f4bd91acd80   rbp = 0x00007f4bd95e5b10
    Found by: given as instruction pointer in context
 1  phantomjs!QWaitCondition::wait [qwaitcondition_unix.cpp : 86 + 0xa]
    rip = 0x0000000001be39f5   rsp = 0x00007f4bd91acdb0
    rbp = 0x00007f4bd95e5b10
    Found by: stack scanning
 2  phantomjs!WTF::ThreadCondition::timedWait [ThreadingQt.cpp : 253 + 0x12]
    rbx = 0x00007f4bd95e5b08   r12 = 0x000000000000000d
    r13 = 0x00007f4bd95e5b08   r14 = 0x00007f4bd95e5b10
    r15 = 0x00007f4bd91ace90   rip = 0x00000000004e70ea
    rsp = 0x00007f4bd91ace30   rbp = 0x00007f4bd95e5b10
    Found by: call frame info
 3  phantomjs!WTF::MessageQueue<WebCore::LocalStorageTask>::waitForMessage [MessageQueue.h : 137 + 0x12]
    rbx = 0x000000000000000d   r12 = 0x000000000000000d
    r13 = 0x00007f4bd95e5b08   r14 = 0x00007f4bd95e5b10
    r15 = 0x00007f4bd91ace90   rip = 0x0000000001185269
    rsp = 0x00007f4bd91ace50   rbp = 0x00007f4bd95e5b18
    Found by: call frame info
 4  phantomjs!WebCore::LocalStorageThread::threadEntryPoint [LocalStorageThread.cpp : 68 + 0xa]
    rbx = 0x00007f4bd959db90   r12 = 0x000000000507c1e0
    r13 = 0x0000000000000001   r14 = 0x00007f4bd91ad700
    r15 = 0x0000000000000013   rip = 0x0000000001185493
    rsp = 0x00007f4bd91ace90   rbp = 0x00007f4bd95e5b08
    Found by: call frame info
 5  phantomjs!WTF::ThreadPrivate::run [ThreadingQt.cpp : 66 + 0x6]
    rbx = 0x0000000004ec3750   r12 = 0x000000000507c1e0
    r13 = 0x0000000000000001   r14 = 0x00007f4bd91ad700
    r15 = 0x0000000000000013   rip = 0x00000000004e68fb
    rsp = 0x00007f4bd91acec0   rbp = 0x0000000004ec3750
    Found by: call frame info
 6  phantomjs!QThreadPrivate::start [qthread_unix.cpp : 338 + 0x9]
    rbx = 0x0000000005081d58   r12 = 0x000000000507c1e0
    r13 = 0x0000000000000001   r14 = 0x00007f4bd91ad700
    r15 = 0x0000000000000013   rip = 0x0000000001be2cc2
    rsp = 0x00007f4bd91aced0   rbp = 0x0000000004ec3750
    Found by: call frame info
 7  libpthread-2.17.so + 0x7df2
    rbx = 0x00007f4bd91ad700   r12 = 0x0000000000000000
    r13 = 0x00007f4bd91ad9c0   r14 = 0x00007f4bd91ad700
    r15 = 0x0000000000000013   rip = 0x00007f4bdde0adf3
    rsp = 0x00007f4bd91acf20   rbp = 0x0000000000000000
    Found by: call frame info
 8  libc-2.17.so + 0xf601c
    rip = 0x00007f4bdd31901d   rsp = 0x00007f4bd91acfc0
    Found by: stack scanning

Thread 4
 0  libpthread-2.17.so + 0xbab2
    rbx = 0x00007f4b8c00bcc0   r12 = 0x0000000000000009
    r13 = 0x00007f4b8913ce30   r14 = 0xffffffffffffff92
    r15 = 0x00007f4b8c00bc00   rip = 0x00007f4bdde0eab2
    rsp = 0x00007f4b8913cdc0   rbp = 0x00007f4b8c00bfb0
    Found by: given as instruction pointer in context
 1  phantomjs!QWaitCondition::wait [qwaitcondition_unix.cpp : 84 + 0x7]
    rip = 0x0000000001be39d7   rsp = 0x00007f4b8913ce10
    rbp = 0x00007f4b8c00bfb0
    Found by: stack scanning
 2  phantomjs!QThreadPoolThread::run [qthreadpool.cpp : 141 + 0x1d]
    rbx = 0x00007f4b8c00bbb0   r12 = 0x00007f4b8c00bc39
    r13 = 0x0000000000000002   r14 = 0x00007f4b9000c2d0
    r15 = 0x00007f4b8c00c069   rip = 0x0000000001bd783d
    rsp = 0x00007f4b8913ce90   rbp = 0x00007f4b8c00bfb0
    Found by: call frame info
 3  phantomjs!QThreadPrivate::start [qthread_unix.cpp : 338 + 0x9]
    rbx = 0x00007f4b840012b0   r12 = 0x00007f4b8c00c150
    r13 = 0x0000000000000001   r14 = 0x00007f4b8913d700
    r15 = 0x00007f4b8c00c069   rip = 0x0000000001be2cc2
    rsp = 0x00007f4b8913ced0   rbp = 0x00007f4b8c00bfb0
    Found by: call frame info
 4  libpthread-2.17.so + 0x7df2
    rbx = 0x00007f4b8913d700   r12 = 0x0000000000000000
    r13 = 0x00007f4b8913d9c0   r14 = 0x00007f4b8913d700
    r15 = 0x00007f4b8c00c069   rip = 0x00007f4bdde0adf3
    rsp = 0x00007f4b8913cf20   rbp = 0x0000000000000000
    Found by: call frame info
 5  libc-2.17.so + 0xf601c
    rip = 0x00007f4bdd31901d   rsp = 0x00007f4b8913cfc0
    Found by: stack scanning

Thread 5
 0  libc-2.17.so + 0xed7a3
    rbx = 0x00007f4bd8965da0   r12 = 0x0000000000332eba
    r13 = 0x0000000000000018   r14 = 0x00007f4b90000a78
    r15 = 0x00007f4b90000d10   rip = 0x00007f4bdd3107a3
    rsp = 0x00007f4bd8965bc0   rbp = 0x00000000000ebf2d
    Found by: given as instruction pointer in context
 1  phantomjs!qt_safe_select [qcore_unix.cpp : 93 + 0x16]
    rip = 0x0000000001d06228   rsp = 0x00007f4bd8965bd0
    Found by: stack scanning
 2  phantomjs!QEventDispatcherUNIXPrivate::doSelect [qeventdispatcher_unix.cpp : 223 + 0xd]
    rbx = 0x00007f4b90003310   r12 = 0x00007f4bd8965df0
    r13 = 0x00007f4b900008c0   r14 = 0x00007f4bd8965da0
    r15 = 0x00007f4b90000d10   rip = 0x0000000001d075e7
    rsp = 0x00007f4bd8965c60   rbp = 0x00007f4b900008c0
    Found by: call frame info
 3  phantomjs!QEventDispatcherUNIX::processEvents [qeventdispatcher_unix.cpp : 937 + 0x4]
    rbx = 0x00007f4b90003310   r12 = 0x00007f4bd8965df0
    r13 = 0x00007f4b9000c680   r14 = 0x0000000000000001
    r15 = 0x0000000005923308   rip = 0x0000000001d08092
    rsp = 0x00007f4bd8965da0   rbp = 0x00007f4b900008c0
    Found by: call frame info
 4  phantomjs!QEventLoop::processEvents [qeventloop.cpp : 149 + 0x1]
    rbx = 0x00007f4b90003310   r12 = 0x00007f4bd8965e80
    r13 = 0x00007f4bd8965e90   r14 = 0x0000000004487230
    r15 = 0x0000000005923308   rip = 0x0000000001cdd4b5
    rsp = 0x00007f4bd8965df0   rbp = 0x00007f4bd8965e30
    Found by: call frame info
 5  phantomjs!QEventLoop::exec [qeventloop.cpp : 200 + 0x4]
    rbx = 0x00007f4b90003310   r12 = 0x00007f4bd8965e80
    r13 = 0x00007f4bd8965e90   r14 = 0x0000000004487230
    r15 = 0x0000000005923308   rip = 0x0000000001cdd918
    rsp = 0x00007f4bd8965e20   rbp = 0x00007fff34947c10
    Found by: call frame info
 6  phantomjs!QThread::exec [qthread.cpp : 542 + 0xc]
    rbx = 0x0000000005923280   r12 = 0x0000000005923308
    r13 = 0x0000000000000001   r14 = 0x00007f4bd8966700
    r15 = 0x0000000000000013   rip = 0x0000000001bdfdf6
    rsp = 0x00007f4bd8965e80   rbp = 0x0000000005923308
    Found by: call frame info
 7  phantomjs!QThreadPrivate::start [qthread_unix.cpp : 338 + 0x9]
    rbx = 0x0000000005923308   r12 = 0x0000000005755010
    r13 = 0x0000000000000001   r14 = 0x00007f4bd8966700
    r15 = 0x0000000000000013   rip = 0x0000000001be2cc2
    rsp = 0x00007f4bd8965ed0   rbp = 0x00000000053d6b30
    Found by: call frame info
 8  libpthread-2.17.so + 0x7df2
    rbx = 0x00007f4bd8966700   r12 = 0x0000000000000000
    r13 = 0x00007f4bd89669c0   r14 = 0x00007f4bd8966700
    r15 = 0x0000000000000013   rip = 0x00007f4bdde0adf3
    rsp = 0x00007f4bd8965f20   rbp = 0x0000000000000000
    Found by: call frame info
 9  libc-2.17.so + 0xf601c
    rip = 0x00007f4bdd31901d   rsp = 0x00007f4bd8965fc0
    Found by: stack scanning

Loaded modules:
0x00400000 - 0x0268dfff  phantomjs  ???  (main)
0x7f4b83dd4000 - 0x7f4b83deafff  z003034l.pfb  ???
0x7f4b83deb000 - 0x7f4b83df3fff  s050000l.pfb  ???
0x7f4b83df4000 - 0x7f4b83dfffff  d050000l.pfb  ???
0x7f4b83e00000 - 0x7f4b83e0dfff  cursor.pfa  ???
0x7f4b83e0e000 - 0x7f4b83e28fff  p052003l.pfb  ???
0x7f4b83e29000 - 0x7f4b83e40fff  n022003l.pfb  ???
0x7f4b83e41000 - 0x7f4b83e59fff  n021003l.pfb  ???
0x7f4b83e5a000 - 0x7f4b83e73fff  c059013l.pfb  ???
0x7f4b83e74000 - 0x7f4b83e8cfff  b018012l.pfb  ???
0x7f4b8bbee000 - 0x7f4b8bdf3fff  libnss_dns-2.17.so  ???
0x7f4b8bdf4000 - 0x7f4b8bffffff  libnss_files-2.17.so  ???
0x7f4bd8059000 - 0x7f4bd8061fff  c0632bt_.pfb  ???
0x7f4bd8062000 - 0x7f4bd806bfff  c0583bt_.pfb  ???
0x7f4bd806c000 - 0x7f4bd807dfff  UTB_____.pfa  ???
0x7f4bd807e000 - 0x7f4bd808ffff  n019004l.pfb  ???
0x7f4bd8131000 - 0x7f4bd8140fff  a010015l.pfb  ???
0x7f4bd8141000 - 0x7f4bd8149fff  c0648bt_.pfb  ???
0x7f4bd814a000 - 0x7f4bd8153fff  c0419bt_.pfb  ???
0x7f4bd8154000 - 0x7f4bd8165fff  putr.pfa  ???
0x7f4bd8991000 - 0x7f4bd89a4fff  n019003l.pfb  ???
0x7f4bdb158000 - 0x7f4bdb37cfff  liblzma.so.5.0.99  ???
0x7f4bdb37d000 - 0x7f4bdb5ddfff  libpcre.so.1.2.0  ???
0x7f4bdb5de000 - 0x7f4bdb800fff  libselinux.so.1  ???
0x7f4bdb803000 - 0x7f4bdba1afff  libresolv-2.17.so  ???
0x7f4bdba1d000 - 0x7f4bdbc20fff  libkeyutils.so.1.5  ???
0x7f4bdbc21000 - 0x7f4bdbe2efff  libkrb5support.so.0.1  ???
0x7f4bdbe2f000 - 0x7f4bdc062fff  libk5crypto.so.3.1  ???
0x7f4bdc064000 - 0x7f4bdc267fff  libcom_err.so.2.1  ???
0x7f4bdc268000 - 0x7f4bdc547fff  libkrb5.so.3.3  ???
0x7f4bdc548000 - 0x7f4bdc791fff  libgssapi_krb5.so.2.2  ???
0x7f4bdc792000 - 0x7f4bdc9fdfff  libssl.so.1.0.1e  ???
0x7f4bdc9fe000 - 0x7f4bdcc13fff  libz.so.1.2.7  ???
0x7f4bdcc14000 - 0x7f4bdcff4fff  libcrypto.so.1.0.1e  ???
0x7f4bdcff9000 - 0x7f4bdd222fff  libexpat.so.1.6.0  ???
0x7f4bdd223000 - 0x7f4bdd5defff  libc-2.17.so  ???
0x7f4bdd5e4000 - 0x7f4bdd7f9fff  libgcc_s-4.8.2-20140120.so.1  ???
0x7f4bdd7fa000 - 0x7f4bddafbfff  libm-2.17.so  ???
0x7f4bddafc000 - 0x7f4bdddedfff  libstdc++.so.6.0.19  ???
0x7f4bdde03000 - 0x7f4bde01afff  libpthread-2.17.so  ???
0x7f4bde01f000 - 0x7f4bde226fff  librt-2.17.so  ???
0x7f4bde227000 - 0x7f4bde42afff  libdl-2.17.so  ???
0x7f4bde42b000 - 0x7f4bde666fff  libfontconfig.so.1.7.0  ???
0x7f4bde667000 - 0x7f4bde90bfff  libfreetype.so.6.10.0  ???
0x7f4bde90c000 - 0x7f4bde92cfff  ld-2.17.so  ???
0x7f4bdeb0e000 - 0x7f4bdeb18fff  b79f3aaa7d385a141ab53ec885cc22a8-le64.cache-4  ???
0x7f4bdeb25000 - 0x7f4bdeb26fff  87f5e051180a7a75f16eb6fe7dbd3749-le64.cache-4  ???
0x7f4bdeb27000 - 0x7f4bdeb2afff  beeeeb3dfe132a8a0633a017c99ce0c0-le64.cache-4  ???
0x7fff349fe000 - 0x7fff349fffff  linux-gate.so  ???

Please upgrade to PhantomJS 2. 1.9.x is no longer supported, and known to have many crasher bugs that are fixed in 2 version.


Bug: Clip-L does absolutely nothing with Flux models.

I was testing out alternative clip models for Flux (https://huggingface.co/zer0int/CLIP-GmP-ViT-L-14), and noticed the output were oddly similar to the ones I was getting with the original clip-l.
Turns out the result are actually 100% identical (when using the same seed of course), not even a single bit of difference. Using the same models with ComfyUI does lead to noticably different outputs (with fixed seed).

clip-L
ViT-L-14

Dev q3_k (sd.cpp)

Schnell q3_k  (sd.cpp)

Schnell fp8 (Comfyui)

Schnell q3_k (Comfyui)

As a sidenote, this could explain why I was feeling like the generations I get with sdcpp look less detailed and more artifacty than when I'm using ComfyUI at the same quants.

You are right, it is commented out and just set to 0.
https://github.com/leejet/stable-diffusion.cpp/blob/14206fd48832ab600d9db75f15acb5062ae2c296/conditioner.hpp#L1107-L1121


autoreply - admin commands

Server admin may need commands to print all existing autoreplies and delete an autoreply set by another user. This can be helpful to prune the database of autoreplies that belong to an inactive or absent user, or if a user has entered an autoreply in some manner of bad faith.

Working on this problem has revealed that including tags/mentions in an autoreply can cause undesired behavior. Will need to check the input for new autoreplies and error out if they include tags/mentions.


How to find the correct answer

Hi
Finding correct answer in your /tests directory is not working!
I am trying to make something for my friends (not cheating), and yeah...
have a great day

i dont know if it is a bug, but have the bug label

nvm closed issue!
i've find my own way!


[CR] Keen UI updates [#OSF-6652]

Purpose
This PR addresses some, but not all, of the issues mentioned in [#OSF-6652].  I'm throwing this up here because the chart library was refactored muchly and will need a code re-review.  The remaining changes will be implemented in a follow-up PR, which should be much less invasive.
Changes

Display spinners after clicking "Update date range"
Make "Popular pages" bar graph horizontal to avoid wrapping issues
Bump up font size of chart labels
Renamed "Visits over past week" to "Unique visits"
date range form: initial version is text, click update button to reveal form
more spacing between "from" and "until" in date range updater
We exclude analytics for today, should reflect that in the picker: can select today, but end date is exclusive.
not-UI related but good: refactor DateRangePicker constructor to take params
Limit referrers/popular pages to top N results
Referrers: rename "null" => "direct link"

Side effects
May cause drowsiness.
Ticket
[#OSF-6652]
https://openscience.atlassian.net/browse/OSF-6652

Refactor looks good. No blocking issues. The nits can go in the follow up PR.


Modularize SvelteKit

Describe the problem
A popular point of feedback from the other maintainers is that SvelteKit is not as modular as we had hoped we might make it at the beginning of the project
Describe the proposed solution
We could possible split out a few different pieces:

The core router without file system support
The file system router depending on the core router
Kit itself with Vite integration. We've already split out vite-plugin-svelte and I'm not sure there's much more that makes sense to split out there
Put optional features in plugins (e.g. AMP https://github.com/sveltejs/kit/issues/2603)

I'd written a bit about this in https://github.com/sveltejs/rfcs/pull/36 originally for Sapper and tried to update the proposal a bit for SvelteKit though further updates may be needed
I don't know whether it'd be possible to make the router implementation pluggable, but I think it'd be a cool goal. I also think it'd be nice to remove any globals which would help for testing (right now you can mostly only write tests if you use Jest and mock the globals) and allow you to have multiple router instances (@pngwn has long asked for microfrontend support and while that's not something I'm overly familiar with I could imagine multiple routers getting pulled in)
Alternatives considered
No response
Importance
nice to have
Additional Information
No response

A pluggable router might be a way how to possibly create something like this https://github.com/sveltejs/kit/issues/1251 🤔


When post has a photo at top dropcaps don't show up

Sorry to keep throwing stuff at you Pete. But if a post starts with an image at the top before text starts, you lose the dropcaps. I tested by moving my image to the bottom of the post and dropcaps come back,

@timscrawls Only way I’ve found to get this to work is add a new .dropcap class styling into the CSS.  In order to target the first paragraph following the image, you’d just have to type :
paragraph goes here
.
The advantage to this is if you wanted to lead the post with more than one image you can, while still targeting the first paragraph with the dropcap.  This will be part of the next official update to the plugin.


Remove allowInterop calls, fix types of callbacks, and use dart:js_interop

TokenClientConfig, CodeClientConfig, and revoke all take Dart functions only and therefore we should not use allowInterop. Fixes the type expected by revoke to take a JS value that is compatible with the callback. Also removes uses of dart:js in favor of dart:js_interop.

Thanks!

I'll follow-up with a changelog, etc!

I went ahead and added a changelog to reduce the churn. Let me know if that works!

I'm so confused...huh?

I'm so confused...huh?

Which part? I removed that changelog entry because it's wrong - this only partially migrates to dart:js_interop. If it's about the analysis errors, I'm chatting separately about that because that crash is an analyzer issue.

Ah! okay...

FYI @stereotype441 this has landed.


fix: prompt generation types, variants and testing Open AI responses

Description
The starting point for this PR was to add examples of how the LLM should respond in different circumstances.
However, in trying to refactor the prompt, I've spotted several problems with the code.

The current lesson plan was not being sent in full with each request - quizzes were being omitted
Unused and undefined variables being passed into the prompt
Prompt logic should be moved to a better location
Not passing the "interactive" vs "generate" mode
Prompt versioning being run when the file was included

Adds "live" LLM tests to make sure that Aila responds as expected to user input followed by "continue". These tests are failing ATM and marked as skip. These tests should only run in CI or when you specifically want to run LLM tests, and potentially we should have a way to run them separately / only on the production branch.
None of this is user-facing, but should lead to better reliability in prompting.

:tada: This PR is included in version 1.8.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


App doesn't stop completely when Actix runtime is used

I'm trying to start an Actix web daemon from my Tauri desktop app. Whenever the development server is active and a change in the source code is detected, the Tauri development server tries to restart the app. Everytime this happens, the app doesn't stop completely and the app window doesn't close. One strange thing occurring is that after the shell running the npm process is destroyed, the app window still remains open but nothing is shown inside the webview of the app.
Steps to reproduce the behavior:

Reproduce the code below in the Tauri main process
Run the Tauri dev server
Make some changes and wait for the dev server to attempt to restart the app

The app should close properly with the window closed, then started again as per normal.
Platform and Versions

OS: Linux(5.9.3-arch1-1-surface) - linux/x64
Node: 15.0.1
NPM: 6.14.8
Yarn: Not installed
Rustc: 1.47.0
This is the code that you should use to reproduce the issue:
fn main() {
    std::env::set_var("RUST_LOG", "actix_server=info,actix_web=info");
    env_logger::init();

    println!("Starting server thread...");
    thread::spawn(move || {
        let _ = start_server();
    });

    tauri::AppBuilder::new()
        .build()
        .run();
}

pub fn start_server() -> std::io::Result<()> {
    let mut sys = rt::System::new("server");

    let srv: Server = HttpServer::new(|| {
        App::new()
            .wrap(middleware::Logger::default())
            .service(index)
            .service(web::resource("/ws/").route(web::get().to(ws_index)))
    })
    .bind(format!("<IP_ADDRESS>:{}", PORT_NUMBER))?
    .run();

    sys.block_on(srv)
}

The moment I remove let _ = start_server();, everything works fine.

Stack Trace
[1]     Finished dev [unoptimized + debuginfo] target(s) in 12.13s
[1]      Running `target/debug/minesync`
[1] Starting server thread...
[1] [2020-11-16T18:38:09Z INFO  actix_server::builder] Starting 8 workers
[1] [2020-11-16T18:38:09Z INFO  actix_server::builder] Starting "actix-web-service-<IP_ADDRESS>:18574" service on <IP_ADDRESS>:18574
[1]
[1] (minesync:26429): Gtk-WARNING **: 02:38:09.851: Theme parsing error: gtk.css:2:33: Failed to import: Error opening file /home/raphael/.config/gtk-3.0/window_decorations.css: No such file or directory
[1]
[1] (WebKitWebProcess:27116): Gtk-WARNING **: 02:38:10.059: Theme parsing error: gtk.css:2:33: Failed to import: Error opening file /home/raphael/.config/gtk-3.0/window_decorations.css: No such file or directory
[0]   [02:38:10] 200 ─ 4.24ms ─ /
[0]   [02:38:10] 200 ─ 0.64ms ─ /global.css
[0]   [02:38:10] 200 ─ 1.50ms ─ /build/bundle.css
[0]   [02:38:10] 200 ─ 2.06ms ─ /build/bundle.js
[0]   [02:38:10] 200 ─ 0.78ms ─ /fonts/index.css
[0]   [02:38:10] 200 ─ 1.04ms ─ /fonts/Inter/inter.css
[0]   [02:38:10] 200 ─ 2.16ms ─ /fonts/Roboto Mono/stylesheet.css
[1] `xdpyinfo` output: 2256x1504
[1]
[0]   [02:38:10] 200 ─ 2.18ms ─ /fonts/Inter/Inter-Bold.woff2?v=3.15
[0]   [02:38:10] 200 ─ 3.50ms ─ /fonts/Roboto Mono/RobotoMono-Medium.woff2
[1]  app:tauri Shutting down tauri process... +29s
[1] [2020-11-16T18:38:26Z INFO  actix_server::builder] SIGTERM received, stopping
[1] [2020-11-16T18:38:26Z INFO  actix_server::worker] Shutting down worker, 0 connections
[1] [2020-11-16T18:38:26Z INFO  actix_server::worker] Shutting down worker, 0 connections
[1] [2020-11-16T18:38:26Z INFO  actix_server::worker] Shutting down worker, 0 connections
[1] [2020-11-16T18:38:26Z INFO  actix_server::worker] Shutting down worker, 0 connections
[1] [2020-11-16T18:38:26Z INFO  actix_server::worker] Shutting down worker, 0 connections
[1] [2020-11-16T18:38:26Z INFO  actix_server::worker] Shutting down worker, 0 connections
[1] [2020-11-16T18:38:26Z INFO  actix_server::worker] Shutting down worker, 0 connections
[1] [2020-11-16T18:38:26Z INFO  actix_server::worker] Shutting down worker, 0 connections

I couldn't reproduce this. Your code to reproduce is incomplete, and Tauri has changed a lot since this issue.
I hope it's actually working on our beta-rc, please check on Discord if it isn't working, because I assume this could be something weird with actix.


Expression-bodied methods

✏ Proposed change
I propose a way to declare a method whose body only consist of a single expression. For instance, a class who wants to define a getter called 📨 to get the instance variable inboxCount could contain this code:
❗📨 ↩ inboxCount

The compiler will then infer the return type of the method from the expression’s type.
🤔 Rationale
This make writing getters and other very short functions much more convenient. In comparison the example above written common syntax is a lot longer:
❗📨 ➡🔢 🍇
   ↩ inboxCount
🍉

🕺Example
Provided above.

Are you Jesus?

I’m the messiah of emojis.

I see a problem with this.
The public interface of a class should never be dependent on private members of the class.
In your example, if the method 📨 is public and the instance variable inboxCount is private, the programmer of the class expects to be able to change the type of the instance variable without changing the interface of the class. But if the type of the instance variable is changed, the type of the method is also changed, and it's not sure that the programmer notice that.
In the old version of the code, you will get a compiler error if you change the instance variable to a different type. For example, if you have an Integer class and a Float class, and you change the instance variable from type Integer to Float, you will get a compiler error since the class Float cannot be casted to the class Integer.
In the new version of the code, this class will compile fine, but the user of the class will get a compiler error.
If the programmer wants to change the instance variable from type Integer to Float, where Integer and Float are classes, he might still want the method 📨 to return an Integer, and wherefore wants to change the method to return an Integer that is the rounded value of inboxCount, instead of inboxCount.
Therefore, I think that a method should always declare its return value.
(I'm aware of that a "count" always should be an integer, but the example above is only to show my point).

I’ve decided to go with the following syntax for the time-being:
❗📨 ➡🔢 ↩ inboxCount

This is the best compromise between a safe public interface and brevity.


Adding handy Powershell script to apply the mod on Windows

Works for Windows 10, Slack 3.0.5. Automatically checks installation directory for the latest present version and applies the mod to that.

Did not work, I get this.

Windows 10, Slack 3.0.5.

Huh, weird - did you override your HOMEPATH environment variable? It uses that to locate your Slack installs; it should be set to "\Users\YourUsername" on Windows machines.

I think my HOMEPATH is already set to that. Here is what PowerShell shows.

Is there another command I should be using?

Try echo $env:HOMEPATH

I get "\Users\MyUsername".

Oh I see now I was looking in the wrong place for that error - this script looks for Slack versions in \Users\MyUsername\AppData\Local\slack\ - can you dir that directory?

I see- I did that and I realize that I don't have the files there. Is this normal?

That's where Slack installed itself on my machine - Apparently yours put itself somewhere else.
I think I'll need to rework the script to use a registry key or something to find it. For curiosity's sake, did yours end up Program Files or did you pick a whole new location?

Couldn't find it and had to reinstall Slack. Now it works though, thanks!


feat: add C implementation for math/base/special/gamma-lanczos-sum-expg-scaled

Resolves #1835
Description

What is the purpose of this pull request?

This pull request:

adds C implementation for math/base/special/gamma-lanczos-sum-expg-scaled.

Related Issues

Does this pull request have any related issues?

This pull request:

resolves a part of #649
fixes #1835

Questions

Any questions for reviewers of this pull request?

No.
Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

No.
Checklist

Please ensure the following tasks are completed before submitting this pull request.

☑ Read, understood, and followed the contributing guidelines.

@stdlib-js/reviewers

I will be opening a new pull request for this one, everything is getting mixed up here. Closing this for now.


Update README.md with Meeting Baas, a Recall competitor

I see what you did there... 🤨 At least, you could have provided a disclaimer that you're the founder of Meeting Baas.

Hey sorry!
I did not wish to make that unclear. Really did not want to come off as
dishonest.
Lazare
On Wed, Oct 16, 2024 at 09:50:24, mh166 @.***> wrote:

I see what you did there... 🤨 At least, you could have provided a
disclaimer that you're the founder of Meeting Baas.
—
Reply to this email directly, view it on GitHub
https://github.com/chris124567/zoomer/pull/5#issuecomment-2415991302,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGPTT5GZITRP34LUFQQDE2TZ3YLEBAVCNFSM6AAAAABPPIALNKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMJVHE4TCMZQGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

Please see the email I sent to the address listed in your profile on the 7th.  Sorry for not being able to make this work :\


CCM fails to recreate failed LB

I created a LB, and it ended up Failed in OCI (which can happen) - CCM appears to never try and recreate.
I0406 14:44:52.894699       1 service_controller.go:300] Ensuring LB for service default/wordpress
I0406 14:44:52.900796       1 event.go:218] Event(v1.ObjectReference{Kind:"Service", Namespace:"default", Name:"wordpress", UID:"b9109784-39a6-11e8-9832-0a580aed602c",
APIVersion:"v1", ResourceVersion:"2134", FieldPath:""}): type: 'Normal' reason: 'EnsuringLoadBalancer' Ensuring load balancer
I0406 14:44:53.310820       1 node_controller.go:297] This node <IP_ADDRESS> is registered without the cloud taint. Will not process.
I0406 14:44:54.005429       1 node_controller.go:297] This node <IP_ADDRESS> is registered without the cloud taint. Will not process.
I0406 14:44:54.105968       1 node_controller.go:297] This node <IP_ADDRESS> is registered without the cloud taint. Will not process.
I0406 14:44:54.447136       1 load_balancer.go:398] Applying "update" action on backend set "TCP-80" for lb "ocid1.loadbalancer.oc1.phx.aaaaaaaalt7ca2q4q42i7ml7zqj6iab4ippsgx5qixygz5jul4f5u4o6ltna" (ports={ListenerPort:0 BackendPort:31550 HealthCheckerPort:10256})
E0406 14:44:55.497676       1 service_controller.go:219] error processing service default/wordpress (will retry): failed to ensure load balancer for service default/wordpress: updating BackendSet: Service error:Conflict. Cannot modify load balancer 'ocid1.loadbalancer.oc1.phx.aaaaaaaalt7ca2q4q42i7ml7zqj6iab4ippsgx5qixygz5jul4f5u4o6ltna' while it's in state FAILED. http status code: 409
I0406 14:44:55.497971       1 event.go:218] Event(v1.ObjectReference{Kind:"Service", Namespace:"default", Name:"wordpress", UID:"b9109784-39a6-11e8-9832-0a580aed602c", APIVersion:"v1", ResourceVersion:"2134", FieldPath:""}): type: 'Warning' reason: 'CreatingLoadBalancerFailed' Error creating load balancer (will retry): failed to ensure load balancer for service default/wordpress: updating BackendSet: Service error:Conflict. Cannot modify load balancer 'ocid1.loadbalancer.oc1.phx.aaaaaaaalt7ca2q4q42i7ml7zqj6iab4ippsgx5qixygz5jul4f5u4o6ltna' while it's in state FAILED. http status code: 409
I0406 14:45:00.497846       1 service_controller.go:300] Ensuring LB for service default/wordpress
I0406 14:45:00.498057       1 event.go:218] Event(v1.ObjectReference{Kind:"Service", Namespace:"default", Name:"wordpress", UID:"b9109784-39a6-11e8-9832-0a580aed602c", APIVersion:"v1", ResourceVersion:"2134", FieldPath:""}): type: 'Normal' reason: 'EnsuringLoadBalancer' Ensuring load balancer
I0406 14:45:00.731278       1 load_balancer.go:398] Applying "update" action on backend set "TCP-80" for lb "ocid1.loadbalancer.oc1.phx.aaaaaaaalt7ca2q4q42i7ml7zqj6iab4ippsgx5qixygz5jul4f5u4o6ltna" (ports={ListenerPort:0 BackendPort:31550 HealthCheckerPort:10256})
E0406 14:45:01.628005       1 service_controller.go:219] error processing service default/wordpress (will retry): failed to ensure load balancer for service default/wordpress: updating BackendSet: Service error:Conflict. Cannot modify load balancer 'ocid1.loadbalancer.oc1.phx.aaaaaaaalt7ca2q4q42i7ml7zqj6iab4ippsgx5qixygz5jul4f5u4o6ltna' while it's in state FAILED. http status code: 409
I0406 14:45:01.628064       1 event.go:218] Event(v1.ObjectReference{Kind:"Service", Namespace:"default", Name:"wordpress", UID:"b9109784-39a6-11e8-9832-0a580aed602c", APIVersion:"v1", ResourceVersion:"2134", FieldPath:""}): type: 'Warning' reason: 'CreatingLoadBalancerFailed' Error creating load balancer (will retry): failed to ensure load balancer for service default/wordpress: updating BackendSet: Service error:Conflict. Cannot modify load balancer 'ocid1.loadbalancer.oc1.phx.aaaaaaaalt7ca2q4q42i7ml7zqj6iab4ippsgx5qixygz5jul4f5u4o6ltna' while it's in state FAILED. http status code: 409

cliff notes an offline discussion with @prydie:
I worry about recreating a failed load balancer unless we fully understand the ramifications this has on the application and the scenarios that trigger this state.
For example, if we have an existing load balancer and we fail to update a backend set but have 10 health hosts, as a user I would not want my load balancer to automatically be recreated since at that point the IP changes, perhaps DNS pointing to the LB breaks, etc.
The documentation on this scenario isn't very clear so @prydie is reaching out to learn more about if it's possible to gracefully recover.
It may be that our only option is to provide documentation around this problem to let users know they need to recreate the service. There should be an event on the Service itself indicating the LB failed w/ this error. That's potentially the safest option and aligns with how other failures in Kubernetes are handled.

It's not currently in the public docs, but there are two ways to transition into FAILED currently, either CREATE and DELETE.
For now when that happens one must DELETE the FAILED LB, in the future, the service will be reaping FAILED much like TERMINATED instances and DELETED LBs.

It's unlikely we'll go down the route of implementing a fix for this since it's an edge case in OCI and so for now I'm going to close this ticket as a "wontfix".


[stable/nfs-server-provisioner] "statdNodePort" is not used in services.yaml

What this PR does / why we need it:

"statdNodePort" is not used in services.yaml

Which issue this PR fixes

no issue

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[ ] DCO signed
[ ] Chart Version bumped
[ ] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

Thanks @chenlein, you'll need to sign the DCO in order to your PR merged.

@chenlein please bump the chart version

/ok-to-test

last request @chenlein can you squash the commits?

@cpanato  Is it okay?

@chenlein I still see 4 commits


[20.09] sshping: fix build on darwin

Fix hardcoded C++ compiler
(cherry picked from commit e1d834aa09f315894244422c7759268f32f3e3b4, https://github.com/NixOS/nixpkgs/pull/98965)

Motivation for this change
ZHF 20.09 https://github.com/NixOS/nixpkgs/issues/97479
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

WFM macos 10.14


ghidra: add findcrypt extension

Description of changes
Ghidra FindCrypt is a plugin to aid in locating cryptographic constants within analyzed binaries.
There are multiple plugins with this functionality, so I've chosen the most recent and up-to-date one.
I have been using this extension for the past ~2 months, so I've decided to upstream it to nixpkgs.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Sorry for the mess, needed to dust-off my git-foo.

When running nixpkgs-review pr 343256 I get the following error:
error: hash mismatch in fixed-output derivation '/nix/store/wzbbrnzzp451b6yh6lgb3ayz2w72q3a7-source.drv':
         specified: sha256-FSRuZtVEErEo4z134XRSsYcIccs/F41R2ydnBy+992o=
            got:    sha256-/KA95NdoQFvR6XSGCHkX+ySKfftK84hJ8zjAvt0+O0o=
error: 1 dependencies of derivation '/nix/store/361dj78gzjgryg3hrd0llhhhvd1hx6jj-findcrypt-3.0.1.drv' failed to build
error: 1 dependencies of derivation '/nix/store/6ml1yhx46paibb6nvk27mircn1ca1f08-review-shell.drv' failed to build

Can you reproduce this?

No, not really.
$ nix-shell -p nixpkgs-review --run "nixpkgs-review pr 343256"
$ git -c fetch.prune=false fetch --no-tags --force https://github.com/NixOS/nixpkgs master:refs/nixpkgs-review/0 pull/343256/head:refs/nixpkgs-review/1
$ git worktree add /home/bonus/.cache/nixpkgs-review/pr-343256-1/nixpkgs 9a0f009815f30d0753f1e4dda4274bcb70f255ad
Preparing worktree (detached HEAD 9a0f009815f3)
Updating files: 100% (43351/43351), done.
HEAD is now at 9a0f009815f3 ibus-engines.mozc-ut: init at 2.30.5544.102 (#314248)
$ git merge --no-commit --no-ff 4bbf4b95431fde921db405ad7f7bd4a71b563a51
Auto-merging maintainers/maintainer-list.nix
Automatic merge went well; stopped before committing as requested
$ nix build --file /nix/store/kz30bnfvzwl476hwq5fgbyfalm2ynhi1-nixpkgs-review-2.10.4/lib/python3.11/site-packages/nixpkgs_review/nix/review-shell.nix --nix-path nixpkgs=/home/bonus/.cache/nixpkgs-review/pr-343256-1/nixpkgs nixpkgs-overlays=/tmp/tmp7iw3by83 --extra-experimental-features nix-command no-url-literals --no-link --keep-going --no-allow-import-from-derivation --option build-use-sandbox relaxed --argstr system x86_64-linux --argstr nixpkgs-path /home/bonus/.cache/nixpkgs-review/pr-343256-1/nixpkgs --argstr nixpkgs-config-path /tmp/tmptxd_b6ul.nix --argstr attrs-path /home/bonus/.cache/nixpkgs-review/pr-343256-1/attrs.nix

Link to currently reviewing PR:
https://github.com/NixOS/nixpkgs/pull/343256

1 package built:
ghidra-extensions.findcrypt

$ /nix/store/5q78686d7y90zlfb9jj03q8wgj36im4g-nix-2.18.5/bin/nix-shell --argstr system x86_64-linux --argstr nixpkgs-path /home/bonus/.cache/nixpkgs-review/pr-343256-1/nixpkgs --argstr nixpkgs-config-path /tmp/tmptxd_b6ul.nix --argstr attrs-path /home/bonus/.cache/nixpkgs-review/pr-343256-1/attrs.nix --nix-path nixpkgs=/home/bonus/.cache/nixpkgs-review/pr-343256-1/nixpkgs nixpkgs-overlays=/tmp/tmp7iw3by83 /nix/store/kz30bnfvzwl476hwq5fgbyfalm2ynhi1-nixpkgs-review-2.10.4/lib/python3.11/site-packages/nixpkgs_review/nix/review-shell.nix

However, running
$ nix run nixpkgs#nix-prefetch-github -- --nix antoniovazquezblanco GhidraFindcrypt --rev v3.0.1
let
  pkgs = import <nixpkgs> {};
in
  pkgs.fetchFromGitHub {
    owner = "antoniovazquezblanco";
    repo = "GhidraFindcrypt";
    rev = "06731313669c706fccf35fa8b9f9da5e79588bf0";
    hash = "sha256-/KA95NdoQFvR6XSGCHkX+ySKfftK84hJ8zjAvt0+O0o=";
  }

shows that something weird is going on...

@BonusPlay Maybe you have an existing FOD with the previous hash? Try building without the hash once more and see what it reports as expected

Ok, apparently something got lost somewhere in translation, the sha256-FSRuZtVEErEo4z134XRSsYcIccs/F41R2ydnBy+992o= hash is for the latest commit 4699bce02b1aafa85ee4a7ab96d5dcbf0d7cc7eb from main branch. Honestly, I have no idea how this could have happened, as the derivation built correctly before:
$ nix-build -E "with import <nixpkgs> {}; callPackage ./ghidra-findcrypt.nix {}"
/nix/store/x57w4yvacdqwzmw7hji3jr29fprmjwy0-findcrypt-11.0.3

I've updated this PR with correct hash for the v3.0.1 release.

Builds and works for me :)


Unresolved dependency error in the new version when run  sbt for the first time.

I clone the project and run sbt in the project base directory and I get the following error,
[info] Loading project definition from /Users/_/codegen/sbt-swagger-codegen-examples/project
[info] Updating {file:/Users/_/codegen/sbt-swagger-codegen-examples/project/}myExtensionPlugin...
[info] Resolving eu.unicredit#sbt-swagger-codegen-lib_2.10;0.0.6-SNAPSHOT ...
[warn]  module not found: eu.unicredit#sbt-swagger-codegen-lib_2.10;0.0.6-SNAPSHOT
[warn] ==== typesafe-ivy-releases: tried
[warn]   https://repo.typesafe.com/typesafe/ivy-releases/eu.unicredit/sbt-swagger-codegen-lib_2.10/0.0.6-SNAPSHOT/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn]   https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/eu.unicredit/sbt-swagger-codegen-lib_2.10/0.0.6-SNAPSHOT/ivys/ivy.xml
[warn] ==== local: tried
[warn]   /Users/wseobseo/.ivy2/local/eu.unicredit/sbt-swagger-codegen-lib_2.10/0.0.6-SNAPSHOT/ivys/ivy.xml
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/eu/unicredit/sbt-swagger-codegen-lib_2.10/0.0.6-SNAPSHOT/sbt-swagger-codegen-lib_2.10-0.0.6-SNAPSHOT.pom
[warn] ==== activator-local: tried
[warn]   /Users/wseobseo/activator/repository/eu.unicredit/sbt-swagger-codegen-lib_2.10/0.0.6-SNAPSHOT/ivys/ivy.xml
[warn] ==== activator-launcher-local: tried
[warn]   /Users/wseobseo/.activator/repository/eu.unicredit/sbt-swagger-codegen-lib_2.10/0.0.6-SNAPSHOT/ivys/ivy.xml
[warn] ==== typesafe-releases: tried
[warn]   http://repo.typesafe.com/typesafe/releases/eu/unicredit/sbt-swagger-codegen-lib_2.10/0.0.6-SNAPSHOT/sbt-swagger-codegen-lib_2.10-0.0.6-SNAPSHOT.pom
[warn] ==== typesafe-ivy-releasez: tried
[warn]   http://repo.typesafe.com/typesafe/ivy-releases/eu.unicredit/sbt-swagger-codegen-lib_2.10/0.0.6-SNAPSHOT/ivys/ivy.xml
[info] Resolving org.fusesource.jansi#jansi;1.4 ...

[warn]    ::::::::::::::::::::::::::::::::::::::::::::::
[warn]    ::          UNRESOLVED DEPENDENCIES         ::
[warn]    ::::::::::::::::::::::::::::::::::::::::::::::
[warn]    :: eu.unicredit#sbt-swagger-codegen-lib_2.10;0.0.6-SNAPSHOT: not found
[warn]    ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn]    Note: Unresolved dependencies path:
[warn]        eu.unicredit:sbt-swagger-codegen-lib_2.10:0.0.6-SNAPSHOT (/Users/wseobseo/zalando/codegen/sbt-swagger-codegen-examples/project/plugins.sbt#L12)
[warn]          +- my-extension-plugin:my-extension-plugin:0.1-SNAPSHOT (scalaVersion=2.10, sbtVersion=0.13)
sbt.ResolveException: unresolved dependency: eu.unicredit#sbt-swagger-codegen-lib_2.10;0.0.6-SNAPSHOT: not found
at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:313)
at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:191)
at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:168)
at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:156)
at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:156)
at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:133)
at sbt.IvySbt.sbt$IvySbt$$action$1(Ivy.scala:57)
at sbt.IvySbt$$anon$4.call(Ivy.scala:65)
at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:93)
at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:78)
at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:97)
at xsbt.boot.Using$.withResource(Using.scala:10)
at xsbt.boot.Using$.apply(Using.scala:9)
at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:58)
at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:48)
at xsbt.boot.Locks$.apply0(Locks.scala:31)
at xsbt.boot.Locks$.apply(Locks.scala:28)
at sbt.IvySbt.withDefaultLogger(Ivy.scala:65)
at sbt.IvySbt.withIvy(Ivy.scala:128)
at sbt.IvySbt.withIvy(Ivy.scala:125)
at sbt.IvySbt$Module.withModule(Ivy.scala:156)
at sbt.IvyActions$.updateEither(IvyActions.scala:168)
at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1439)
at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1435)
at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$90.apply(Defaults.scala:1470)
at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$90.apply(Defaults.scala:1468)
at sbt.Tracked$$anonfun$lastOutput$1.apply(Tracked.scala:37)
at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1473)
at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1467)
at sbt.Tracked$$anonfun$inputChanged$1.apply(Tracked.scala:60)
at sbt.Classpaths$.cachedUpdate(Defaults.scala:1490)
at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1417)
at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1369)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
at sbt.std.Transform$$anon$4.work(System.scala:63)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
at sbt.Execute.work(Execute.scala:237)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
error sbt.ResolveException: unresolved dependency: eu.unicredit#sbt-swagger-codegen-lib_2.10;0.0.6-SNAPSHOT: not found
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?

it looks like sbt do not try to resolve the dependency from Sonatype snapshots repo ....
My output correctly shows:
[warn] Choosing sonatype-snapshots for eu.unicredit#sbt-swagger-codegen-lib_2.10;0.0.6-SNAPSHOT

could you double check your connectivity status (proxy etc etc..)

You may need to try and add Resolver.sonatypeRepo("releases").

You may need to try and add Resolver.sonatypeRepo("snapshots").

already present
https://github.com/unicredit/sbt-swagger-codegen-examples/blob/master/project/plugins.sbt#L1
should work...

@andreaTP I checked with https://whatismyipaddress.com/ and firefox setting that we are not connected throw any proxy server.

can you retry everything from scratch and post commands and output then?
Cannot understand how to reproduce this sorry :-(

the library is properly published and available:
https://oss.sonatype.org/content/repositories/snapshots/eu/unicredit/sbt-swagger-codegen-lib_2.10/

I added a resolver to sonatype's snapshots in my-estension-plugin. Can you git pull and try again?

@andreaTP I tried everything from scratch but... , as @fralken suggested, I ran 'git pull' and it builds now thank you very much everyone !!

Probably we must remove my-extension-plugin entierly since it is for customizations and not direct usage

But it shows how to extend the code generator! Instead of removing it, it would be interesting to show how to use the custom generators in practice.

ok, we can add the related code commented into the build, WDYT?

Hello, sorry but this way sbt builds something but it didn't generate the src folder when I check in the file system. Also after 'sbt' command, I run 'swaggerCodeGen' as it is the next step, it give me an exception because the source dir doesn't exist. Below I paste my full terminal output. (Also tested with the new project from scratch, the same problem)

-08957:sbt-swagger-codegen-examples wseobseo$ sbt
[info] Loading project definition from /Users///codegen/sbt-swagger-codegen-examples/project
[info] Updating {file:/Users/wseobseo///sbt-swagger-codegen-examples/project/}myExtensionPlugin...
[info] Resolving eu.unicredit#sbt-swagger-codegen-lib_2.10;0.0.6-SNAPSHOT ...
[warn] Unable to reparse eu.unicredit#sbt-swagger-codegen-lib_2.10;0.0.6-SNAPSHOT from sonatype-snapshots, using Mon Jul 04 17:22:22 EEST 2016
[warn] Choosing sonatype-snapshots for eu.unicredit#sbt-swagger-codegen-lib_2.10;0.0.6-SNAPSHOT
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Updating {file:/Users//**/codegen/sbt-swagger-codegen-examples/project/}root...
[info] Resolving eu.unicredit#sbt-swagger-codegen-lib_2.10;0.0.6-SNAPSHOT ...
[warn] Unable to reparse eu.unicredit#sbt-swagger-codegen-lib_2.10;0.0.6-SNAPSHOT from sonatype-snapshots, using Mon Jul 04 17:22:22 EEST 2016
[warn] Choosing sonatype-snapshots for eu.unicredit#sbt-swagger-codegen-lib_2.10;0.0.6-SNAPSHOT
[info] Resolving eu.unicredit#sbt-swagger-codegen;0.0.6-SNAPSHOT ...
[warn] Unable to reparse eu.unicredit#sbt-swagger-codegen;0.0.6-SNAPSHOT from sonatype-snapshots, using Mon Jul 04 17:22:17 EEST 2016
[warn] Choosing sonatype-snapshots for eu.unicredit#sbt-swagger-codegen;0.0.6-SNAPSHOT
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Compiling 1 Scala source to /Users/wseobseo/zalando/codegen/sbt-swagger-codegen-examples/project/my-extension-plugin/target/scala-2.10/sbt-0.13/classes...
[info] Set current project to root (in build file:/Users/wseobseo/zalando/codegen/sbt-swagger-codegen-examples/)

swaggerCodeGen
java.lang.Exception: Provided swagger source dir /Users///codegen/sbt-swagger-codegen-examples/src/main/swagger doesn't exists
at eu.unicredit.swagger.SwaggerCodegenPlugin$.checkFileExistence(SwaggerCodegenPlugin.scala:409)
at eu.unicredit.swagger.SwaggerCodegenPlugin$.swaggerCodeGenImpl(SwaggerCodegenPlugin.scala:230)
at eu.unicredit.swagger.SwaggerCodegenPlugin$$anonfun$swaggerCodeGenCommand$1.apply(SwaggerCodegenPlugin.scala:215)
at eu.unicredit.swagger.SwaggerCodegenPlugin$$anonfun$swaggerCodeGenCommand$1.apply(SwaggerCodegenPlugin.scala:188)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:30)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:30)
at sbt.Command$.process(Command.scala:93)
at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:96)
at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:96)
at sbt.State$$anon$1.process(State.scala:184)
at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:96)
at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:96)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
at sbt.MainLoop$.next(MainLoop.scala:96)
at sbt.MainLoop$.run(MainLoop.scala:89)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:68)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:63)
at sbt.Using.apply(Using.scala:24)
at sbt.MainLoop$.runWithNewLog(MainLoop.scala:63)
at sbt.MainLoop$.runAndClearLast(MainLoop.scala:46)
at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:30)
at sbt.MainLoop$.runLogged(MainLoop.scala:22)
at sbt.StandardMain$.runManaged(Main.scala:54)
at sbt.xMain.run(Main.scala:29)
at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:128)
at xsbt.boot.Launch$.run(Launch.scala:109)
at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35)
at xsbt.boot.Launch$.launch(Launch.scala:117)
at xsbt.boot.Launch$.apply(Launch.scala:18)
at xsbt.boot.Boot$.runImpl(Boot.scala:41)
at xsbt.boot.Boot$.main(Boot.scala:17)
at xsbt.boot.Boot.main(Boot.scala)
[error] java.lang.Exception: Provided swagger source dir /Users/wseobseo/zalando/codegen/sbt-swagger-codegen-examples/src/main/swagger doesn't exists
[error] Use 'last' for the full log.

You can either run compile from the root project, which automatically invokes swaggerCodGen, swaggerClientCodeGen (in client) and swaggerServerCodGen (in server) in client and server projects, or manually switch to each project (e.g project client and project server) and run swagger commands from them.
Invoking swaggerCodeGen from the root project doesn't work, since it is only an empty container for the real client and server projects.

@andreaTP I agree 👍

@fralken OK I will try later, but I think before you update the version of snapshot, run 'SBT' and then 'swaggerCodeGen' builded somethings not giving the errors. So did you intend to change the steps to how to use this example? Because in the Readme.md it 's still run 'SBT' and then 'swaggerCodeGen'.

I modified the Readme, please see if it's easier to understand now

@fralken, with new Readme, I can see how we can use this example. Thank you I think the new Readme is much better. @andreaTP, sorry my experience with Scala itself is very short(1 month), I will check what sbt multiproject is !

updateOptions := updateOptions.value.withLatestSnapshots(false)
Add above to build.sbt

What is it for?


Create UVM honoring NUMA configuration parameters

Expose NUMA config to containers. Use HCS device affinity so that UVM is configured on same NUMA node as the device. Expose SLIT configuration to UVM to gather NUMA node distances.
Changes under internal/hcs/schema2 are for using new HCS APIs related to NUMA HCS parameters and its dependencies. These files are auto-generated and could be skipped for a thorough review.
Other changes are business logic and should be reviewed thoroughly.
Some tests around device affinity and Hybrid/Virtual MemoryBackingType are pending. Creating PR to get early feedback.

Can we remove any schemas that aren't actively being used in this PR? I'm fine with including some extra fields for some of the leaf node schemas but for larger schemas like VirtualMachine I think we should remove anything we aren't using.


Pull in h5py (and other direct deps) at conda package install point

Hey guys, we're installing kerchunk in our conda/mamba environment, and I was expecting h5py, as a direct dependency of kerchunk, to be pulled in by the package at install point - proves out it's not the case, could you do that please (add it to the reqs/recipe), and make sure that all the direct dependencies are pulled in when you build your conda package so we don't have to add them as direct deps of our package please? See eg a failed test showing that. Also, let me know if I can help with this, I can open a PR, and cheers muchly for your good work on Kerchunk/pkg maintenance overall :beer:

I would say it's not quite as clear as that. Kerchunk can be useful for a number of file formats, so you might well not need h5py in your workflow.
On the other hand, kerchunk is designed to be used by data providers and people who intimately understand the datasets being processed - whereas users are at the intake/xarray/zarr/fsspec API normally.
On the other other hand, kerchunk, the repo, contains some numcodecs codecs, which might be needed for some specific datasets (e.g., all grib); so normal users would end up installing all the file format drivers after all.

Would it be possible to do something like xarray's dependency sets? We could do something like conda install kerchunk[hdf5] / kerchunk[grib] / kerchunk[geotiff] etc and have a kerchunk[full] that pulls all dependencies required for all kerchunk functionality

For completeness, the CI environment currently includes:

zarr
xarray
h5netcdf
pandas
cfgrib
cftime
astropy
requests
aiohttp
pytest-cov
fsspec
dask
scipy
s3fs
python-blosc
tifffile
netCDF4

apologies gents, I lost track of this for a while - nice env @martindurant :+1: So if you're pulling in cfgrib then you can probably add h5py there too, methinks? Up to you guys to decide, am not trying to impose my packaging preferences by no means; we've put in a nice conda lock file in our package so we now should be immune to issues from dependencies (in theory, at least :grin: )

haha since astronomers don't use grib :grin: (some actually do, but they much prefer HDF5)

For reference, the py39 test environment takes up 783MB for a fresh install on my system. I suppose that's not too bad.

no not at all, not too light not too heavy either, actually :+1: For reference, an uncached test env for one of our packages pulls in about 1GB worth of deps

One suggestion: make three conda packages in this feedstock

kerchunk-minimal is just the current config (zarr, fsspec, ujson, blosc or zstd)
kerchunk-codecs includes anything required for codecs (eccodes only extra right now); this is the one that end users might need, people who don't do any kerchunking themselves but want to access the created datasets
kerchunk is the environment above with all backend deps

Maybe the first two can be the same for the time being...

If we go down that route then anyone who currently has kerchunk installed will get all the dependencies on an upgrade, no? Maybe kerchunk == kerchunk-minimal and there's a kerchunk-complete that includes all deps

How difficult would it be to create a dependency set for each storage format? I imagine most users are interested in 1 or 2 maximum, so I don't know if it really makes sense to make the two main options "all of the dependencies for all storage formats" or "none of the dependencies, figure it out for yourself". At the very least, I see the HDF5/NetCDF being popular enough to warrant it's own dependency set if we go down that path

Having a load of related packages seems like risky territory - we will eventually have many formats that we support. That's why pip selectors don't really work - by the time you find the docs saying which is for what, you could have installed your specific needs already. Then we're back to the current minimalist install and decent import error messages. Maybe we can improve those error messages at the time each submodule is accessed...

Yeah I think even just a simple "Package X is needed for kerchunking Y format files, install with conda install X" would be good. I assume most users kerchunking datasets are at least moderately experienced with Python and wouldn't be thrown off by a "no module named X" error

sounds good, cheers gents! :beer:


Resetting database?

Either my database is corrupted, or something else is going on after upgrading to 3.10.x.
All new updates (available for download) are skipped. Only way to download is to pass the --after 2000 --force-all flags.
Even after downloading via force-all, and noticing that the specific db files were touched/updated, when something newly available to download is looked at, it seems to still be skipped by the script. My hunch is either the db is corrupted, or the checks are failing somehow, but I'm unable to see further despite running in debug mode.
Is anyone else encountering this issue?
If not, what's the safest way to clear the DB and start fresh? I'll then run tests (after downloading all) to confirm.
Thanks!

Can you show the log and I might be able to see what is going on

Marking this closed as I was able to resolve myself. Seemed like a syntax error in the config (likely user error). Thank you!


OCS extrusion direction for LWPOLYLINE

Looks like extrusion direction was only implemented for ATTDEF.    The biggest issue with current code is that parseLWPolylineVertices runs through the rest of the entity but code 210, 220, 230 are at the end of the entity and apply to the entity not the vertices.  To solve this I ended up passing the entity into the parseVertex function so we can grab the extrusion directions and append them to the entity:
line 1106:
entity.vertices = parseLWPolylineVertices(numberOfVertices, entity);
and then add the code to the parseLWPolylineVertices function:
var parseLWPolylineVertices = function(n, entity) {
		if(!n || n <= 0) throw Error('n must be greater than 0 verticies');
		var vertices = [], i;
		var vertexIsStarted = false;
		var vertexIsFinished = false;

		for(i = 0; i < n; i++) {
			var vertex = {};
			while(curr !== 'EOF') {
				if(curr.code === 0 || vertexIsFinished) break;

				switch(curr.code) {
					case 10: // X
						if(vertexIsStarted) {
							vertexIsFinished = true;
							continue;
						}
						vertex.x = curr.value;
						vertexIsStarted = true;
						break;
					case 20: // Y
						vertex.y = curr.value;
						break;
					case 30: // Z
						vertex.z = curr.value;
						break;
					case 40: // start width
						vertex.startWidth = curr.value;
						break;
					case 41: // end width
						vertex.endWidth = curr.value;
						break;
					case 42: // bulge
						if(curr.value != 0) vertex.bulge = curr.value;
						break;
					case 210: // OCS extruding x
						entity.extrusionDirectionX = curr.value;
						break;
					case 220: // OCS extruding x
						entity.extrusionDirectionY = curr.value;
						break;
					case 230: // OCS extruding x
						entity.extrusionDirectionZ = curr.value;
						break;
					default:
						//todo: mark unhandled somehow?
						curr = scanner.next();
						continue;
				}
				curr = scanner.next();
			}
			// See https://groups.google.com/forum/#!topic/comp.cad.autocad/9gn8s5O_w6E
			vertices.push(vertex);
			vertexIsStarted = false;
			vertexIsFinished = false;
		}
		return vertices;
	};

This probably needs to be implemented for all vertex functions,
I guess now that we pass in the entity we could directly add the vertices, but this is least amount of changes.  Now the fun of converting Object coordinates to world.....  Anybody got that code?

Oh, you're right, this function will run to the end of the entity. I never needed to implement anything 3D so I didn't test or think about that.
Yeah, those could really be moved out to the entity. We just need to identify all the codes that are possible on the vertices section (if there are more than what's there already). Then the default case in this switch you posted could stop parsing the vertices and return without advancing the scanner.
Do you want to give that a try and submit a PR?
As for the OCS to world stuff, I wrote three-dxf with uses three.js under the hood. Not sure, but maybe Three.js will take care of that for you (assuming you are able to use it in your project).

Maybe just return on default case?
I also use three js. Three would handle it if you put the lines in parent object then rotate the parent, but I need a 2d drawing and don't want to have to rely on three js libs for canvas drawing.  I found some c code that I could port over...  I'll look through the 3dxf code.  I have some tricks iplemented for large dxf files, and would love to pick up any optimizations you have.
I'll do a PR tomorrow.  Thanks


feat: errors

Close #6
I'm considering adding another practical example of a simple vault contract with a deposit and withdraw function. Please let me know if you think it's a good idea.
Additionally, I have included some security considerations that I believe are important to keep in mind. Please let me know if you find this kind of content useful.

This is very good, however I'm a bit worried that this is a bit out of scope of just CairoByExample and some of this content should be in the cairo book instead.

I agree. I might want to explain too much because I'm also learning at the same time. I'll try to keep things simple and move in-depth explanations to the Cairo book if I think it's interesting content.

I'll try to keep things simple and move in-depth explanations to the Cairo book if I think it's interesting content.

🔥


add json serializer support?

nah - too big a hassle to write all sorts of type converters and probably introducing yet another library dependency


[Tables] Enable live tests

Setting up live test pipeline for Tables SDK, this PR includes

Setting up test resources such as ARM template, pipeline configuration and post deployment script (for CORS)
Refactor existing integration test to make them compatible with both recorded and live testing

Including setting up and trying to cleanup the account

Added validation for delete operations

@joheredi make sure to run the live pipeline. @praveenkuttappan Would that be possible even if this PR hasn't been merged yet to master?

There doesn't seem to be an easy way to do so. I created a pipeline manually and pointed it to this PR, however, I'm not sure how valid it is as I had to tweak a couple of things to have it running.
It seems like the recommendation is to merge to get the pipeline created and then a follow-up PR to fix any issues


Throttle and Debounce may have been switched (again)

I think I've implemented Throttle and Debounce backwards...
For clarification which of these is Throttle and Which is Debounce?
A
var source = hot('---^---x---x---x---x---x---x---x---------------');
var expected  =     '----x-----------x-----------x---------------';

source.somethingHere(90)

B
var source = hot('---^---x---x---x---x---x---x---x---------------');
var expected  =     '----------------------------x---------------';

source.somethingHere(90)

I believe debounce is the second one. Debounce has the cool down period (or what ever one would call it) before it will emit, so if another event comes in during that time it will reset the cool down. In the second instance since it is never firing that means each event is coming before the timer has expired.
throttle will only allow one event through during every period which looks like what the first one is doing.

Debounce has the cool down period (or what ever one would call it) before it will emit, so if another   event comes in during that time it will reset the cool down

This seems similar to explanation of .net implementation of throttle described in https://msdn.microsoft.com/en-us/library/hh229400(v=vs.103).aspx,

The Throttle operator buffers an item from the sequence and wait for the time span specified by the dueTime parameter to expire. If another item is produced from the sequence before the time span expires, then that item replaces the old item in the buffer and the wait starts over. If the due time does expire before another item is produced in the sequence, them that item is observed through any subscriptions to the sequence.

which I was expected to behave when I use .net implementation.

@kwonoj There was a discussion about this some time ago Reactive-Extensions/RxJS, which at the time was implemented in the way you describe. It led to a great deal of confusion since those implementations counter to how the words are actually defined.
throttle = define a maximum number of times the event can be emitted over a period of time (1 / 100 ms).
debounce= enforce that a function not be called again until a certain amount of time has passed without it being called.

@paulpdaniels Thanks for clarification, I could look up those discussions - https://github.com/Reactive-Extensions/RxJS/pull/352 is this right one?

@kwonoj Yep! That's the one.

@blesh shouldn't the second test look like this?
var source = hot('---^---x---x---x---x---x---x---x---------------');
var expected  =     '-------------------------------x------------';

source.somethingHere(90)

@trxcllnt I think it would be at least two more dashes? The timer period needs to be at least 3 dashes since it hasn't fired during any of the previous intervals.

@paulpdaniels my bad. I definitely left out at least one dash, assuming the debounce timeout is "three dashes." not sure about the second, but I could be wrong.

http://rxmarbles.com/#debounce

Perhaps somewhat off topic but I would suggest more closely mirroring @staltz 's example. As it stands (assuming those marbles are actually the tests) they don't really tell you much about what the test is doing.

You mean, you don't think
var source = hot('---^---1-----2--3-4-5------6-----')
var e = source.debounce(90)
var expected  =     '-------1------------5------6--'

is informative? I do.

@staltz on the contrary I think that is informative. I don't think
var source = hot('---^---x---x---x---x---x---x---x---------------');
var expected  =     '-------------------------------x------------';

is as much so. But looking at this again in the morning I think I was being too greedy last night in suggesting that marble tests should test specific behavior and tell a totally unambiguous story of what exactly the operator is doing.

Okay, I think that we've reached a consensus.
... and it's that I've implemented them "backwards". Heh. I feel like I was doing whatever RxJS 2 was doing. But maybe I just lost my mind.
For verification that this is the idiom, I've checked lodash, and it seems to agree with the consensus of this thread. Sorry for any confusion.


TypeError: Cannot read property 'split' of undefined in setupTests.js

I am trying to setup enzyme for my typescript react project. But I am getting below error, my test case is pretty simple, just use 'shallow' to test a HelloWorld componet. Any help would be really appreciated !
 TypeError: Cannot read property 'split' of undefined

      1 | const Enzyme = require('enzyme');
    > 2 | const Adapter =  require('enzyme-adapter-react-16');
        |                  ^
      3 |
      4 | Enzyme.configure({ adapter: new Adapter() });

      at new Range (node_modules/enzyme-adapter-utils/node_modules/semver/semver.js:800:20)
      at intersects (node_modules/enzyme-adapter-utils/node_modules/semver/semver.js:1334:8)
      at Object.<anonymous> (node_modules/enzyme-adapter-utils/build/wrapWithSimpleWrapper.js:37:39)
      at Object.<anonymous> (node_modules/enzyme-adapter-utils/build/Utils.js:47:30)
      at Object.<anonymous> (node_modules/enzyme-adapter-utils/build/index.js:4:18)
      at Object.<anonymous> (node_modules/enzyme-adapter-react-16/build/ReactSixteenAdapter.js:47:27)
      at Object.<anonymous> (node_modules/enzyme-adapter-react-16/build/index.js:4:18)
      at Object.require (setupTests.js:2:18)
          at Array.forEach (<anonymous>)

react: "16.8.4"
react-dom: "16.8.4"
react-test-renderer: "16.8.4"
enzyme: 3.9.0
enzyme-adapter-react-16: 1.11.0
============================================================
jest.config.js:
module.exports = {
    "roots": [
        "<rootDir>/src"
    ],
    "transform": {
        "^.+\\.js$": "<rootDir>/node_modules/babel-jest",
        "^.+\\.tsx?$": "ts-jest",
        '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
        '<rootDir>/config/jest/assetsTransformer.js'
      },
    "testPathIgnorePatterns": [
        "/node_modules/",
        "/lib/"
    ],
    "testRegex": "(/__tests__/.*(test|spec))\\.(ts|tsx|js)$",
    "testEnvironment": "jsdom",
    "moduleFileExtensions": [
        "ts",
        "tsx",
        "jsx",
        "js",
        "json"
    ],
    "setupFilesAfterEnv": ["<rootDir>/setupTests.js"],
    "snapshotSerializers": ["enzyme-to-json/serializer"],
    "moduleNameMapper": {
        "\\.(js)$": "<rootDir>/src/__mocks__/fileMock.js",
        "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/src/__mocks__/fileMock.js",
        "\\.(scss|css|less)$": "<rootDir>/src/__mocks__/styleMock.js"
    },
    "cacheDirectory": "<rootDir>/tmp"
}

The undefined being passed in is React.version - do you have react actually installed and present on disk?

Note that if npm ls does not exit successfully, your dependency graph is invalid, and nothing can be expected to work.

Thanks @ljharb , I have react installed on my disk. And I can see my component by running 'npm start' and going to localhost:8080.
I only got one error when running 'npm ls'.
peer dep missing: react@>= 0.13.0 <16.0.0, required by<EMAIL_ADDRESS>Does it matter ? I tried upgrade react-fa to 5.0.0, but it still gave me this error.

Yes, that matters - what that means is that<EMAIL_ADDRESS>requires react below 16; which means your dep graph is invalid.


Add basic support for FSB, Ceiling Fan Light

The light and fan can be turned on and off
light temperature and brightness don't work because the current code only supports lights that use values to 255 but this devices uses 1000.
Fan speed doesn't work, i think this is a general bug in the code that i can't fix
Fan direction doesn,t work properly, i managed to change it once , could not change it back and home assisant didnt show the changed direction

I have an Arlec Grid Connect ceiling fan with light, (Australia)
I have tried to both modify code myself, and use the forked fan and light files,
In my case it doesnt work, but beleive this is due to the commands (instruction set) not available on tuya, even knowing they are listed as standard commands for FSD devices, mine only seems to have temp_value, bright_value and fan_direction available,
Would i be correct in saying that for this device it is an issue with the tuya server (missing the commands (instrunction set) for the functions ??
See attached.

Your help appreciated.
Ben

You need to open a ticket with tuya to add support for your device


pull request for e2e test at 12/19/2016 10:15:19

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


libhttpseverywhere: 0.2.3 -> 0.2.10

Motivation for this change
Upgrade
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[] NixOS
[ ] macOS
[ ] Linux

[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Removed ninja devhelp beacuse it gave target doesn't exist

Talked to the developer, he'll be looking into the build problems with 0.39.0 in a few days.


SDPA-5759: Adding aria-live attribute to alerts.

Motivation and Context
Alerts in SDP are dynamically loaded and hence we would to prioritise the content while screen reading as soon as the content appears on the page. The idea here is to use aria-live attribute as mentioned https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions

JIRA issue: https://digital-engagement.atlassian.net/browse/SDPA-5759
Changed

Adding aria-live attribute to alerts.

@mudrasamey Thanks for the PR - Please fill out the PR template with more detail about the motivation for this change - the linked ticket has no details either.

@mudrasamey Thanks for the PR - Please fill out the PR template with more detail about the motivation for this change - the linked ticket has no details either.

@dylankelly ive added more details as mentioned


Do you plan to support select ?

Hi @czechboy0 and @MatthiasKreileder !
Thanks for open sourcing this lib.
I love to read and study other people code it's a great way to learn.
Do you plan to support something like select(POSIX) which is crucial when building a server with socket ? Or libevent which work on Windows, OS X, Linux ?
Cheers,

Hi @mackoj,
Yes absolutely. It's actually on the list in #2. We just haven't gotten around to it. :blush:
(We'd welcome a PR if you're happy to add it yourself)