Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1v0D7L-00BuIa-2Y for pgsql-hackers@arkaria.postgresql.org; Sun, 21 Sep 2025 06:00:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1v0D7I-00ERDT-MT for pgsql-hackers@arkaria.postgresql.org; Sun, 21 Sep 2025 06:00:08 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1v0D7I-00ERDK-31 for pgsql-hackers@lists.postgresql.org; Sun, 21 Sep 2025 06:00:08 +0000 Received: from mail-lf1-x12c.google.com ([2a00:1450:4864:20::12c]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1v0D7F-001Y6y-0S for pgsql-hackers@lists.postgresql.org; Sun, 21 Sep 2025 06:00:06 +0000 Received: by mail-lf1-x12c.google.com with SMTP id 2adb3069b0e04-57263febd12so4998807e87.1 for ; Sat, 20 Sep 2025 23:00:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758434403; x=1759039203; darn=lists.postgresql.org; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=geUVoQ5S6QE+r3ysH4KR4idt9eWt7dDxZU7FJil/EpA=; b=jCaOP6H/MINrV5WwjV2/MT1GUeM32lwRQXdqSMldZEIXL5Q0KuE/Yk3ye/J0/SZsNz kj7erEM6rygj1swdUhjJhq+19lt/DRcThKzSpBRcw2eUeKR5qMho5YkrBIU2OSROHlPz HT37Ig76I+saYNaQM2/cNvw1LfzkAZoKrwPspimAJX2Xh66+/Vi3MdDorZhwSkRwk43L 9b6N7JWW1O/7hDG2IY+YyMjIdhnaLgz4oOVygmzCVIGcXZ/9PHxJfHiwbn9U8MBbqKyx WwT3w68fDuQPv0n2pm+yIUrnKVk55oIJI7cyxwR0uO787cP3dBMLTyzzDz3FDn+CxQYS PkRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758434403; x=1759039203; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=geUVoQ5S6QE+r3ysH4KR4idt9eWt7dDxZU7FJil/EpA=; b=bEb5od70IKKBacKrGG/sOJeYzFz2IN8WwlWWfvzruaCfCVj6UiBWfEU32ldhRMGZPI krH0ygg6K21jsZWkypdVkv9gzsa/I1lOzpIs/loKzqD9jh+GGMKsXWtDNaP01v5uTpF4 EhtHQNRi/skCTE0OeG3f90HlPjUoFFDerj1LTkaYgl4w8isLQcBSPNrX/dbYbJ+jJ17N Uz9J/q720A7OI4pBqXBO1e5MEs2pPzBfTxyLMKlcjqpeVsryEOTJbs86KQQanAodmKhg wqX4tPIiwN7p/8oX5EK5EpZ6P8LiKXtCRzK753WZrpB0JXSmVq8MHIR49rC0D+A8RBOk BXDg== X-Forwarded-Encrypted: i=1; AJvYcCVBixJxjGkzmE+Z31cwaqapcpXp8e7P7DX1s5QvVmbsIo5OAWvD9bv7KJGa6FEOjI6Beb9UsiWjoik8bEsY@lists.postgresql.org X-Gm-Message-State: AOJu0YzyWsIszoZ8BiLkAp7ci8GVlTIwFh3KApZOnbUSX4L1hX/ddl6m hecNq2yu8rmgts3ZPnVBLDDKWFLdepd+97M/zatN1B/7+WYtRUzuplp7 X-Gm-Gg: ASbGncsOG5LqZDRR4M5pSHUuZGqqiwIKIEDSv94qxptW8Yj0NY36DLbx4IqpALz748n TjVqmZQaY25zUbvIIIxBH1j2+uxxEsDfOHcbT/Zow6ybA08p0cNOaHB2xWb872G0o+/4aICtCnk 5aIjTmPYuGocq3VCOchs8CZ2/LjOpfdf+sIm0g3jM5opOr4C8f9p2wWt61l/vgpAZIctPMiS/U9 KBWW/6YUQbbOdCyAktrdyqR5GD5JQ8QtkaqG1VYKmXyyipjaW9ol1IDNwEOi+n6Z/nvVX+Jc0My nUUolsv2z3H1XrqfoNmWq19VZVcyL7Cm4sRkN7TLZnP/kHypfbUoBjTgEwoXzyeILwABgU+iyoa LezdmkHxQqQrcSrh6lkuECHP6ow== X-Google-Smtp-Source: AGHT+IGJ47082sx/KmSV9ymtRRcM+y+aJTOh8kaB9SPIcDvNMJZHpMCFtuch5Y8DG2/wcVY3QVTt4w== X-Received: by 2002:a05:6512:3e10:b0:55f:552c:f731 with SMTP id 2adb3069b0e04-57893891a37mr4103371e87.7.1758434402647; Sat, 20 Sep 2025 23:00:02 -0700 (PDT) Received: from [192.168.0.50] ([89.149.120.198]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-578a5f4482esm2339527e87.28.2025.09.20.23.00.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 20 Sep 2025 23:00:01 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------iACPABa9bejkagXb6TBcC01t" Message-ID: <2874644f-6431-41f4-abe2-99e5ab052606@gmail.com> Date: Sun, 21 Sep 2025 09:00:00 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: GNU/Hurd portability patches To: Michael Paquier , Michael Banck Cc: Tom Lane , pgsql-hackers@lists.postgresql.org, Thomas Munro References: <6862e8d1.050a0220.194b8d.76fa@mx.google.com> <3245994.1751388110@sss.pgh.pa.us> <68643ea2.050a0220.128f53.3f77@mx.google.com> Content-Language: en-US From: Alexander Lakhin In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------iACPABa9bejkagXb6TBcC01t Content-Type: multipart/alternative; boundary="------------0cxu8wYnnwR3tbXrA7xww7Xd" --------------0cxu8wYnnwR3tbXrA7xww7Xd Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hello hackers, 02.07.2025 02:53, Michael Paquier wrote: > Catching up on this thread after-the-fact, specifically looking at > 29213636e6cd as I did the original check tweaked here for O_RDONLY. > Agreed that a backpatch should be OK as done. The buildfarm looks OK > currently. Three months later we can see a number of failures produced by that animal on several branches, e.g. [1]: timed out after 3600 secs --- # +++ regress install-check in src/test/modules/test_shm_mq +++ # using postmaster on /home/demo/build-farm-19.1/buildroot/tmp/buildfarm-GBEDDQ, port 5678 ---- hang ---- I've spun up Debian Hurd locally, using [2], and reproduced this, just by running: `make -s check -C src/test/modules/test_shm_mq/` in a loop. It's not that easy to see a backtrace of the running processes on that OS, but with some debug logging (attached), I can see that the test backend process or shm_mq background worker just gets stuck shortly after poll(). One example: echo " log_min_messages = DEBUG5 log_line_prefix = '%m [%p:%l] %q%a ' log_connections = 'true' log_disconnections = 'true' log_statement = 'all' autovacuum = off " > /tmp/extra.config for i in {1..100}; do echo "ITERATION $i"; TEMP_CONFIG=/tmp/extra.config \ timeout 60 make -s check -C src/test/modules/test_shm_mq/ || break; done; \ ps -A | grep postgres ... ITERATION 9 ok 1         - test_shm_mq                             14498 ms ITERATION 10 ok 1         - test_shm_mq                             34759 ms ITERATION 11 # +++ regress check in src/test/modules/test_shm_mq +++ # initializing database system by copying initdb template # using temp instance on port 58928 with PID 28848 make: *** [../../../../src/makefiles/pgxs.mk:451: check] Terminated demo     28848 p0 So    0:00.03 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ demo     28849  - Ssfo  0:00.06 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ demo     28850  - Ssfo  0:00.00 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ demo     28851  - Ssfo  0:00.00 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ demo     28852  - Ssfo  0:00.00 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ demo     28853  - Ssfo  0:00.00 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ demo     28855  - Ssfo  0:00.00 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ demo     28856  - Ssfo  0:00.00 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ demo     28862  - Ssfo  0:01.13 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ demo     28866  - Ssfo  0:00.87 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ The process 28866 is stuck, it doesn't response to SIGTERM. src/test/modules/test_shm_mq/log/postmaster.log contains: 2025-09-21 05:48:00.749 BST [28862:23] pg_regress/test_shm_mq LOG: statement: SELECT test_shm_mq(100, (select string_agg(chr(32+(random()*95)::int), '') from generate_series(1,(100+200*random())::int)), 10000, 1); 2025-09-21 05:48:00.750 BST [28848:59] DEBUG:  postmaster received pmsignal signal 2025-09-21 05:48:00.750 BST [28848:60] DEBUG:  registering background worker "" 2025-09-21 05:48:00.750 BST [28848:61] DEBUG:  assigned pm child slot 240 for bgworker 2025-09-21 05:48:00.750 BST [28848:62] DEBUG:  starting background worker process "" 2025-09-21 05:48:00.751 BST [28866:1] DEBUG:  find_in_path: trying "/home/demo/postgresql/tmp_install/usr/local/pgsql/lib/test_shm_mq" 2025-09-21 05:48:00.751 BST [28866:2] DEBUG:  find_in_path: trying "/home/demo/postgresql/tmp_install/usr/local/pgsql/lib/test_shm_mq.so" ... !!!shm_mq_receive_bytes[28866]| before WaitLatch !!!WaitEventSetWaitBlock POLL[28866]| rc: 1 ^^^ the last message from that process ^^^ Other run: 2025-09-21 06:03:21.041 BST [29427:23] pg_regress/test_shm_mq LOG: statement: SELECT test_shm_mq(100, (select string_agg(chr(32+(random()*95)::int), '') from generate_series(1,(100+200*random())::int)), 10000, 1); 2025-09-21 06:03:21.042 BST [29412:64] DEBUG:  postmaster received pmsignal signal 2025-09-21 06:03:21.042 BST [29412:65] DEBUG:  registering background worker "" 2025-09-21 06:03:21.042 BST [29412:66] DEBUG:  assigned pm child slot 239 for bgworker 2025-09-21 06:03:21.042 BST [29412:67] DEBUG:  starting background worker process "" 2025-09-21 06:03:21.043 BST [29431:1] DEBUG:  find_in_path: trying "/home/demo/postgresql/tmp_install/usr/local/pgsql/lib/test_shm_mq" 2025-09-21 06:03:21.043 BST [29431:2] DEBUG:  find_in_path: trying "/home/demo/postgresql/tmp_install/usr/local/pgsql/lib/test_shm_mq.so" !!!WaitEventSetWaitBlock POLL[29431]| rc: 1 !!!WaitEventSetWaitBlock[29431] 1 !!!WaitEventSetWaitBlock[29431] 2 !!!WaitEventSetWaitBlock[29431] 3 !!!WaitEventSetWaitBlock[29431] 4 !!!WaitEventSetWaitBlock[29431] 5 ^^^ the last message from the process 29431 ^^^ So it seems to me that Hurd is not mature enough yet to test Postgres. [1] https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=fruitcrow&dt=2025-09-19%2007%3A29%3A06 [2] https://cdimage.debian.org/cdimage/ports/latest/hurd-amd64/debian-hurd-amd64-20250807.img.tar.xz Best regards, Alexander --------------0cxu8wYnnwR3tbXrA7xww7Xd Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
Hello hackers,

02.07.2025 02:53, Michael Paquier wrote:
Catching up on this thread after-the-fact, specifically looking at
29213636e6cd as I did the original check tweaked here for O_RDONLY.
Agreed that a backpatch should be OK as done.  The buildfarm looks OK
currently.

Three months later we can see a number of failures produced by that
animal on several branches, e.g. [1]:
timed out after 3600 secs
---

# +++ regress install-check in src/test/modules/test_shm_mq +++
# using postmaster on /home/demo/build-farm-19.1/buildroot/tmp/buildfarm-GBEDDQ, port 5678
---- hang ----

I've spun up Debian Hurd locally, using [2], and reproduced this, just by
running: `make -s check -C src/test/modules/test_shm_mq/` in a loop.

It's not that easy to see a backtrace of the running processes on that OS,
but with some debug logging (attached), I can see that the test backend
process or shm_mq background worker just gets stuck shortly after poll().
One example:
echo "
log_min_messages = DEBUG5
log_line_prefix = '%m [%p:%l] %q%a '
log_connections = 'true'
log_disconnections = 'true'
log_statement = 'all'
autovacuum = off
" > /tmp/extra.config

for i in {1..100}; do echo "ITERATION $i"; TEMP_CONFIG=/tmp/extra.config \
timeout 60 make -s check -C src/test/modules/test_shm_mq/ || break; done; \
ps -A | grep postgres

...

ITERATION 9
ok 1         - test_shm_mq                             14498 ms

ITERATION 10
ok 1         - test_shm_mq                             34759 ms

ITERATION 11
# +++ regress check in src/test/modules/test_shm_mq +++
# initializing database system by copying initdb template
# using temp instance on port 58928 with PID 28848
make: *** [../../../../src/makefiles/pgxs.mk:451: check] Terminated
demo     28848 p0 So    0:00.03 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ
demo     28849  - Ssfo  0:00.06 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ
demo     28850  - Ssfo  0:00.00 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ
demo     28851  - Ssfo  0:00.00 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ
demo     28852  - Ssfo  0:00.00 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ
demo     28853  - Ssfo  0:00.00 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ
demo     28855  - Ssfo  0:00.00 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ
demo     28856  - Ssfo  0:00.00 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ
demo     28862  - Ssfo  0:01.13 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ
demo     28866  - Ssfo  0:00.87 postgres -D /home/demo/postgresql/src/test/modules/test_shm_mq/tmp_check/data -F -c listen_addresses= -k /tmp/pg_regress-McfSYJ

The process 28866 is stuck, it doesn't response to SIGTERM.

src/test/modules/test_shm_mq/log/postmaster.log contains:
2025-09-21 05:48:00.749 BST [28862:23] pg_regress/test_shm_mq LOG:  statement: SELECT test_shm_mq(100, (select string_agg(chr(32+(random()*95)::int), '') from generate_series(1,(100+200*random())::int)), 10000, 1);

2025-09-21 05:48:00.750 BST [28848:59] DEBUG:  postmaster received pmsignal signal
2025-09-21 05:48:00.750 BST [28848:60] DEBUG:  registering background worker ""
2025-09-21 05:48:00.750 BST [28848:61] DEBUG:  assigned pm child slot 240 for bgworker
2025-09-21 05:48:00.750 BST [28848:62] DEBUG:  starting background worker process ""
2025-09-21 05:48:00.751 BST [28866:1] DEBUG:  find_in_path: trying "/home/demo/postgresql/tmp_install/usr/local/pgsql/lib/test_shm_mq"
2025-09-21 05:48:00.751 BST [28866:2] DEBUG:  find_in_path: trying "/home/demo/postgresql/tmp_install/usr/local/pgsql/lib/test_shm_mq.so"
...
!!!shm_mq_receive_bytes[28866]| before WaitLatch
!!!WaitEventSetWaitBlock POLL[28866]| rc: 1
^^^ the last message from that process ^^^

Other run:
2025-09-21 06:03:21.041 BST [29427:23] pg_regress/test_shm_mq LOG:  statement: SELECT test_shm_mq(100, (select string_agg(chr(32+(random()*95)::int), '') from generate_series(1,(100+200*random())::int)), 10000, 1);

2025-09-21 06:03:21.042 BST [29412:64] DEBUG:  postmaster received pmsignal signal
2025-09-21 06:03:21.042 BST [29412:65] DEBUG:  registering background worker ""
2025-09-21 06:03:21.042 BST [29412:66] DEBUG:  assigned pm child slot 239 for bgworker
2025-09-21 06:03:21.042 BST [29412:67] DEBUG:  starting background worker process ""
2025-09-21 06:03:21.043 BST [29431:1] DEBUG:  find_in_path: trying "/home/demo/postgresql/tmp_install/usr/local/pgsql/lib/test_shm_mq"
2025-09-21 06:03:21.043 BST [29431:2] DEBUG:  find_in_path: trying "/home/demo/postgresql/tmp_install/usr/local/pgsql/lib/test_shm_mq.so"

!!!WaitEventSetWaitBlock POLL[29431]| rc: 1
!!!WaitEventSetWaitBlock[29431] 1
!!!WaitEventSetWaitBlock[29431] 2
!!!WaitEventSetWaitBlock[29431] 3
!!!WaitEventSetWaitBlock[29431] 4
!!!WaitEventSetWaitBlock[29431] 5
^^^ the last message from the process 29431 ^^^

So it seems to me that Hurd is not mature enough yet to test Postgres.

[1] https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=fruitcrow&dt=2025-09-19%2007%3A29%3A06
[2] https://cdimage.debian.org/cdimage/ports/latest/hurd-amd64/debian-hurd-amd64-20250807.img.tar.xz

Best regards,
Alexander
--------------0cxu8wYnnwR3tbXrA7xww7Xd-- --------------iACPABa9bejkagXb6TBcC01t Content-Type: text/x-patch; charset=UTF-8; name="waitventset-debugging.patch" Content-Disposition: attachment; filename="waitventset-debugging.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3NobV9tcS5jIGIvc3JjL2Jh Y2tlbmQvc3RvcmFnZS9pcGMvc2htX21xLmMKaW5kZXggMmM3OWE2NDlmNDYuLmJiOGVmZjI4 NTgxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9zaG1fbXEuYworKysg Yi9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9zaG1fbXEuYwpAQCAtMTAxNSw4ICsxMDE1LDEw IEBAIHNobV9tcV9zZW5kX2J5dGVzKHNobV9tcV9oYW5kbGUgKm1xaCwgU2l6ZSBuYnl0ZXMs IGNvbnN0IHZvaWQgKmRhdGEsCiAJCQkgKiBhdCB0b3Agb2YgbG9vcCwgYmVjYXVzZSBzZXR0 aW5nIGFuIGFscmVhZHktc2V0IGxhdGNoIGlzIG11Y2gKIAkJCSAqIGNoZWFwZXIgdGhhbiBz ZXR0aW5nIG9uZSB0aGF0IGhhcyBiZWVuIHJlc2V0LgogCQkJICovCitmcHJpbnRmKHN0ZGVy ciwgIiEhIXNobV9tcV9zZW5kX2J5dGVzWyVkXXwgYmVmb3JlIFdhaXRMYXRjaFxuIiwgZ2V0 cGlkKCkpOwogCQkJKHZvaWQpIFdhaXRMYXRjaChNeUxhdGNoLCBXTF9MQVRDSF9TRVQgfCBX TF9FWElUX09OX1BNX0RFQVRILCAwLAogCQkJCQkJCSBXQUlUX0VWRU5UX01FU1NBR0VfUVVF VUVfU0VORCk7CitmcHJpbnRmKHN0ZGVyciwgIiEhIXNobV9tcV9zZW5kX2J5dGVzWyVkXXwg YWZ0ZXIgV2FpdExhdGNoXG4iLCBnZXRwaWQoKSk7CiAKIAkJCS8qIFJlc2V0IHRoZSBsYXRj aCBzbyB3ZSBkb24ndCBzcGluLiAqLwogCQkJUmVzZXRMYXRjaChNeUxhdGNoKTsKQEAgLTEx NjEsOCArMTE2MywxMCBAQCBzaG1fbXFfcmVjZWl2ZV9ieXRlcyhzaG1fbXFfaGFuZGxlICpt cWgsIFNpemUgYnl0ZXNfbmVlZGVkLCBib29sIG5vd2FpdCwKIAkJICogbG9vcCwgYmVjYXVz ZSBzZXR0aW5nIGFuIGFscmVhZHktc2V0IGxhdGNoIGlzIG11Y2ggY2hlYXBlciB0aGFuCiAJ CSAqIHNldHRpbmcgb25lIHRoYXQgaGFzIGJlZW4gcmVzZXQuCiAJCSAqLworZnByaW50Zihz dGRlcnIsICIhISFzaG1fbXFfcmVjZWl2ZV9ieXRlc1slZF18IGJlZm9yZSBXYWl0TGF0Y2hc biIsIGdldHBpZCgpKTsKIAkJKHZvaWQpIFdhaXRMYXRjaChNeUxhdGNoLCBXTF9MQVRDSF9T RVQgfCBXTF9FWElUX09OX1BNX0RFQVRILCAwLAogCQkJCQkJIFdBSVRfRVZFTlRfTUVTU0FH RV9RVUVVRV9SRUNFSVZFKTsKK2ZwcmludGYoc3RkZXJyLCAiISEhc2htX21xX3JlY2VpdmVf Ynl0ZXNbJWRdfCBhZnRlciBXYWl0TGF0Y2hcbiIsIGdldHBpZCgpKTsKIAogCQkvKiBSZXNl dCB0aGUgbGF0Y2ggc28gd2UgZG9uJ3Qgc3Bpbi4gKi8KIAkJUmVzZXRMYXRjaChNeUxhdGNo KTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3dhaXRldmVudHNldC5j IGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvd2FpdGV2ZW50c2V0LmMKaW5kZXggN2MwZTY2 OTAwZjkuLmRjZjdiMmMxMTFkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2lw Yy93YWl0ZXZlbnRzZXQuYworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy93YWl0ZXZl bnRzZXQuYwpAQCAtMTQ5Nyw2ICsxNDk3LDE4IEBAIFdhaXRFdmVudFNldFdhaXRCbG9jayhX YWl0RXZlbnRTZXQgKnNldCwgaW50IGN1cl90aW1lb3V0LAogCQkvKiB0aW1lb3V0IGV4Y2Vl ZGVkICovCiAJCXJldHVybiAtMTsKIAl9CitmcHJpbnRmKHN0ZGVyciwgIiEhIVdhaXRFdmVu dFNldFdhaXRCbG9jayBQT0xMWyVkXXwgcmM6ICVkXG4iLCBnZXRwaWQoKSwgcmMpOworZnBy aW50ZihzdGRlcnIsICIhISFXYWl0RXZlbnRTZXRXYWl0QmxvY2tbJWRdIDFcbiIsIGdldHBp ZCgpKTsKK2ZwcmludGYoc3RkZXJyLCAiISEhV2FpdEV2ZW50U2V0V2FpdEJsb2NrWyVkXSAy XG4iLCBnZXRwaWQoKSk7CitmcHJpbnRmKHN0ZGVyciwgIiEhIVdhaXRFdmVudFNldFdhaXRC bG9ja1slZF0gM1xuIiwgZ2V0cGlkKCkpOworZnByaW50ZihzdGRlcnIsICIhISFXYWl0RXZl bnRTZXRXYWl0QmxvY2tbJWRdIDRcbiIsIGdldHBpZCgpKTsKK2ZwcmludGYoc3RkZXJyLCAi ISEhV2FpdEV2ZW50U2V0V2FpdEJsb2NrWyVkXSA1XG4iLCBnZXRwaWQoKSk7CitmcHJpbnRm KHN0ZGVyciwgIiEhIVdhaXRFdmVudFNldFdhaXRCbG9ja1slZF0gNVxuIiwgZ2V0cGlkKCkp OworZnByaW50ZihzdGRlcnIsICIhISFXYWl0RXZlbnRTZXRXYWl0QmxvY2tbJWRdIDZcbiIs IGdldHBpZCgpKTsKK2ZwcmludGYoc3RkZXJyLCAiISEhV2FpdEV2ZW50U2V0V2FpdEJsb2Nr WyVkXSA3XG4iLCBnZXRwaWQoKSk7CitmcHJpbnRmKHN0ZGVyciwgIiEhIVdhaXRFdmVudFNl dFdhaXRCbG9ja1slZF0gOFxuIiwgZ2V0cGlkKCkpOworZnByaW50ZihzdGRlcnIsICIhISFX YWl0RXZlbnRTZXRXYWl0QmxvY2tbJWRdIDlcbiIsIGdldHBpZCgpKTsKK2ZwcmludGYoc3Rk ZXJyLCAiISEhV2FpdEV2ZW50U2V0V2FpdEJsb2NrWyVkXSAxMFxuIiwgZ2V0cGlkKCkpOwog CiAJZm9yIChjdXJfZXZlbnQgPSBzZXQtPmV2ZW50cywgY3VyX3BvbGxmZCA9IHNldC0+cG9s bGZkczsKIAkJIGN1cl9ldmVudCA8IChzZXQtPmV2ZW50cyArIHNldC0+bmV2ZW50cykgJiYK --------------iACPABa9bejkagXb6TBcC01t--