ethereum / mix

The Mix Ethereum Dapp Development Tool
http://www.ethereum.org
MIT License
166 stars 256 forks source link

Mix Non-Responsive on Windows 10 (WIN10) #244

Closed bobsummerwill closed 8 years ago

bobsummerwill commented 8 years ago

Moved from https://github.com/ethereum/webthree-umbrella/issues/230 Filed by @taoteh1221.

On Windows 10 I have fully synced the blockchain with AlethZero, and then fired up Mix. Mix is either unresponsive from the start (freezes the second it loads), or as soon as I go to resize the editing window it freezes. Have let it sit for a few minutes, and it still remains frozen. Here is the terminal screen contents minus the RPC requests:

qrc:///QtQuick/Controls/Private/ScrollBar.qml:98:46: Unable to assign [undefined] to bool qrc:/QtQuick/Controls/TextArea.qml:728:24: Unable to assign [undefined] to QColor qrc:///QtQuick/Controls/Styles/Base/TextFieldStyle.qml:75: TypeError: Cannot read property 'contentHeight' of null qrc:///QtQuick/Controls/Styles/Base/TextFieldStyle.qml:75: TypeError: Cannot read property 'contentHeight' of null qrc:///QtQuick/Controls/Styles/Base/TextFieldStyle.qml:72:42: Unable to assign TextArea_QMLTYPE_168 to TextField_QMLTYPE_55 qrc:///QtQuick/Controls/Private/ScrollBar.qml:95: TypeError: Cannot read property of null qrc:///QtQuick/Controls/Private/ScrollBar.qml:95: TypeError: Cannot read property of null i 19:16:50.193|main Killing blockchain & extras database (WithExisting::Kill). i 19:16:50.233|main Killing state database (WithExisting::Kill). qml: poi

winsvega commented 8 years ago

I guess its wrong QT version. Try building mix from source with qt 5.5.1 works for me

LianaHus commented 8 years ago

duplicates: https://github.com/ethereum/mix/issues/222

taoteh1221 commented 8 years ago

No clue how to build it with no .pro file already in there, will probably wait until they patch it.

yann300 commented 8 years ago

Freezes on start

`Qt: Untested Windows version 10.0 detected!

WARNING: This project is using the experimental QML API extensions for QtWebEngine and is therefore tied to a specific QtWebEngine release. WARNING: The experimental API will change from version to version, or even be removed. You have been warned!

QtWebEngineProcess not found at location C:/Program Files/Ethereum/bin\QtWebEngineProcess.exe. Trying fallback path... Layout must be attached to Item elements Layout must be attached to Item elements qml: [{"id":0,"jsonrpc":"2.0","method":"eth_accounts","params":[]}] qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_client_method qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_client_method qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_server_method qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_server_method qt.network.ssl: QSslSocket: cannot resolve SSL_select_next_proto qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_set_next_proto_select_cb qt.network.ssl: QSslSocket: cannot resolve SSL_get0_next_proto_negotiated qml: [{"id":1,"jsonrpc":"2.0","method":"eth_gasPrice","params":[]}] : QML QQuickLayoutAttached: Binding loop detected for property "preferredWidth" : QML QQuickLayoutAttached: Binding loop detected for property "preferredWidth" : QML QQuickLayoutAttached: Binding loop detected for property "preferredWidth" : QML QQuickLayoutAttached: Binding loop detected for property "preferredWidth" : QML QQuickLayoutAttached: Binding loop detected for property "preferredWidth" : QML QQuickLayoutAttached: Binding loop detected for property "preferredWidth" : QML QQuickLayoutAttached: Binding loop detected for property "preferredWidth" qrc:/QtQuick/Controls/ScrollView.qml:232:9: QML Binding: Binding loop detected for property "value" qrc:/QtQuick/Controls/ScrollView.qml:225:9: QML Binding: Binding loop detected for property "value" : QML QQuickLayoutAttached: Binding loop detected for property "preferredWidth" : QML QQuickLayoutAttached: Binding loop detected for property "preferredWidth" : QML QQuickLayoutAttached: Binding loop detected for property "preferredWidth" i 00:13:04.782|main Killing blockchain & extras database (WithExisting::Kill). i 00:13:04.798|main Killing state database (WithExisting::Kill). qml: [{"id":1,"jsonrpc":"2.0","method":"eth_gasPrice","params":[]}] qml: [{"id":0,"jsonrpc":"2.0","method":"eth_accounts","params":[]}] qml: [{"id":1,"jsonrpc":"2.0","method":"eth_gasPrice","params":[]}] i 00:13:04.838|main Killing blockchain & extras database (WithExisting::Kill). i 00:13:04.851|main Killing state database (WithExisting::Kill). i 00:13:04.885|main Killing blockchain & extras database (WithExisting::Kill). i 00:13:04.900|main Killing state database (WithExisting::Kill). qml: Closing project qml: Loading project at file://C:/Users/Felipe/prueba qrc:///QtQuick/Controls/Private/ScrollBar.qml:98:46: Unable to assign [undefined] to bool qrc:///QtQuick/Controls/Private/ScrollBar.qml:98:46: Unable to assign [undefined] to bool qrc:/QtQuick/Controls/TextArea.qml:728:24: Unable to assign [undefined] to QColor qrc:///QtQuick/Controls/Styles/Base/TextFieldStyle.qml:75: TypeError: Cannot read property 'contentHeight' of null qrc:///QtQuick/Controls/Styles/Base/TextFieldStyle.qml:75: TypeError: Cannot read property 'contentHeight' of null qrc:///QtQuick/Controls/Styles/Base/TextFieldStyle.qml:72:42: Unable to assign TextArea_QMLTYPE_66 to TextField_QMLTYPE_53 qrc:///QtQuick/Controls/Private/ScrollBar.qml:95: TypeError: Cannot read property of null qrc:///QtQuick/Controls/Private/ScrollBar.qml:95: TypeError: Cannot read property of null i 00:13:05.017|main Killing blockchain & extras database (WithExisting::Kill). i 00:13:05.032|main Killing state database (WithExisting::Kill). Waiting for current execution to complete i 00:13:06.269| Decreasing DB node ref count below zero with no DB node. Probably have a corrupt Trie. #84acdce9 i 00:13:06.283| Decreasing DB node ref count below zero with no DB node. Probably have a corrupt Trie. #a71b164e`

DavidBurela commented 8 years ago

any update on this bug? Been wanting to start using Mix, but can't get it to work on my machines.

taoteh1221 commented 8 years ago

Yeh, Mix is still DOA on Windows. Can't develop anything unless I boot into Ubuntu.

bobsummerwill commented 8 years ago

Hey @taoteh1221,

Qt 5.6 was released on Mar 6th, with official support for Windows 10.

If you are happy to roll up your sleeves a bit you could you try building Mix against Qt 5.6 and report back on how that goes?

Yann is in the process of updating our Windows build to Qt 5.5 (currently stuck back on Qt 5.4.1 unlike our OS X and Linux builds), which might be enough in itself, but if you are itchy you could try to jump it straight to 5.6? Best wishes!

taoteh1221 commented 8 years ago

@bobsummerwill I would, but I'm only accustomed to building in Qt with a .pro file included? Never built without it. Any documentation you can quickly point me in the right direction with to give this a try?

bobsummerwill commented 8 years ago

Sure ... so if you look at what getstuff.bat does, it just downloads and unzips files into a folder under webthree-helpers.

I think for that for Qt that is literally just a copy of the installed content, so if you install Qt 5.6 and then copy that on top of the same directory, it might "just work". @yann300 could explain if there is more to it!

Thanks!

taoteh1221 commented 8 years ago

Cool, thank you. I'll give it a try.

bobsummerwill commented 8 years ago

Good luck! :-)

taoteh1221 commented 8 years ago

Looks like that batch file is using QT v5.4.1 judging from my terminal output as it is compiling (used webthree helpers develop branch), and viewing the downloads directory where it caches it's pre-compile prerequisite libraries etc. I imagine you'd prefer me to edit this batch file to use QT V5.6.x and compile again? It just finished building, checking it out now.

taoteh1221 commented 8 years ago

Getting a build error, not sure where to go from here:

CMake Error at CMakeLists.txt:8 (include): include could not find load file:

EthPolicy

CMake Error at CMakeLists.txt:9 (eth_policy): Unknown CMake command "eth_policy".

-- Configuring incomplete, errors occurred!

taoteh1221 commented 8 years ago

Nevermind, think I had the wrong directory structure...trying again.

taoteh1221 commented 8 years ago

Same error as I mentioned earlier above, with "webthree-helpers" as a subdirectory in the root directory of the Mix source. looks like the file it's looking for is in webthree-helpers/cmake/, but it cannot resolve the location following this guide: http://www.ethdocs.org/en/latest/ethereum-clients/cpp-ethereum/building-from-source/windows.html

bobsummerwill commented 8 years ago

The "EthPolicy" break is nearly always because somebody has git clone'd the repo, but without the --recurse option, so all the sub-modules under webthree-umbrella are missing. Does that sound possible, @taoteh1221?

taoteh1221 commented 8 years ago

@bobsummerwill See attached file list of my data structure, and search "webthree-helpers\cmake\" (backslashes, as this is in Windows). I downloaded the webthree-helpers and mix repos via their zip file on the github web page associated with each repo, so I should not be missing any of the data structure. Mix.build.filelist.txt

bobsummerwill commented 8 years ago

Did you start at http://www.ethdocs.org/en/latest/ethereum-clients/cpp-ethereum/building-from-source/index.html?

The very start of the process is to "git clone" the whole umbrella into a working source directory.

taoteh1221 commented 8 years ago

That must be the issue, thank you. I was only going off this Windows subsection, and did not realize there was that first step: http://www.ethdocs.org/en/latest/ethereum-clients/cpp-ethereum/building-from-source/windows.html

bobsummerwill commented 8 years ago

Yeah - that is my bad, and I should-and-will improve that :-) Thanks for running into that trap!

taoteh1221 commented 8 years ago

Ok, glad I helped improve the homestead docs more, although be it unintentionally. :smile: I'll report back after a go at it this way...will try with the provided QT v5.4.1 first, then get brave and substitute with v5.6.x.

bobsummerwill commented 8 years ago

DONE! http://www.ethdocs.org/en/latest/ethereum-clients/cpp-ethereum/building-from-source/windows.html.

So yeah - give it a go with a "vanilla" build, and then get brave. Good luck!

taoteh1221 commented 8 years ago

@bobsummerwill Nice! :smile: Got my time eaten up today by my web2 clients, but I have this in my scheduler to crank out. Will definitely report back asap.

taoteh1221 commented 8 years ago

@bobsummerwill I finally made time (moved all my clients to tuesday) to try and build mix in windows like I said I would. Recursively cloned https://github.com/ethereum/webthree-umbrella.git and ran webthree-helpers\extdep\getstuff.bat as admin on command prompt, but get errors still. Mix.build.issue.txt

FYI, I'm only an interpreted language programmer, so no experience at all compiling beyond LAMP stack binaries...don't mean to waste your time if this is a newbie error here...I'm sure you have better things to do, and I can just move on if this is a newbie issue vs a real one. :smile:

bobsummerwill commented 8 years ago

See https://gitter.im/ethereum/mix?at=57570ee9662b042b7e594571

taoteh1221 commented 8 years ago

@bobsummerwill Looks like a good direction, abandoning Mix for an alternative. Good luck cleaning it all up Bob, a shame that Windows developers are being overlooked / underestimated a bit here (I think). I can say as a web2 dev my 2cents on Windows support: it's a bigger web2 dev platform that many NON interpreted programming devs may understand. You don't need compile tools at all for most web2 dev work, so a ton of web2 dev is and can easily be on Windows. I have spent 18 years on Windows doing websites. The jump to solidity is pretty easy, so I think web2 devs are a good target audience. Enough said, don't want to sound like I'm preaching. :-) Thanks for your response.

bobsummerwill commented 8 years ago

Yes, @taoteh1221 is a really important platform. Over 50% of nodes are on Windows (http://ethernodes.org/network/1).

The issue isn't really even specific to Windows so much as a lack of resourcing generally on Mix. There are numerous reports of crash-bugs with Mix on OS X too (though maybe they are all the Heisenbug). We also have Qt updates to work though specifically for Windows 10, where official support only came in Qt 5.6.

If you have a need for Mix on Windows in the short-term and could build-and-boot and see what you can see, it would be much appreciated :-)

taoteh1221 commented 8 years ago

@bobsummerwill Will post back if I can get a Mix build with Qt 5.6, but I'm not much for compiler experience. Had issues last time I tried building Mix even with the bundled Qt version. I'll give it a shot, just don't hold your breath, lol. :-)

bobsummerwill commented 8 years ago

We do have Visual Studio 2015 support now, and we have built Qt 5.6 binaries for that already, so it should "just work". Ahem. CC @chfast.

Instructions at http://www.ethdocs.org/en/latest/ethereum-clients/cpp-ethereum/building-from-source/windows.html. Really pretty easy now.

So if some of the instability on Windows 10 was due to Qt immaturity on that platform, it might be happier now than it would have been a couple of weeks ago prior to the VS2015 + Qt 5.6 updates.

VS2013 build is still using Qt 5.4.

taoteh1221 commented 8 years ago

Cool, thanks for the info. Hopefully I have better luck this time using VS.

yann300 commented 8 years ago

Really sorry but mix has been discontinued. We are now focusing on remix ( https://github.com/ethereum/remix ) which will i hope soon provide the same level of functionality as mix. Remix is in the early stage (alpha version). it only provides VM debugging for now. Remix has already been integrated with browser solidity ( https://ethereum.github.io/browser-solidity/#version=soljson-latest.js ). You can use it right now. But as remix is still alpha, i would not recommend to use it as a production tool. please wait for further announcements. Thanks and i hope you will enjoy playing with remix! Feel free to join the gitter channel https://gitter.im/ethereum/remix and share your thoughts with us.