Title: Server Crash 2.06 - 2.07 or 2.07 OSX / Linux Post by: Dave13 on March 22, 2016, 11:33:16 AM Hi All,
Sorry for the long post, but hopefully it will be useful. I'm new to Mandelbulber, I was just introduced to it about a week ago by a colleague, so I can't rule out that what i'm experiencing is because I'm doing something wrong. I downloaded Mandelbulber 2.06 on to Mac 1 to try it out, I noticed the the Client / Server NetRender option in the Rendering Engine section, so I downloaded Mandelbulber 2.07 (not realising the differnt versions at first) on to Mac 2 to try out NetRender. When I connected Mac 2 (V 2.07) as a client to Mac 1 (V 2.06) as a server Mandelbulber on Mac 1 (Server only) crashed (it didn't matter whether i used IP (V4) or hostname), So then I tried it in the other direction Mac 1 (V 2.06) as a client to Mac 2 (V 2.07) as a server which also crashed. At this stage I noticed the difference in version numbers, so I updated Mac 1 to V 2.07, at this point I was able to successfully use the NetRender option in both directions. I then wanted to add another machine to the "render farm", so I downloaded Mandelbulber 2.07 (this time making sure it was the same version) to my Linux Mint (rosa) machine (Mint 1), I compiled and installed following the instructions. When I connected Mint 1 (V 2.07) as a client to Mac 1 (V 2.07) as a server and Mandelbulber (Server only) crashed. I then tried Mint 1 (V 2.07) as a client to Mac 2 (V 2.07) as a server, same result. Finally I tried Mac 1 (V 2.07) as a client to Mint 1 (V 2.07) as a server, again Mandelbulber (Server only) crashed. So my observation is that Mandelbulber's NetRender option only seems to work when you use the same version and the same operating system. I hope this information is useful, and that in future you will be able to make NetRender more robust, and able to to produce a meaningful error message rather than crash when incompatible versions are connected. I also hope that in future you can make NetRender work with different versions and different OS's. Below is the crash report from Mac 1 (V 2.07) as a server when Mint 1 (V 2.07) is the client: Dave. Process: mandelbulber2 [12643] Path: /Applications/mandelbulber2.app/Contents/MacOS/mandelbulber2 Identifier: com.bermarte.mandelbulber2 Version: ??? Code Type: X86-64 (Native) Parent Process: ??? [1] Responsible: mandelbulber2 [12643] User ID: 501 Date/Time: 2016-03-22 18:43:54.536 +1000 OS Version: Mac OS X 10.11.3 (15D21) Report Version: 11 Anonymous UUID: 362A314A-2AFB-FB31-BAD5-3CF0E8476074 Sleep/Wake UUID: 50AFA7F0-9F28-468E-804C-5781223BC469 Time Awake Since Boot: 340000 seconds Time Since Wake: 400 seconds System Integrity Protection: enabled Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY Application Specific Information: abort() called *** error for object 0x7fd18977b458: incorrect checksum for freed object - object was probably modified after being freed. Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 libsystem_kernel.dylib 0x00007fff94730002 __pthread_kill + 10 1 libsystem_pthread.dylib 0x00007fff993b95c5 pthread_kill + 90 2 libsystem_c.dylib 0x00007fff995686e7 abort + 129 3 libsystem_malloc.dylib 0x00007fff8a229e66 szone_error + 626 4 libsystem_malloc.dylib 0x00007fff8a21d827 tiny_malloc_from_free_list + 347 5 libsystem_malloc.dylib 0x00007fff8a21c715 szone_malloc_should_clear + 292 6 libsystem_malloc.dylib 0x00007fff8a21c5b1 malloc_zone_malloc + 71 7 libsystem_malloc.dylib 0x00007fff8a21b0dc malloc + 42 8 libc++abi.dylib 0x00007fff9b99a33e operator new(unsigned long) + 30 9 com.apple.CoreGraphics 0x00007fff9508b14c path_iterator_orientation_create + 109 10 com.apple.CoreGraphics 0x00007fff9547e889 CGGlyphBitmapCreateWithPathAndDilation + 953 11 com.apple.CoreGraphics 0x00007fff953cc91f CGFontCreateGlyphBitmapWithDilation + 723 12 com.apple.CoreGraphics 0x00007fff9508900e CGGlyphBuilderLockBitmaps + 922 13 libRIP.A.dylib 0x00007fff9b917ac6 render_glyphs + 263 14 libRIP.A.dylib 0x00007fff9b917961 draw_glyph_bitmaps + 1789 15 libRIP.A.dylib 0x00007fff9b9171eb ripc_DrawGlyphs + 1929 16 com.apple.CoreGraphics 0x00007fff950f132d draw_glyphs + 836 17 com.apple.CoreGraphics 0x00007fff95116ba0 CGContextShowGlyphsWithAdvances + 415 18 libqcocoa.dylib 0x0000000113b76aa7 0x113b11000 + 416423 19 libqcocoa.dylib 0x0000000113b76d9e 0x113b11000 + 417182 20 org.qt-project.QtGui 0x0000000110c1dc84 QImageTextureGlyphCache::fillTexture(QTextureGlyphCache::Coord const&, unsigned int, QFixed) + 84 21 org.qt-project.QtGui 0x0000000110c1da33 QTextureGlyphCache::fillInPendingGlyphs() + 659 22 org.qt-project.QtGui 0x0000000110bb82fd QRasterPaintEngine::drawCachedGlyphs(int, unsigned int const*, QFixedPoint const*, QFontEngine*) + 813 23 org.qt-project.QtGui 0x0000000110bb8f57 QRasterPaintEngine::drawTextItem(QPointF const&, QTextItem const&) + 615 24 org.qt-project.QtGui 0x0000000110bd35a0 0x110976000 + 2479520 25 org.qt-project.QtGui 0x0000000110a914e8 QTextLine::draw(QPainter*, QPointF const&, QTextLayout::FormatRange const*) const + 3528 26 org.qt-project.QtGui 0x0000000110bd27f5 0x110976000 + 2476021 27 org.qt-project.QtGui 0x0000000110bd165d QPainter::drawText(QRect const&, int, QString const&, QRect*) + 509 28 org.qt-project.QtWidgets 0x00000001103c6392 QStyle::drawItemText(QPainter*, QRect const&, int, QPalette const&, bool, QString const&, QPalette::ColorRole) const + 546 29 org.qt-project.QtWidgets 0x000000011033e9bc 0x11032a000 + 84412 30 org.qt-project.QtWidgets 0x00000001103d571e QCommonStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const + 4862 31 org.qt-project.QtWidgets 0x000000011033cd23 0x11032a000 + 77091 32 org.qt-project.QtWidgets 0x00000001105ce768 QHeaderView::paintSection(QPainter*, QRect const&, int) const + 2232 33 org.qt-project.QtWidgets 0x00000001105cba91 QHeaderView::paintEvent(QPaintEvent*) + 1169 34 org.qt-project.QtWidgets 0x000000011039a1bb QWidget::event(QEvent*) + 2123 35 org.qt-project.QtWidgets 0x000000011048d76d QFrame::event(QEvent*) + 45 36 org.qt-project.QtWidgets 0x00000001105129fa QAbstractScrollArea::viewportEvent(QEvent*) + 170 37 org.qt-project.QtWidgets 0x00000001105b51cd QAbstractItemView::viewportEvent(QEvent*) + 1453 38 org.qt-project.QtWidgets 0x00000001105cdb8a QHeaderView::viewportEvent(QEvent*) + 522 39 org.qt-project.QtWidgets 0x0000000110513515 0x11032a000 + 2004245 40 org.qt-project.QtCore 0x00000001110cccc9 QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) + 217 41 org.qt-project.QtWidgets 0x000000011035b4ab QApplicationPrivate::notify_helper(QObject*, QEvent*) + 235 42 org.qt-project.QtWidgets 0x000000011035e89e QApplication::notify(QObject*, QEvent*) + 8318 43 org.qt-project.QtCore 0x00000001110cc983 QCoreApplication::notifyInternal(QObject*, QEvent*) + 115 44 org.qt-project.QtWidgets 0x0000000110393970 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 3152 45 org.qt-project.QtWidgets 0x0000000110367c9f 0x11032a000 + 253087 46 org.qt-project.QtWidgets 0x0000000110368043 0x11032a000 + 254019 47 org.qt-project.QtWidgets 0x000000011038a65c QWidgetPrivate::syncBackingStore() + 236 48 org.qt-project.QtWidgets 0x000000011039a484 QWidget::event(QEvent*) + 2836 49 org.qt-project.QtWidgets 0x00000001104a4741 QMainWindow::event(QEvent*) + 929 50 org.qt-project.QtWidgets 0x000000011035b4bb QApplicationPrivate::notify_helper(QObject*, QEvent*) + 251 51 org.qt-project.QtWidgets 0x000000011035e89e QApplication::notify(QObject*, QEvent*) + 8318 52 org.qt-project.QtCore 0x00000001110cd65b QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 971 53 libqcocoa.dylib 0x0000000113b3391e 0x113b11000 + 141598 54 libqcocoa.dylib 0x0000000113b341a1 0x113b11000 + 143777 55 com.apple.CoreFoundation 0x00007fff9715b5c1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 56 com.apple.CoreFoundation 0x00007fff9714d41c __CFRunLoopDoSources0 + 556 57 com.apple.CoreFoundation 0x00007fff9714c93f __CFRunLoopRun + 927 58 com.apple.CoreFoundation 0x00007fff9714c338 CFRunLoopRunSpecific + 296 59 com.apple.HIToolbox 0x00007fff9be12935 RunCurrentEventLoopInMode + 235 60 com.apple.HIToolbox 0x00007fff9be1276f ReceiveNextEventCommon + 432 61 com.apple.HIToolbox 0x00007fff9be125af _BlockUntilNextEventMatchingListInModeWithFilter + 71 62 com.apple.AppKit 0x00007fff8b0740ee _DPSNextEvent + 1067 63 com.apple.AppKit 0x00007fff8b440943 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454 64 com.apple.AppKit 0x00007fff8b069fc8 -[NSApplication run] + 682 65 libqcocoa.dylib 0x0000000113b3308d 0x113b11000 + 139405 66 org.qt-project.QtCore 0x00000001110ca07d QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 381 67 org.qt-project.QtCore 0x00000001110ccf5a QCoreApplication::exec() + 346 68 com.bermarte.mandelbulber2 0x000000010efb3d4d main + 3117 69 com.bermarte.mandelbulber2 0x000000010eefe1e4 start + 52 Thread 1:: Dispatch queue: com.apple.libdispatch-manager 0 libsystem_kernel.dylib 0x00007fff94730ff6 kevent_qos + 10 1 libdispatch.dylib 0x00007fff8c078099 _dispatch_mgr_invoke + 216 2 libdispatch.dylib 0x00007fff8c077d01 _dispatch_mgr_thread + 52 Thread 2:: com.apple.NSEventThread 0 libsystem_kernel.dylib 0x00007fff9472a386 mach_msg_trap + 10 1 libsystem_kernel.dylib 0x00007fff947297c7 mach_msg + 55 2 com.apple.CoreFoundation 0x00007fff9714d624 __CFRunLoopServiceMachPort + 212 3 com.apple.CoreFoundation 0x00007fff9714caec __CFRunLoopRun + 1356 4 com.apple.CoreFoundation 0x00007fff9714c338 CFRunLoopRunSpecific + 296 5 com.apple.AppKit 0x00007fff8b133065 _NSEventThread + 149 6 libsystem_pthread.dylib 0x00007fff993b7c13 _pthread_body + 131 7 libsystem_pthread.dylib 0x00007fff993b7b90 _pthread_start + 168 8 libsystem_pthread.dylib 0x00007fff993b5375 thread_start + 13 Thread 3:: com.apple.CFSocket.private 0 libsystem_kernel.dylib 0x00007fff94730176 __select + 10 1 com.apple.CoreFoundation 0x00007fff9719916a __CFSocketManager + 762 2 libsystem_pthread.dylib 0x00007fff993b7c13 _pthread_body + 131 3 libsystem_pthread.dylib 0x00007fff993b7b90 _pthread_start + 168 4 libsystem_pthread.dylib 0x00007fff993b5375 thread_start + 13 Thread 4: 0 libsystem_kernel.dylib 0x00007fff947306de __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x00007fff993b7729 _pthread_wqthread + 1283 2 libsystem_pthread.dylib 0x00007fff993b5365 start_wqthread + 13 Thread 5: 0 libsystem_kernel.dylib 0x00007fff947306de __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x00007fff993b7729 _pthread_wqthread + 1283 2 libsystem_pthread.dylib 0x00007fff993b5365 start_wqthread + 13 Thread 6: 0 libsystem_kernel.dylib 0x00007fff947306de __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x00007fff993b7729 _pthread_wqthread + 1283 2 libsystem_pthread.dylib 0x00007fff993b5365 start_wqthread + 13 Thread 7:: Dispatch queue: NSCGSDisableUpdates 0 libsystem_kernel.dylib 0x00007fff9472a386 mach_msg_trap + 10 1 libsystem_kernel.dylib 0x00007fff947297c7 mach_msg + 55 2 com.apple.CoreGraphics 0x00007fff95092a64 _CGSReenableUpdateForConnection + 92 3 com.apple.CoreGraphics 0x00007fff9509273d CGSReenableUpdateToken + 532 4 libdispatch.dylib 0x00007fff8c07d871 _dispatch_call_block_and_release + 12 5 libdispatch.dylib 0x00007fff8c07233f _dispatch_client_callout + 8 6 libdispatch.dylib 0x00007fff8c076f6f _dispatch_queue_drain + 754 7 libdispatch.dylib 0x00007fff8c07d63b _dispatch_queue_invoke + 549 8 libdispatch.dylib 0x00007fff8c07233f _dispatch_client_callout + 8 9 libdispatch.dylib 0x00007fff8c0761cf _dispatch_root_queue_drain + 1890 10 libdispatch.dylib 0x00007fff8c075a34 _dispatch_worker_thread3 + 91 11 libsystem_pthread.dylib 0x00007fff993b768f _pthread_wqthread + 1129 12 libsystem_pthread.dylib 0x00007fff993b5365 start_wqthread + 13 Thread 0 crashed with X86 Thread State (64-bit): rax: 0x0000000000000000 rbx: 0x0000000000000006 rcx: 0x00007fff50cfad28 rdx: 0x0000000000000000 rdi: 0x000000000000160b rsi: 0x0000000000000006 rbp: 0x00007fff50cfad50 rsp: 0x00007fff50cfad28 r8: 0x00000000fffffff0 r9: 0x0000000000000010 r10: 0x0000000008000000 r11: 0x0000000000000206 r12: 0x0000000000000001 r13: 0x000000011638e000 r14: 0x00007fff7a382000 r15: 0x0000000110098000 rip: 0x00007fff94730002 rfl: 0x0000000000000206 cr2: 0x00007fff7a3e8008 Logical CPU: 0 Error Code: 0x02000148 Trap Number: 133 Title: Re: Server Crash 2.06 - 2.07 or 2.07 OSX / Linux Post by: zebastian on March 22, 2016, 07:39:41 PM Hi Dave,
thanks for your report. tried v206 / v207 as client server combo on windows, which works as desired: server refuses connection. client notifies with "CNetRender - Version mismatch!" (this is wanted behaviour, since it is hard to keep the netrender backward compatible with older versions of the program) your crash report looks like segfault in the native qt gui. Are you running the server headless (no window manager)? i will forward your report also to our OSX developer cheers Title: Re: Server Crash 2.06 - 2.07 or 2.07 OSX / Linux Post by: Dave13 on March 22, 2016, 10:24:24 PM Hi zebastian,
Re Headless, no, in all cases i was running with the gui. You may also want to forward to the Linux developers, as it seems to have the same issue and the Mac OSX version is probably just a port of the Linux code. I not aware there was headless option yet, I will try that out when I have time. Thanks, Dave. Title: Re: Server Crash 2.06 - 2.07 or 2.07 OSX / Linux Post by: Buddhi on March 23, 2016, 09:26:32 PM Hi
I have found the problem and it's fixed in Github repository. Even without fix it should work properly until you use the same version of program for server and client. NetRender cannot work with different versions of program. This bug caused crashing o program without any error message about mismatched versions of programs. I have tested NetRender between Windows Vista 32-bit and Linux 64-bit and it works in both directions. Are sure that you used exactly the same versions of application? There was released version 2.07 and 2.07-1. Title: Re: Server Crash 2.06 - 2.07 or 2.07 OSX / Linux Post by: Dave13 on March 23, 2016, 10:55:33 PM Hi Buddi,
Thanks for the reply, yes the Mint machine had 2.07-1 and the Mac's had 2.07. It would be better if you can stabilise NetRender and make it compatible between versions. I can understand not being compatible between major versions, but it does seem weird to not be compatible between minor versions and patch releases. I understand this may take a redesign of the NetRender, so don't expect it to be resolved quickly, but it's something to think about and discuss in the dev team. Dave. Title: Re: Server Crash 2.06 - 2.07 or 2.07 OSX / Linux Post by: zebastian on March 23, 2016, 11:52:32 PM @dave there are changes to come which might have a big effect on the netrender too. keeping an eye on backward compatibility is not that helpful in this case, since:
- you will not have the fully palette of function through all versions - every combination of different versions would need to work, which would be hard to test - yield bloated code - redundant work in general you should see the program as a rolling beta program. every version increment is a mayor release. IMHO: if you are planning to use the program in a server client setup, there is no reasonable way around installing the same version on all machines. When the dev team grows and the program matures to a state, where we have got fewer changes between versions, this can become a topic again. btw: cli: open up a terminal / console / cmd box go to the path/to/your/mandelbulber and type 'mandelbulber --help' this should get you started... Title: Re: Server Crash 2.06 - 2.07 or 2.07 OSX / Linux Post by: Buddhi on March 24, 2016, 06:24:05 PM Starting from next release, minor revision difference will allow to connect client to server. So e.g. 2.08-1 will run with 2.08-2. But 2.07 will not run with 2.08, because every version has small differences in rendering algorithms, so images could be rendered with errors.
Title: Re: Server Crash 2.06 - 2.07 or 2.07 OSX / Linux Post by: visual.bermarte on March 24, 2016, 07:08:51 PM :) Thanks Buddhi, saturday I will run some tests as well. Thanks Dave for the report; this bug was also present in the previous mandelbulber built using GTK.
Title: Re: Server Crash 2.06 - 2.07 or 2.07 OSX / Linux Post by: Dave13 on March 26, 2016, 09:20:33 AM Thanks for the extra info.
Dave. Title: Re: Server Crash 2.06 - 2.07 or 2.07 OSX / Linux Post by: visual.bermarte on March 26, 2016, 06:58:09 PM I am running a rendering using three machines; a mac, a windows machine and one with Ubuntu OS, there is no crash using 2.07-1 version,
but one cannot Title: Re: Server Crash 2.06 - 2.07 or 2.07 OSX / Linux Post by: visual.bermarte on March 27, 2016, 07:25:43 PM This is the newest build > http://bit.ly/22FiicC I have used OpenEXR dynamic libraries, but I lost some time with a link error solved using install_name_tool manually. |