-
Notifications
You must be signed in to change notification settings - Fork 37.7k
qt: Log Qt related info #17826
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
qt: Log Qt related info #17826
Conversation
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
Concept ACK, but yes,
yes, or |
6981076
to
5ea7c91
Compare
@emilengler @laanwj The OP and the title have been updated. |
Wouldn't it be better to add this information to EDIT: hmm, maybe not as it's not just Qt version information but also X stuff. |
|
I think help2man would have issues with it and it would be weird on the GNU userland if it would contain information that is not the version and license stuff. |
|
@hebasto You're right, the environment information does not belong in -version. |
Concept ACK |
I personally prefer Thinking of it, this is for troubleshooting right? Let's just always log this in a message to the debug log instead of adding another step? |
Concept ACK |
5ea7c91
to
0df287f
Compare
Yes, it is.
Done in the latest push. The OP has been updated. |
@@ -879,4 +884,22 @@ int TextWidth(const QFontMetrics& fm, const QString& text) | |||
#endif | |||
} | |||
|
|||
void LogQtInfo() | |||
{ | |||
#ifdef QT_STATIC |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit, do
#if defined(QT_STATIC) || defined(QT_STATICPLUGIN)
and remove the two conditions below
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
qt_link and plugin_link are orthogonal.
#else | ||
const std::string qt_link{"dynamic"}; | ||
#endif | ||
#ifdef QT_STATICPLUGIN |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
^^
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code review ACK 0df287f. I also prefer laanwj suggestion.
@@ -879,4 +884,22 @@ int TextWidth(const QFontMetrics& fm, const QString& text) | |||
#endif | |||
} | |||
|
|||
void LogQtInfo() | |||
{ | |||
#ifdef QT_STATIC |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
qt_link and plugin_link are orthogonal.
FWIW it doesn't seem like it detects multiple screens that form one display area.
xrandr output:
|
0df287f
to
092d146
Compare
Now it detects all the screens associated with the windowing system the application is connected to. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 092d146, now outputs all screens details.
src/qt/guiutil.cpp
Outdated
LogPrintf("Qt %s (%s), plugin=%s (%s)\n", qVersion(), qt_link, QGuiApplication::platformName().toStdString(), plugin_link); | ||
LogPrintf("System: %s, %s\n", QSysInfo::prettyProductName().toStdString(), QSysInfo::buildAbi().toStdString()); | ||
const QList<QScreen*> screens = QGuiApplication::screens(); | ||
for (int i = 0; i < screens.size(); ++i) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for (const QScreen* s : QGuiApplication::screens())
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@promag
Are these concerns relevant https://stackoverflow.com/questions/35811053/using-c11-range-based-for-loop-correctly-in-qt ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's fine here, these are pointers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Implemented in the latest push.
092d146
to
a004673
Compare
Thanks, works now!
ACK a004673 |
a004673 qt: Add LogQtInfo() function (Hennadii Stepanov) Pull request description: This PR adds some info to `debug.log` I found useful for testing (e.g., on Wayland) and debugging issues like #17153: ``` $ ./src/qt/bitcoin-qt -printtoconsole | head -n 6 2020-01-04T14:57:40Z [main] Bitcoin Core version v0.19.99.0-0df287f4e (release build) 2020-01-04T14:57:40Z [main] InitParameterInteraction: parameter interaction: -externalip set -> setting -discover=0 2020-01-04T14:57:40Z [main] Qt 5.9.5 (dynamic), plugin=xcb (dynamic) 2020-01-04T14:57:40Z [main] System: Linux Mint 19.3, x86_64-little_endian-lp64 2020-01-04T14:57:40Z [main] Screen: HDMI-1 1600x1200, pixel ratio=1.0 2020-01-04T14:57:40Z [main] Assuming ancestors of block 00000000000000b7ab6ce61eb6d571003fbe5fe892da4c9b740c49a07542462d have valid signatures. ``` ACKs for top commit: laanwj: ACK a004673 Tree-SHA512: 496bcfd4870a2730eab92b96b3e74989a7904b21369c372b6d4368f4ca2c141e2fdc1348a1fdd18cb68bb144dcea01d3023bb782f9d030e330c187f6a5a1a082
Summary: Add information to debug log about Qt, the OS, the screens. This is a backport of Core [[bitcoin/bitcoin#17826 | PR17826]] Test Plan: ``` $ ninja && src/qt/bitcoin-qt -regtest -printtoconsole | head -n6 [219/219] Linking CXX executable src/qt/bitcoin-qt 2020-11-13T15:28:52Z Bitcoin ABC version v0.22.7-3ba582bc3 (release build) 2020-11-13T15:28:52Z Qt 5.12.8 (dynamic), plugin=xcb (dynamic) 2020-11-13T15:28:52Z System: Ubuntu 20.04.1 LTS, x86_64-little_endian-lp64 2020-11-13T15:28:52Z Screen: DVI-I-1 1920x1080, pixel ratio=1.0 2020-11-13T15:28:52Z Screen: DVI-D-1 1920x1080, pixel ratio=1.0 2020-11-13T15:28:53Z Checkpoints will be verified. ``` Reviewers: #bitcoin_abc, deadalnix Reviewed By: #bitcoin_abc, deadalnix Differential Revision: https://reviews.bitcoinabc.org/D8393
957895c util: Log static plugins meta data and style (Hennadii Stepanov) Pull request description: This PR is a follow-up of bitcoin/bitcoin#17826, and adds additional info about the imported static plugins and the used style to the `debug.log` I found useful for testing (e.g., with `QT_QPA_PLATFORM`, `QT_QPA_PLATFORMTHEME`, `QT_STYLE_OVERRIDE` variables) and debugging issues (e.g., bitcoin/bitcoin#19716 (comment)). The excerpt from the log: ``` 2020-11-15T18:41:45Z [main] Bitcoin Core version v0.20.99.0-f0b933f78 (release build) 2020-11-15T18:41:45Z [main] Qt 5.9.8 (static), plugin=xcb (static) 2020-11-15T18:41:45Z [main] Static plugins: 2020-11-15T18:41:45Z [main] QXcbIntegrationPlugin, version 329992 2020-11-15T18:41:45Z [main] Style: fusion / QFusionStyle ... ``` ACKs for top commit: jarolrod: ACK 957895c, Tested on macOS 11.1 jonasschnelli: utACK 957895c Tree-SHA512: 0e46db7560f380fbda8ce5e53faa5d419a456e90ca595ce46be8e3030c99d3a113586edad1988a97e9bf0279e944f975968ed1156817bc16723ed31c64850239
…d style 957895c util: Log static plugins meta data and style (Hennadii Stepanov) Pull request description: This PR is a follow-up of bitcoin#17826, and adds additional info about the imported static plugins and the used style to the `debug.log` I found useful for testing (e.g., with `QT_QPA_PLATFORM`, `QT_QPA_PLATFORMTHEME`, `QT_STYLE_OVERRIDE` variables) and debugging issues (e.g., bitcoin#19716 (comment)). The excerpt from the log: ``` 2020-11-15T18:41:45Z [main] Bitcoin Core version v0.20.99.0-f0b933f78 (release build) 2020-11-15T18:41:45Z [main] Qt 5.9.8 (static), plugin=xcb (static) 2020-11-15T18:41:45Z [main] Static plugins: 2020-11-15T18:41:45Z [main] QXcbIntegrationPlugin, version 329992 2020-11-15T18:41:45Z [main] Style: fusion / QFusionStyle ... ``` ACKs for top commit: jarolrod: ACK 957895c, Tested on macOS 11.1 jonasschnelli: utACK 957895c Tree-SHA512: 0e46db7560f380fbda8ce5e53faa5d419a456e90ca595ce46be8e3030c99d3a113586edad1988a97e9bf0279e944f975968ed1156817bc16723ed31c64850239
This PR adds some info to
debug.log
I found useful for testing (e.g., on Wayland) and debugging issues like #17153: