achow101
Staff
Legendary
Offline
Activity: 3430
Merit: 6720
Just writing some code
|
|
February 14, 2017, 06:17:07 PM |
|
Should DB being shutting down when Client closes even though I run DB separately?
|
|
|
|
goatpig (OP)
Moderator
Legendary
Offline
Activity: 3682
Merit: 1347
Armory Developer
|
|
February 14, 2017, 09:41:14 PM |
|
Should DB being shutting down when Client closes even though I run DB separately?
DB now uses a cookie file setup to authorize special commands like shutdown. Any local client can read that cookie file, which the DB creates under any circumstances. I guess I could add some cli magic in there to make it a bit more intuitive.
|
|
|
|
droark
|
|
February 15, 2017, 03:03:48 AM |
|
Test suite is broken. Submitted a PR.
|
|
|
|
goatpig (OP)
Moderator
Legendary
Offline
Activity: 3682
Merit: 1347
Armory Developer
|
|
February 15, 2017, 09:25:07 PM |
|
Edit: One of the issues above remains unresolved where the BDM will randomly go back to the scanning phase and needs to be restarted to resolve it.
Fixed. Should DB being shutting down when Client closes even though I run DB separately?
Won't do it anymore now. Test suite is broken. Submitted a PR.
Merged. Also merged the translation PR, have fun with that. Edit: If your PR adds a feature or fixes something I missed from previous versions, please update the changelog as accordingly as well.
|
|
|
|
goatpig (OP)
Moderator
Legendary
Offline
Activity: 3682
Merit: 1347
Armory Developer
|
|
February 16, 2017, 01:42:12 PM |
|
Shouldn't just running with -server=1 from bash work? It's not.
Should be fixed now.
|
|
|
|
Carlton Banks
Legendary
Offline
Activity: 3430
Merit: 3074
|
|
February 16, 2017, 10:47:34 PM |
|
I'll be checking it out right after I mend my blockchain data, it'll be done soon with any luck
|
Vires in numeris
|
|
|
Carlton Banks
Legendary
Offline
Activity: 3430
Merit: 3074
|
|
February 19, 2017, 01:08:08 PM |
|
Shouldn't just running with -server=1 from bash work? It's not.
Should be fixed now. I can now confirm that. Issues I found (8adfd62) - Editing tx comments from main window yielded QString::arg: 1 argument(s) missing in Add %2 %2:
- Using the wallet filters produced overlapping or incomplete results accompanied by -INFO - 1487508653: (SocketObject.cpp:517) POLLIN recv return 0
- A little messing around with the "Use only selected UTXOs" option ended up with a bunch of AttributeError: 'DlgWalletDetails' object has no attribute 'wltAddrModel' with differing tracebacks, followed by the fee adjustment failing altogether. Clicking Send! in that state produced an Insufficient Fee dialog with this text featuring "Your specified fee results in a rate of %d satoshis per byte/b>. This is much lower than the median satoshi/byte rate of %s BTC"
|
Vires in numeris
|
|
|
droark
|
|
February 19, 2017, 08:16:07 PM Last edit: February 19, 2017, 08:55:31 PM by droark |
|
Another problem (and one that seems to have been around for years): The transaction export feature is broken. There are two problems. - In qtdialogs.py, order_ascending and order_descending aren't defined. - There's something wrong with SWIG. I got the following error on the command line when running the export command after defining the two order values. (ERROR) Traceback (most recent call last): File "/Users/droark/Projects/private-goatpig-BitcoinArmory/osxbuild/workspace/Armory.app/Contents/MacOS/py/usr/lib/armory/qtdialogs.py", line 9504, in accept if self.createFile_CSV(): File "/Users/droark/Projects/private-goatpig-BitcoinArmory/osxbuild/workspace/Armory.app/Contents/MacOS/py/usr/lib/armory/qtdialogs.py", line 9631, in createFile_CSV walletGroup = TheBDM.bdv().getStandAloneWalletGroup(wltIDList, order) File "/Users/droark/Projects/private-goatpig-BitcoinArmory/osxbuild/workspace/Armory.app/Contents/MacOS/py/usr/lib/armory/CppBlockUtils.py", line 2453, in <lambda> __getattr__ = lambda self, name: _swig_getattr(self, BlockDataViewer, name) File "/Users/droark/Projects/private-goatpig-BitcoinArmory/osxbuild/workspace/Armory.app/Contents/MacOS/py/usr/lib/armory/CppBlockUtils.py", line 80, in _swig_getattr raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name)) AttributeError: 'BlockDataViewer' object has no attribute 'getStandAloneWalletGroup' This probably has to do with order_ascending and order_descending, which need to be HistoryOrdering objects. I can't seem to find examples in Git. Will keep looking and submit a PR if I can. EDIT: Okay, I think I found it. The Python code relies on code in BlockDataViewer.h/cpp. However, that code goes into ArmoryDB. SwigClient.h/cpp appears to have its own BlockDataViewer. This is what Python accesses. The Python BDV doesn't have the code required for the Tx exporting. I'll look into that and see if how easy it would be to copy the code over.
|
|
|
|
goatpig (OP)
Moderator
Legendary
Offline
Activity: 3682
Merit: 1347
Armory Developer
|
|
February 19, 2017, 10:37:02 PM |
|
EDIT: Okay, I think I found it. The Python code relies on code in BlockDataViewer.h/cpp. However, that code goes into ArmoryDB. SwigClient.h/cpp appears to have its own BlockDataViewer. This is what Python accesses. The Python BDV doesn't have the code required for the Tx exporting. I'll look into that and see if how easy it would be to copy the code over.
That most likely means this is data that needs to be pulled from the DB. You would have to populate the director with the method, write ser/deser routines and get the client to pull the data.
|
|
|
|
Carlton Banks
Legendary
Offline
Activity: 3430
Merit: 3074
|
|
February 23, 2017, 02:12:26 PM |
|
Both the Create Wallet button and dropdown selection yields this: Traceback (most recent call last): File "ArmoryQt.py", line 3456, in startWalletWizard walletWizard = WalletWizard(self, self) File "/home/user/BitcoinArmory/ui/Wizards.py", line 103, in __init__ self.walletBackupPage = WalletBackupPage(self) File "/home/user/BitcoinArmory/ui/Wizards.py", line 307, in __init__ WalletBackupFrame(wizard, wizard.main, wizard.tr("Backup Wallet"))) File "/home/user/BitcoinArmory/ui/WalletFrames.py", line 807, in __init__ self.featuresLbls[F.ProtGen] = MkFeatLabel(self.tr('Protects All Future Addresses')) File "/home/user/BitcoinArmory/ui/WalletFrames.py", line 806, in <lambda> MkFeatLabel = lambda x: QRichLabel(tr(x), doWrap=False) NameError: global name 'tr' is not defined
...and no Create Wallet dialog
|
Vires in numeris
|
|
|
goatpig (OP)
Moderator
Legendary
Offline
Activity: 3682
Merit: 1347
Armory Developer
|
|
February 23, 2017, 03:20:07 PM |
|
Both the Create Wallet button and dropdown selection yields this: Traceback (most recent call last): File "ArmoryQt.py", line 3456, in startWalletWizard walletWizard = WalletWizard(self, self) File "/home/user/BitcoinArmory/ui/Wizards.py", line 103, in __init__ self.walletBackupPage = WalletBackupPage(self) File "/home/user/BitcoinArmory/ui/Wizards.py", line 307, in __init__ WalletBackupFrame(wizard, wizard.main, wizard.tr("Backup Wallet"))) File "/home/user/BitcoinArmory/ui/WalletFrames.py", line 807, in __init__ self.featuresLbls[F.ProtGen] = MkFeatLabel(self.tr('Protects All Future Addresses')) File "/home/user/BitcoinArmory/ui/WalletFrames.py", line 806, in <lambda> MkFeatLabel = lambda x: QRichLabel(tr(x), doWrap=False) NameError: global name 'tr' is not defined
...and no Create Wallet dialog Will go over these once the autotools branch is ready. On that note, would you mind pulling that branch and trying it out? You need to setup git submodules this way once you check out the branch: git submodule init git submodule update
Then you can build the usual autotools way: sh autogen.sh ./configure make
make dist works, but make install doesn't yet.
|
|
|
|
Carlton Banks
Legendary
Offline
Activity: 3430
Merit: 3074
|
|
February 23, 2017, 03:34:29 PM |
|
Can do. Is autotools not a dependency for gitian, or is that wrong?
|
Vires in numeris
|
|
|
goatpig (OP)
Moderator
Legendary
Offline
Activity: 3682
Merit: 1347
Armory Developer
|
|
February 23, 2017, 03:46:54 PM |
|
Can do. Is autotools not a dependency for gitian, or is that wrong?
It is, and that's end game here. But autotools itself is a messy thing, that got me spending the best part of a week just to get Armory back into the state it was with plain makefiles. So... baby steps =)
|
|
|
|
droark
|
|
February 25, 2017, 10:40:25 PM |
|
Submitted a PR for C++11 detection, which is broken on Macs. There's also some sort of ASM compile issue for Crypto++. Haven't been able to decipher that one yet. Here's an example. Making all in cryptopp /bin/sh ./libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"Cryptopp\" -DPACKAGE_TARNAME=\"cryptopp\" -DPACKAGE_VERSION=\"1\" -DPACKAGE_STRING=\"Cryptopp\ 1\" -DPACKAGE_BUGREPORT=\"weidai@github\" -DPACKAGE_URL=\"\" -DPACKAGE=\"cryptopp\" -DVERSION=\"1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_ARPA_INET_H=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_NETDB_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_STDDEF_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -DHAVE__BOOL=1 -DHAVE_PTRDIFF_T=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_GETHOSTBYNAME=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_MEMMOVE=1 -DHAVE_MEMSET=1 -DHAVE_POW=1 -DHAVE_SELECT=1 -DHAVE_SETLOCALE=1 -DHAVE_SOCKET=1 -I. -fPIC -pipe -O2 -D_FORTIFY_SOURCE=2 -MT sosemanuk.lo -MD -MP -MF .deps/sosemanuk.Tpo -c -o sosemanuk.lo sosemanuk.cpp libtool: compile: g++ -DPACKAGE_NAME=\"Cryptopp\" -DPACKAGE_TARNAME=\"cryptopp\" -DPACKAGE_VERSION=\"1\" "-DPACKAGE_STRING=\"Cryptopp 1\"" -DPACKAGE_BUGREPORT=\"weidai@github\" -DPACKAGE_URL=\"\" -DPACKAGE=\"cryptopp\" -DVERSION=\"1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_ARPA_INET_H=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_NETDB_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_STDDEF_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -DHAVE__BOOL=1 -DHAVE_PTRDIFF_T=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_GETHOSTBYNAME=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_MEMMOVE=1 -DHAVE_MEMSET=1 -DHAVE_POW=1 -DHAVE_SELECT=1 -DHAVE_SETLOCALE=1 -DHAVE_SOCKET=1 -I. -fPIC -pipe -O2 -D_FORTIFY_SOURCE=2 -MT sosemanuk.lo -MD -MP -MF .deps/sosemanuk.Tpo -c sosemanuk.cpp -fno-common -DPIC -o .libs/sosemanuk.o sosemanuk.cpp:356:3: error: unknown token in expression ".intel_syntax noprefix;" ^ <inline asm>:1:40: note: instantiated into assembly here .intel_syntax noprefix;mov QWORD PTR [%rbx+1*8], rdi;mov QWORD PTR [%rbx+2*8], rdx;mov QWORD PTR [%rbx+6*8], rax;mov QWORD PTR [%rbx+5*8], rsi;lea rcx, [4*rcx+rcx];lea rsi, [4*rcx];mov QWORD P... ^ sosemanuk.cpp:356:3: error: unknown token in expression ".intel_syntax noprefix;" ^ <inline asm>:1:70: note: instantiated into assembly here .intel_syntax noprefix;mov QWORD PTR [%rbx+1*8], rdi;mov QWORD PTR [%rbx+2*8], rdx;mov QWORD PTR [%rbx+6*8], rax;mov QWORD PTR [%rbx+5*8], rsi;lea rcx, [4*rcx+rcx];lea rsi, [4*rcx];mov QWORD P... ^ ( Same basic errors over and over )
fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated.
|
|
|
|
Carlton Banks
Legendary
Offline
Activity: 3430
Merit: 3074
|
|
February 26, 2017, 12:23:45 AM |
|
Okay, so the autotools branch is compiling and running fine for me, using latest Whonix (debian 8.7 based)
|
Vires in numeris
|
|
|
|
droark
|
|
February 26, 2017, 02:23:40 AM |
|
Thanks. Submitted another PR. I'm still having a problem. This happens at the end of the build. cp cppForSwig/.libs/libCppBlockUtils.so ./_CppBlockUtils.so cp: cppForSwig/.libs/libCppBlockUtils.so: No such file or directory
|
|
|
|
goatpig (OP)
Moderator
Legendary
Offline
Activity: 3682
Merit: 1347
Armory Developer
|
|
February 26, 2017, 02:30:31 AM |
|
cp cppForSwig/.libs/libCppBlockUtils.so ./_CppBlockUtils.so cp: cppForSwig/.libs/libCppBlockUtils.so: No such file or directory
What folder does libtool build on OSX? Try replacing /cppForSwig/.libs with $(builddir)
|
|
|
|
droark
|
|
February 26, 2017, 04:01:40 AM |
|
What folder does libtool build on OSX? Try replacing /cppForSwig/.libs with $(builddir)
Nevermind. Found the problem and updated the PR. OS X puts out .dylib files instead of .so. Adjusted the Makefile to account for that.
|
|
|
|
droark
|
|
February 27, 2017, 01:58:38 AM |
|
Found two more problems. - There seems to be some sort of repo cloning issue. Every time I've cloned onto my Ubuntu VM, the FCGI subproject never downloads. I got around it by manually downloading the code and copying it over. Still, something's up, and I'm not sure what it is. (OSX is fine.) - The C++ wallet mirroring seemed to pause when it hit an error. (ERROR) ArmoryUtils.py:3217 - Error in pybkgdthread: 'WalletComparisonClass' object has no attribute 'tr' Traceback (most recent call last): File "/home/droark/Projects/PersonalGitRepo/BitcoinArmory/armoryengine/ArmoryUtils.py", line 3215, in run self.output = self.func() File "/home/droark/Projects/PersonalGitRepo/BitcoinArmory/armoryengine/ArmoryUtils.py", line 3152, in funcPartial return thefunc(*args, **kwargs) File "/home/droark/Projects/PersonalGitRepo/BitcoinArmory/ui/WalletMirrorDialog.py", line 91, in walletComputation reportTextProgress(self.tr("Checking imports for wallet %s").arg(wltID)) AttributeError: 'WalletComparisonClass' object has no attribute 'tr'
I'm also seeing some other errors on startup. The first one is repeated once, and the second is repeating multiple times. (ERROR) Traceback (most recent call last): File "ArmoryQt.py", line 4797, in handleCppNotification self.finishLoadBlockchainGUI() File "ArmoryQt.py", line 2437, in finishLoadBlockchainGUI self.createCombinedLedger() File "ArmoryQt.py", line 2510, in createCombinedLedger totalFunds += wlt.getBalance('Total') TypeError: unsupported operand type(s) for +=: 'int' and 'SwigPyObject'
(...)
(ERROR) Traceback (most recent call last): File "/home/droark/Projects/PersonalGitRepo/BitcoinArmory/armorymodels.py", line 81, in data dispStr = coin2str(bal, maxZeros=2) File "/home/droark/Projects/PersonalGitRepo/BitcoinArmory/armoryengine/ArmoryUtils.py", line 1322, in coin2str nBtc = float(nSatoshi) / float(ONE_BTC) TypeError: float() argument must be a string or a number
|
|
|
|
|