New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Initial implementation of RAW image loading plug-in based on PhotoFlow #1
Conversation
Aw... github is just a mirror, so I don't really see pull requests made here, we use phabricator.kde.org for code review. |
So, what is the right way to proceed in order to propose experimental features for testing? Thanks! |
The best way is to post a patch on http://phabricator.kde.org/ |
How can I do that? I have tried to register myself on phabricator.kde.org, but the only thing I am presented is this login screen: I have no idea how to proceed from there in order to register into the system... If I insert some username and password, I simply get a message saying that they are invalid. Thanks! |
Hi,
I'm not sure what KDE's sysadmins are up to, but I guess that if you register with identity.kde.org,
than you can then use that to login on phabricator. If that also doesn't work, I'll just track your
progress through github and talk to the sysadmins...
Boud
…On Wed, 29 Mar 2017, aferrero2707 wrote:
How can I do that? I have tried to register myself on phabricator.kde.org, but the only thing I am presented is this login screen:
<img width="563" alt="screen shot 2017-03-29 at 21 25 52" src="https://cloud.githubusercontent.com/assets/6229237/24472569/7b3f6daa-14c6-11e7-9a65-107eac1a6885.png">
I have no idea how to proceed from there in order to register into the system... If I insert some username and password, I simply get a message saying that they are invalid.
Thanks!
--
Boudewijn Rempt | http://www.krita.org, http://www.valdyas.org
|
Thanks for your contribution :) This repository is a mirror a KDE repository. For this reason we can't accept contributions through Github. Please see https://community.kde.org/Infrastructure/Github_Mirror for details on how to contribute to this and other KDE projects. |
Apparently, on Jenkins we cannot create all of these colorspaces, so don't fail by dereferencing a null pointer: ********* Start testing of TestLcmsRGBP2020PQColorSpace ********* Config: Using QtTest library 5.12.4, Qt 5.12.4 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 9.1.1 20190611 [gcc-9-branch revision 272147]) PASS : TestLcmsRGBP2020PQColorSpace::initTestCase() AddressSanitizer:DEADLYSIGNAL ================================================================= ==6181==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000008 (pc 0x7f3f02031167 bp 0x7fff6f5c1290 sp 0x7fff6f5c1280 T0) ==6181==The signal is caused by a READ memory access. ==6181==Hint: address points to the zero page. #0 0x7f3f02031166 in KoColorSpace::id() const /home/jenkins/workspace/Extragear/krita/kf5-qt5 SUSEQt5.12/libs/pigment/KoColorSpace.cpp:106 #1 0x41535a in testRoundTrip(KoColorSpace const*, KoColorSpace const*, SourceType) /home/jenkins/workspace/Extragear/krita/kf5-qt5 SUSEQt5.12/plugins/color/lcms2engine/tests/TestLcmsRGBP2020PQColorSpace.cpp:44 #2 0x418726 in testRoundTrip(KoID const&, KoID const&, SourceType) /home/jenkins/workspace/Extragear/krita/kf5-qt5 SUSEQt5.12/plugins/color/lcms2engine/tests/TestLcmsRGBP2020PQColorSpace.cpp:118 #3 0x4192b2 in TestLcmsRGBP2020PQColorSpace::test() /home/jenkins/workspace/Extragear/krita/kf5-qt5 SUSEQt5.12/plugins/color/lcms2engine/tests/TestLcmsRGBP2020PQColorSpace.cpp:143 #4 0x40aa2c in TestLcmsRGBP2020PQColorSpace::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /home/jenkins/workspace/Extragear/krita/kf5-qt5 SUSEQt5.12/build/plugins/color/lcms2engine/tests/TestLcmsRGBP2020PQColorSpace_autogen/EWIEGA46WW/moc_TestLcmsRGBP2020PQColorSpace.cpp:78 #5 0x7f3efcc6889a in QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (/usr/lib64/libQt5Core.so.5+0x29689a) #6 0x7f3f050a0962 (/usr/lib64/libQt5Test.so.5+0x19962) #7 0x7f3f050a1352 (/usr/lib64/libQt5Test.so.5+0x1a352) #8 0x7f3f050a1910 (/usr/lib64/libQt5Test.so.5+0x1a910) #9 0x7f3f050a1cda in QTest::qRun() (/usr/lib64/libQt5Test.so.5+0x1acda) #10 0x7f3f050a1edb in QTest::qExec(QObject*, int, char**) (/usr/lib64/libQt5Test.so.5+0x1aedb) #11 0x41b9d7 in main /home/jenkins/workspace/Extragear/krita/kf5-qt5 SUSEQt5.12/plugins/color/lcms2engine/tests/TestLcmsRGBP2020PQColorSpace.cpp:185 #12 0x7f3efc4f2bca in __libc_start_main (/lib64/libc.so.6+0x26bca) #13 0x40a8f9 in _start (/home/jenkins/workspace/Extragear/krita/kf5-qt5 SUSEQt5.12/build/plugins/color/lcms2engine/tests/TestLcmsRGBP2020PQColorSpace+0x40a8f9) AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: SEGV /home/jenkins/workspace/Extragear/krita/kf5-qt5 SUSEQt5.12/libs/pigment/KoColorSpace.cpp:106 in KoColorSpace::id() const ==6181==ABORTING
The backtrace looks as if an update is executed while the node has been removed from the layer stack. I couldn't reproduce the crash myself, my the backtrace is rather convincing. QDEBUG : KisCloneLayerTest::testUndoingRemovingSource() krita.core: Add node KisPaintLayer(0x60800007b320, name = "paint1") to QObject(0x0) QDEBUG : KisCloneLayerTest::testUndoingRemovingSource() krita.core: Add node KisCloneLayer(0x606000223580, name = "clone_of_p1") to QObject(0x0) AddressSanitizer:DEADLYSIGNAL ================================================================= ==2392==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000008 (pc 0x7f00c3e5b6d1 bp 0x7f00a8e833c0 sp 0x7f00a8e833b0 T19) ==2392==The signal is caused by a READ memory access. ==2392==Hint: address points to the zero page. #0 0x7f00c3e5b6d1 in QScopedPointer<KisProjectionLeaf::Private, QScopedPointerDeleter<KisProjectionLeaf::Private> >::operator->() const /usr/include/qt5/QtCore/qscopedpointer.h:118 #1 0x7f00c3e525e1 in KisProjectionLeaf::original() /home/jenkins/workspace/Extragear/krita/stable-kf5-qt5 SUSEQt5.14/libs/image/kis_projection_leaf.cpp:252 #2 0x7f00c3c21eef in KisAsyncMerger::setupProjection(QSharedPointer<KisProjectionLeaf>, QRect const&, bool) (/home/jenkins/install-prefix/lib64/libkritaimage.so.19+0x1d14eef) #3 0x7f00c3c0d860 in KisAsyncMerger::startMerge(KisBaseRectsWalker&, bool) /home/jenkins/workspace/Extragear/krita/stable-kf5-qt5 SUSEQt5.14/libs/image/kis_async_merger.cpp:261 #4 0x7f00c360bc29 in KisUpdateJobItem::runMergeJob() /home/jenkins/workspace/Extragear/krita/stable-kf5-qt5 SUSEQt5.14/libs/image/kis_update_job_item.h:135 #5 0x7f00c360b576 in KisUpdateJobItem::run() /home/jenkins/workspace/Extragear/krita/stable-kf5-qt5 SUSEQt5.14/libs/image/kis_update_job_item.h:86 #6 0x7f00b6659371 (/usr/lib64/libQt5Core.so.5+0xda371) #7 0x7f00b66556e0 (/usr/lib64/libQt5Core.so.5+0xd66e0) #8 0x7f00b6050ea9 in start_thread (/lib64/libpthread.so.0+0x8ea9) #9 0x7f00b617aafe in __clone (/lib64/libc.so.6+0xffafe)
The backtrace looks as if an update is executed while the node has been removed from the layer stack. I couldn't reproduce the crash myself, my the backtrace is rather convincing. QDEBUG : KisCloneLayerTest::testUndoingRemovingSource() krita.core: Add node KisPaintLayer(0x60800007b320, name = "paint1") to QObject(0x0) QDEBUG : KisCloneLayerTest::testUndoingRemovingSource() krita.core: Add node KisCloneLayer(0x606000223580, name = "clone_of_p1") to QObject(0x0) AddressSanitizer:DEADLYSIGNAL ================================================================= ==2392==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000008 (pc 0x7f00c3e5b6d1 bp 0x7f00a8e833c0 sp 0x7f00a8e833b0 T19) ==2392==The signal is caused by a READ memory access. ==2392==Hint: address points to the zero page. #0 0x7f00c3e5b6d1 in QScopedPointer<KisProjectionLeaf::Private, QScopedPointerDeleter<KisProjectionLeaf::Private> >::operator->() const /usr/include/qt5/QtCore/qscopedpointer.h:118 #1 0x7f00c3e525e1 in KisProjectionLeaf::original() /home/jenkins/workspace/Extragear/krita/stable-kf5-qt5 SUSEQt5.14/libs/image/kis_projection_leaf.cpp:252 #2 0x7f00c3c21eef in KisAsyncMerger::setupProjection(QSharedPointer<KisProjectionLeaf>, QRect const&, bool) (/home/jenkins/install-prefix/lib64/libkritaimage.so.19+0x1d14eef) #3 0x7f00c3c0d860 in KisAsyncMerger::startMerge(KisBaseRectsWalker&, bool) /home/jenkins/workspace/Extragear/krita/stable-kf5-qt5 SUSEQt5.14/libs/image/kis_async_merger.cpp:261 #4 0x7f00c360bc29 in KisUpdateJobItem::runMergeJob() /home/jenkins/workspace/Extragear/krita/stable-kf5-qt5 SUSEQt5.14/libs/image/kis_update_job_item.h:135 #5 0x7f00c360b576 in KisUpdateJobItem::run() /home/jenkins/workspace/Extragear/krita/stable-kf5-qt5 SUSEQt5.14/libs/image/kis_update_job_item.h:86 #6 0x7f00b6659371 (/usr/lib64/libQt5Core.so.5+0xda371) #7 0x7f00b66556e0 (/usr/lib64/libQt5Core.so.5+0xd66e0) #8 0x7f00b6050ea9 in start_thread (/lib64/libpthread.so.0+0x8ea9) #9 0x7f00b617aafe in __clone (/lib64/libc.so.6+0xffafe)
When slotRecoverColorInResourceManager is hit it calls setResource which in turn updates the shape which by that point is deleted, triggering an assert. * thread #1, name = 'krita', stop reason = signal SIGABRT * frame #0: 0x00007ffff0d5aef5 libc.so.6`raise + 325 frame #1: 0x00007ffff0d44862 libc.so.6`abort + 278 frame #2: 0x00007ffff12b99ac libQt5Core.so.5`QMessageLogger::fatal(char const*, ...) const + 206 frame #3: 0x00007ffff12b8db6 libQt5Core.so.5`qt_assert_x(char const*, char const*, char const*, int) + 93 frame #4: 0x00007ffff745f115 libkritaui.so.17`KisWeakSharedPtr<KisImage>::operator->(this=0x00007fffffffc1e8) at kis_shared_ptr.h:382:13 frame #5: 0x00007ffff75bffb6 libkritaui.so.17`KisShapeLayerCanvas::slotStartAsyncRepaint(this=0x000055555cc22670) at kis_shape_layer_canvas.cpp:250:47 ...
.. of onRecordButtonToggled, when the color space is unsupported. The reason for the infinite loop is: 1. setCanvas starts the RecorderWriter thread (say turn #1) 2. after that in the same method we try to stop the writer thread (#1) 3. the started thread (#1) calls the updateRecordStatus and retriggers the thread start (#2) 4. when the #1 thread is stopped it triggers updateRecordStatus and this further triggers the stopping of thread #2 and we arrive back at step 2.
.. of onRecordButtonToggled, when the color space is unsupported. The reason for the infinite loop is: 1. setCanvas starts the RecorderWriter thread (say turn #1) 2. after that in the same method we try to stop the writer thread (#1) 3. the started thread (#1) calls the updateRecordStatus and retriggers the thread start (#2) 4. when the #1 thread is stopped it triggers updateRecordStatus and this further triggers the stopping of thread #2 and we arrive back at step 2. (cherry picked from commit 95ae2b5)
This is a draft implementation, still in very preliminary stage... if the pull request is accepted, I would suggest to put this code in a new feature branch and not in the master branch.