bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#42321: qgis PyQgsExpressionBuilderWidget test fails


From: Wiktor Żelazny
Subject: bug#42321: qgis PyQgsExpressionBuilderWidget test fails
Date: Sat, 11 Jul 2020 16:36:34 +0200

Hi list,

For some time, I’ve been getting the stuff below while trying to build
qgis. Once the test is added to the list of omitted tests (there’s
already a substantial list of tests that fail for unknown reasons in the
package definition), the qgis build completes and the result is usable.

To reproduce (assuming no build with up-to-date inputs in the store):

   guix build qgis

WŻ

        Start 289: PyQgsExpressionBuilderWidget
289/437 Test #289: PyQgsExpressionBuilderWidget ...............***Failed    
4.40 sec
export LD_LIBRARY_PATH=/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib:
export 
PYTHONPATH=/tmp/guix-build-qgis-3.12.1.drv-0/build/output/python/:/tmp/guix-build-qgis-3.12.1.drv-0/build/output/python/plugins:/tmp/guix-build-qgis-3.1
2.1.drv-0/qgis-3.12.1/tests/src/python:/gnu/store/dpjv4lxbv8rbd4ilpbpm7w8bz60n4bqq-python-mock-3.0.5/lib/python3.8/site-packages:/gnu/store/9v8dz2w7a3x8mms80x8
5g8lqa1bb3x56-python-nose2-0.9.2/lib/python3.8/site-packages:/gnu/store/q9rm8h9imazsq2c4qiv2yjpvlvliywqb-python-3.8.2/lib/python3.8/site-packages:/gnu/store/8a
mvcqk72ljf020dvx2dc0xwl76l6c44-python-chardet-3.0.4/lib/python3.8/site-packages:/gnu/store/kcq0mdc8kfnwl64yawhmix5j5pfwbxds-python-dateutil-2.8.1/lib/python3.8
/site-packages:/gnu/store/r1vaiia7w4c1jrvfsa3l8mhvlxnk977m-python-gdal-3.0.4/lib/python3.8/site-packages:/gnu/store/y8n0nyzdm3mykvmj9j1v2xkmpj3nk5y4-python-jin
ja2-2.11.2/lib/python3.8/site-packages:/gnu/store/603imkkh2bqs01z8ik0b2ndgpdz0jghk-python-numpy-1.17.3/lib/python3.8/site-packages:/gnu/store/5472c0z4f7g46jn16
z68hp5yrjxab4n4-python-owslib-0.19.2/lib/python3.8/site-packages:/gnu/store/nh2mgkkk227z73f114fi33r1j4h155m7-python-psycopg2-2.8.4/lib/python3.8/site-packages:
/gnu/store/z2dvqcjq3r1wb1xmx7yfny07dhn2fi31-python-pygments-2.5.2/lib/python3.8/site-packages:/gnu/store/cyhc8b429ykfqf17b9bxcz1sg9az5qd1-python-pyqt+qscintill
a-5.14.2/lib/python3.8/site-packages:/gnu/store/fcdg9x9z72qr0prdjzlrps40qawfql36-python-pytz-2019.1/lib/python3.8/site-packages:/gnu/store/8b0ipd64fk8miyc9qxbi
ymx7qjv0fw9v-python-pyyaml-5.3.1/lib/python3.8/site-packages:/gnu/store/6cqpv8ngbdprjl8r0z157ck4kqh3y0g9-python-requests-2.23.0/lib/python3.8/site-packages:/gn
u/store/2yjqxf1d6p2isbv4lnnrk21qda670pb0-python-sip-4.19.22/lib/python3.8/site-packages:/gnu/store/b0svsfz2vw2qwlfsi56k8fwbx4fzcfhk-python-six-1.14.0/lib/pytho
n3.8/site-packages:/gnu/store/pmf12r108f9833r022188kazppjxplgm-python-urllib3-1.25.9/lib/python3.8/site-packages:/gnu/store/zkhal2j2sigvs4y8n72fh12rfqplklrk-sa
ga-7.6.2/lib/python3.8/site-packages:/gnu/store/jambbwx92axfs36k8j5q0l7pjqnj1pl3-python-pytest-cov-2.8.1/lib/python3.8/site-packages:/gnu/store/3as375pz3qs24gx
rgw0xl5d6gawnr3jf-python-cov-core-1.15.0/lib/python3.8/site-packages:/gnu/store/6j9sdsxxzk0g8xa6p8pksxa3dm9kh53g-python-markupsafe-1.1.1/lib/python3.8/site-pac
kages:/gnu/store/b74wyv7vc1jn5h89zj9zmb1sr2hg2vkc-python-idna-2.9/lib/python3.8/site-packages:/gnu/store/q8ys0mynhsnirbsazkcj0fn1jnj27k7s-python-certifi-2020.4
.5.1/lib/python3.8/site-packages:/gnu/store/nlp8wwy1mg7283qsk96yklfc8n1g2m0p-python-pysocks-1.7.0/lib/python3.8/site-packages:/gnu/store/a42bwjqpfbfzl9rm50vd8m
vb5vrv6d3z-python-pyopenssl-19.1.0/lib/python3.8/site-packages:/gnu/store/qg48jdzzi15xpm3j64ajx259arqlx98n-python-ipaddress-1.0.22/lib/python3.8/site-packages:
/gnu/store/y9mpz76bshjg3wv6sbd5vr613c5qy0mw-python-cryptography-2.9.2/lib/python3.8/site-packages:/gnu/store/3bk454z353a42l1l4yaxa6lrl3dh24mv-python-pytest-5.3
.5/lib/python3.8/site-packages:/gnu/store/9fcmz457dvb4qj6jwmr9ydcdindxhvsl-python-coverage-5.0.3/lib/python3.8/site-packages:/gnu/store/r6ngr1smwah383rdjb3240p
4p04ydicp-python-iso8601-0.1.12/lib/python3.8/site-packages:/gnu/store/2lagn19nyzrhim0zn1c39i90qa60zcja-python-cffi-1.14.0/lib/python3.8/site-packages:/gnu/sto
re/yyk38xg7qk8xyrx74wh9d3mciqy079ik-python-asn1crypto-0.24.0/lib/python3.8/site-packages:/gnu/store/mnk5rp12lrnm30471idpdfia8riv0m01-python-wcwidth-0.1.8/lib/p
ython3.8/site-packages:/gnu/store/jk078364fi37sm2yyrmnla1d6d4bjwb5-python-six-bootstrap-1.14.0/lib/python3.8/site-packages:/gnu/store/hh397yagghj2nrpwv9cdc6cgq
wbrk4yx-python-py-1.8.1/lib/python3.8/site-packages:/gnu/store/p0wphmjxi2mn1i72m1bq2mbfbq5d706h-python-pluggy-0.13.1/lib/python3.8/site-packages:/gnu/store/gfi
nivfp1knczz2lg1d0q5p6jasslal8-python-packaging-bootstrap-20.0/lib/python3.8/site-packages:/gnu/store/avamm2w7dw3hinrixx09h6dvw8m3mili-python-more-itertools-8.2
.0/lib/python3.8/site-packages:/gnu/store/l72vqwgkc23pvvp00pzmkjqraa9g78wl-python-attrs-bootstrap-19.3.0/lib/python3.8/site-packages:/gnu/store/09c14l4iag378c7
06ygyj8apan1xwq83-python-atomicwrites-1.3.0/lib/python3.8/site-packages:/gnu/store/nqssc5g3s2gw9h8kfv93ykf8g2wf780h-python-pycparser-2.20/lib/python3.8/site-pa
ckages:/gnu/store/y4n225qk6limj4yxplscppwqcaan49hw-python-pyparsing-2.4.6/lib/python3.8/site-packages
-- Running  
/gnu/store/q9rm8h9imazsq2c4qiv2yjpvlvliywqb-python-3.8.2/bin/python3 
/tmp/guix-build-qgis-3.12.1.drv-0/qgis-3.12.1/tests/src/python/test_qgsexpress
ionbuilderwidget.py 
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to 
'/tmp/guix-build-qgis-3.12.1.drv-0/runtime-nixbld'
src/core/qgsapplication.cpp:160 : (QgsApplication) [0ms] loading of qgis 
translation failed /tmp/guix-build-qgis-3.12.1.drv-0/build/output/i18n//qgis_
src/core/qgsapplication.cpp:175 : (QgsApplication) [0ms] loading of qt 
translation failed 
/gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/share/qt5/translations/qt_
src/core/qgsproviderregistry.cpp:133 : (init) [1981ms] Checking 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins for provider 
plugins
src/core/qgsproviderregistry.cpp:193 : (init) [17ms] Checking 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/libbasicauthmethod.so:
 ...invalid (no providerMetadataFactory method)
src/core/qgsproviderregistry.cpp:193 : (init) [3ms] Checking 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/libcoordinatecaptureplugin.so:
 ...invalid (no providerMetadataFactory method)
src/core/qgsproviderregistry.cpp:193 : (init) [19ms] Checking 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/libesritokenauthmethod.so:
 ...invalid (no providerMetadataFactory method)
src/core/qgsproviderregistry.cpp:193 : (init) [1ms] Checking 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/libevis.so: 
...invalid (no providerMetadataFactory method)
src/core/qgsproviderregistry.cpp:193 : (init) [4ms] Checking 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/libgeometrycheckerplugin.so:
 ...invalid (no providerMetadataFactory method)
src/core/qgsproviderregistry.cpp:193 : (init) [4ms] Checking 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/libgeorefplugin.so:
 ...invalid (no providerMetadataFactory method)
src/core/qgsproviderregistry.cpp:193 : (init) [3ms] Checking 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/libgpsimporterplugin.so:
 ...invalid (no providerMetadataFactory method)
src/core/qgsproviderregistry.cpp:193 : (init) [13ms] Checking 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/libgrassplugin7.so:
 ...invalid (no providerMetadataFactory method)
src/core/qgsproviderregistry.cpp:193 : (init) [6ms] Checking 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/libidentcertauthmethod.so:
 ...invalid (no providerMetadataFactory method)
src/core/qgsproviderregistry.cpp:193 : (init) [7ms] Checking 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/liboauth2authmethod.so:
 ...invalid (no providerMetadataFactory method)
src/core/qgsproviderregistry.cpp:193 : (init) [1ms] Checking 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/libofflineeditingplugin.so:
 ...invalid (no providerMetadataFactory method)
src/core/qgsproviderregistry.cpp:193 : (init) [4ms] Checking 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/libpkcs12authmethod.so:
 ...invalid (no providerMetadataFactory method)
src/core/qgsproviderregistry.cpp:193 : (init) [1ms] Checking 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/libpkipathsauthmethod.so:
 ...invalid (no providerMetadataFactory method)
src/core/qgsproviderregistry.cpp:193 : (init) [7ms] Checking 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/libtopolplugin.so:
 ...invalid (no providerMetadataFactory method)
src/core/qgsproviderregistry.cpp:215 : (init) [7ms] Loaded 23 providers 
(DB2;OAPIF;WFS;arcgisfeatureserver;arcgismapserver;delimitedtext;gdal;geonode;gpx;grass;grassraster;mdal;memory;mesh_memory;mssql;ogr;ows;postgres;postgresraster;spatialite;virtual;wcs;wms)
 
src/core/qgsapplication.cpp:1685 : (applyGdalSkippedDrivers) [0ms] Gdal Skipped 
driver list set to:
src/core/qgsapplication.cpp:1686 : (applyGdalSkippedDrivers) [0ms] 
src/providers/grass/qgsgrass.cpp:517 : (lock) [2ms] lock
src/providers/grass/qgsgrass.cpp:316 : (init) [0ms] do init
src/providers/grass/qgsgrass.cpp:2659 : (defaultGisbase) [0ms] gisbase from 
envar = 
src/providers/grass/qgsgrass.cpp:2685 : (defaultGisbase) [0ms] gisbase = 
/usr/lib/grass
src/providers/grass/qgsgrass.cpp:482 : (isValidGrassBaseDir) [0ms] 
isValidGrassBaseDir()
src/providers/grass/qgsgrass.cpp:2659 : (defaultGisbase) [0ms] gisbase from 
envar = 
src/providers/grass/qgsgrass.cpp:2685 : (defaultGisbase) [0ms] gisbase = 
/usr/lib/grass
src/providers/grass/qgsgrass.cpp:371 : (init) [0ms] GRASS was not found in 
'/usr/lib/grass' (GISBASE), provider and plugin will not work.
src/providers/grass/qgsgrass.cpp:523 : (unlock) [0ms] unlock
src/providers/grass/qgsgrassprovidermodule.cpp:1312 : (initProvider) [0ms] init 
failed
src/core/providers/ogr/qgsogrprovider.cpp:3287 : (createFilters) [0ms] Unknown 
driver OGR_SDTS for file filters.
src/core/providers/ogr/qgsogrprovider.cpp:3287 : (createFilters) [0ms] Unknown 
driver Memory for file filters.
src/core/providers/ogr/qgsogrprovider.cpp:3287 : (createFilters) [1ms] Unknown 
driver GPSBabel for file filters.
src/core/providers/ogr/qgsogrprovider.cpp:3287 : (createFilters) [0ms] Unknown 
driver OGR_PDS for file filters.
src/core/providers/ogr/qgsogrprovider.cpp:3287 : (createFilters) [0ms] Unknown 
driver AeronavFAA for file filters.
src/core/providers/ogr/qgsogrprovider.cpp:3287 : (createFilters) [0ms] Unknown 
driver Selafin for file filters.
src/core/auth/qgsauthmanager.cpp:175 : (init) [0ms] Initializing QCA...
src/core/auth/qgsauthmanager.cpp:178 : (init) [0ms] QCA initialized.
src/core/auth/qgsauthmanager.cpp:181 : (init) [3ms] QCA Plugin Diagnostics 
Context: Checking Qt static plugins:
  (none)
Checking Qt Library Path: 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins
  (No 'crypto' subdirectory)
Checking Qt Library Path: 
/gnu/store/raim0dpfv57ihj3k346xmsgwi3qqpagx-qttools-5.14.2/lib/qt5/plugins
  (No 'crypto' subdirectory)
Checking Qt Library Path: 
/gnu/store/59dq1n4wj3maa3kcar6hspj2zd82as7q-qtbase-5.14.2/lib/qt5/plugins
  (No 'crypto' subdirectory)
Checking Qt Library Path: 
/gnu/store/445rkl6z3sb90bra7cjfrch0xhlaiyx5-qtdeclarative-5.14.2/lib/qt5/plugins
  (No 'crypto' subdirectory)
Checking Qt Library Path: 
/gnu/store/2fmj5rzpam3795i8cb87qq4xci4vzni6-qtlocation-5.14.2/lib/qt5/plugins
  (No 'crypto' subdirectory)
Checking Qt Library Path: 
/gnu/store/7f809f0bhirn1vad1rr3srxk2c7qqang-qtsvg-5.14.2/lib/qt5/plugins
  (No 'crypto' subdirectory)
Checking Qt Library Path: 
/gnu/store/5006xc9gk4k2d9jqf7j2pp0b65mvnkhg-qwt-6.1.5/lib/qt5/plugins
  (No 'crypto' subdirectory)
Checking Qt Library Path: 
/gnu/store/q9rm8h9imazsq2c4qiv2yjpvlvliywqb-python-3.8.2/bin
  (No 'crypto' subdirectory)
Checking Qt Library Path: 
/gnu/store/d4sncjak3sl72x9fqcjqmf7s4jsxfryp-qca-2.3.0/lib/qca-qt5
  libqca-gnupg.so: (class: gnupgPlugin) loaded as qca-gnupg
  libqca-logger.so: (class: loggerPlugin) loaded as qca-logger
  libqca-ossl.so: (class: opensslPlugin) loaded as qca-ossl
  libqca-softstore.so: (class: softstorePlugin) loaded as qca-softstore

src/core/auth/qgsauthmanager.cpp:185 : (init) [0ms] QCA supports: 
random,md5,sha1,keystorelist,pgpkey,openpgp,log,ripemd160,md4,sha224,sha256,sha384,sha512,whirlpool,hmac(md5),hmac(sha1),hmac(sha224),hmac(sha256),hmac(sha384),hmac(sha512),hmac(ripemd160),aes128-ecb,aes128-cfb,aes128-cbc,aes128-cbc-pkcs7,aes128-ofb,aes128-ctr,aes128-gcm,aes128-ccm,aes192-ecb,aes192-cfb,aes192-cbc,aes192-cbc-pkcs7,aes192-ofb,aes192-ctr,aes192-gcm,aes192-ccm,aes256-ecb,aes256-cbc,aes256-cbc-pkcs7,aes256-cfb,aes256-ofb,aes256-ctr,aes256-gcm,aes256-ccm,blowfish-ecb,blowfish-cbc-pkcs7,blowfish-cbc,blowfish-cfb,blowfish-ofb,tripledes-ecb,tripledes-cbc,des-ecb,des-ecb-pkcs7,des-cbc,des-cbc-pkcs7,des-cfb,des-ofb,cast5-ecb,cast5-cbc,cast5-cbc-pkcs7,cast5-cfb,cast5-ofb,pbkdf1(sha1),pbkdf2(sha1),hkdf(sha256),pkey,dlgroup,rsa,dsa,dh,cert,csr,crl,certcollection,pkcs12,tls,cms,ca
src/core/auth/qgsauthmanager.cpp:195 : (init) [1ms] Prioritizing qca-ossl over 
all other QCA providers...
src/core/auth/qgsauthmanager.cpp:209 : (init) [0ms] QCA provider priorities: 
qca-gnupg:1, qca-logger:1, qca-ossl:0, qca-softstore:1
src/core/auth/qgsauthmanager.cpp:211 : (init) [0ms] Populating auth method 
registry
src/core/auth/qgsauthmethodregistry.cpp:66 : (QgsAuthMethodRegistry) [0ms] 
Checking for auth method plugins in: 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins
src/core/auth/qgsauthmanager.cpp:216 : (init) [0ms] Authentication methods 
found: Basic, EsriToken, Identity-Cert, OAuth2, PKI-PKCS#12, PKI-Paths
src/core/auth/qgsauthmethodregistry.cpp:289 : (authMethod) [0ms] Auth method 
library name is 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/libbasicauthmethod.so
src/core/auth/qgsauthmethodregistry.cpp:311 : (authMethod) [0ms] Instantiated 
the auth method plugin: Basic
src/core/auth/qgsauthmethodregistry.cpp:289 : (authMethod) [0ms] Auth method 
library name is 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/libesritokenauthmethod.so
src/core/auth/qgsauthmethodregistry.cpp:311 : (authMethod) [0ms] Instantiated 
the auth method plugin: EsriToken
src/core/auth/qgsauthmethodregistry.cpp:289 : (authMethod) [0ms] Auth method 
library name is 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/libidentcertauthmethod.so
src/core/auth/qgsauthmethodregistry.cpp:311 : (authMethod) [0ms] Instantiated 
the auth method plugin: Identity-Cert
src/core/auth/qgsauthmethodregistry.cpp:289 : (authMethod) [0ms] Auth method 
library name is 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/liboauth2authmethod.so
src/core/auth/qgsauthmethodregistry.cpp:311 : (authMethod) [0ms] Instantiated 
the auth method plugin: OAuth2
src/core/auth/qgsauthmethodregistry.cpp:289 : (authMethod) [0ms] Auth method 
library name is 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/libpkcs12authmethod.so
src/core/auth/qgsauthmethodregistry.cpp:311 : (authMethod) [0ms] Instantiated 
the auth method plugin: PKI-PKCS#12
src/core/auth/qgsauthmethodregistry.cpp:289 : (authMethod) [0ms] Auth method 
library name is 
/tmp/guix-build-qgis-3.12.1.drv-0/build/output/lib/qgis/plugins/libpkipathsauthmethod.so
src/core/auth/qgsauthmethodregistry.cpp:311 : (authMethod) [0ms] Instantiated 
the auth method plugin: PKI-Paths
src/core/auth/qgsauthmanager.cpp:233 : (init) [0ms] Auth database path: 
/tmp/guix-build-qgis-3.12.1.drv-0/QGIS-PythonTestConfigPathx4uqf1ag/profiles/default/qgis-auth.db
src/core/auth/qgsauthmanager.cpp:237 : (init) [0ms] Auth db directory path: 
/tmp/guix-build-qgis-3.12.1.drv-0/QGIS-PythonTestConfigPathx4uqf1ag/profiles/default
src/core/auth/qgsauthmanager.cpp:321 : (init) [0ms] Auth db does not exist: 
creating through QSqlDatabase initial connection
src/core/auth/qgsauthmanager.cpp:394 : (createCertTables) [435ms] Creating cert 
tables in auth db
src/core/auth/qgsauthmanager.cpp:2615 : (rebuildCaCertsCache) [795ms] Rebuild 
of CA certs cache FAILED
src/core/auth/qgsauthmanager.cpp:1700 : (initSslCaches) [0ms] Init of SSL 
caches FAILED
qt.svg: Cannot open file 
':/images/themes/default/console/iconNewTabEditorConsole.svg', because: No such 
file or directory
qt.svg: Cannot open file 
':/images/themes/default/console/iconNewTabEditorConsole.svg', because: No such 
file or directory
qt.svg: Cannot open file ':/images/themes/default/mActionStart.svg', because: 
No such file or directory
qt.svg: Cannot open file ':/images/themes/default/mActionStart.svg', because: 
No such file or directory
.qt.svg: Cannot open file 
':/images/themes/default/console/iconNewTabEditorConsole.svg', because: No such 
file or directory
qt.svg: Cannot open file 
':/images/themes/default/console/iconNewTabEditorConsole.svg', because: No such 
file or directory
qt.svg: Cannot open file ':/images/themes/default/mActionStart.svg', because: 
No such file or directory
qt.svg: Cannot open file ':/images/themes/default/mActionStart.svg', because: 
No such file or directory
.qt.svg: Cannot open file 
':/images/themes/default/console/iconNewTabEditorConsole.svg', because: No such 
file or directory
qt.svg: Cannot open file 
':/images/themes/default/console/iconNewTabEditorConsole.svg', because: No such 
file or directory
qt.svg: Cannot open file ':/images/themes/default/mActionStart.svg', because: 
No such file or directory
qt.svg: Cannot open file ':/images/themes/default/mActionStart.svg', because: 
No such file or directory
CMake Error at PyQgsExpressionBuilderWidget.cmake:15 (MESSAGE):
  Test failed: Segmentation fault

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]