[WIP][SPARK-19152][SQL]DataFrameWriter.saveAsTable support hive append

What changes were proposed in this pull request?
After SPARK-19107, we now can treat hive as a data source and create hive tables with DataFrameWriter and Catalog. However, the support is not completed, there are still some cases we do not support.
This PR implement:
DataFrameWriter.saveAsTable work with hive format with append mode
How was this patch tested?
unit test added

Test build #71220 has started for PR 16552 at commit 25b39fa.

Test build #71220 has finished for PR 16552 at commit 25b39fa.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71220/
Test FAILed.

Test build #71239 has started for PR 16552 at commit b463ac7.

Test build #71239 has finished for PR 16552 at commit b463ac7.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71239/
Test FAILed.

retest this please

Test build #71443 has started for PR 16552 at commit 29e1ee2.

Test build #71444 has started for PR 16552 at commit 429a0ab.

Test build #71443 has finished for PR 16552 at commit 29e1ee2.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71443/
Test FAILed.

Merged build finished. Test FAILed.

Test build #71444 has finished for PR 16552 at commit 429a0ab.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71444/
Test FAILed.

Test build #71599 has started for PR 16552 at commit 21c5e3f.

Test build #71599 has finished for PR 16552 at commit 21c5e3f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71599/
Test PASSed.

Merged build finished. Test PASSed.

The overall idea is to use InsertIntable to implement appending to hive table, but this approach is too hacky, we should follow the way how we deal with data source table, e.g. DataFrameWriter.saveAsTable just build a CreateTable plan, rule AnalyzeCreateTable do some checking and normalization, and another rule turn CreateTable into CreateDataSourceTableAsSelectCommand.

Test build #71639 has started for PR 16552 at commit 2bf67c7.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71639/
Test FAILed.

Test build #71652 has started for PR 16552 at commit 6b8f625.

Test build #71653 has started for PR 16552 at commit 1145e52.

Test build #71654 has started for PR 16552 at commit 0b9dc3a.

Test build #71654 has finished for PR 16552 at commit 0b9dc3a.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class QualifiedTableName(database: String, name: String)
class FindHiveSerdeTable(session: SparkSession) extends Rule[LogicalPlan]

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71654/
Test FAILed.

Test build #71652 has finished for PR 16552 at commit 6b8f625.

This patch fails Spark unit tests.
This patch does not merge cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71652/
Test FAILed.

Build finished. Test FAILed.

Test build #71653 has finished for PR 16552 at commit 1145e52.

This patch fails Spark unit tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71653/
Test FAILed.

Test build #71659 has started for PR 16552 at commit 2f542ff.

Test build #71659 has finished for PR 16552 at commit 2f542ff.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71659/
Test PASSed.

Test build #71785 has started for PR 16552 at commit cb7a1be.

Test build #71785 has finished for PR 16552 at commit cb7a1be.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class SparkListenerExecutorBlacklisted(
case class SparkListenerExecutorUnblacklisted(time: Long, executorId: String)
case class SparkListenerNodeBlacklisted(
case class SparkListenerNodeUnblacklisted(time: Long, hostId: String)
 class MaintenanceTask(periodMs: Long, task: => Unit, onError: => Unit)

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71785/
Test PASSed.

Merged build finished. Test PASSed.

Test build #71850 has started for PR 16552 at commit 7186938.

Test build #71850 has finished for PR 16552 at commit 7186938.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71850/
Test FAILed.

retest this please

Test build #71851 has started for PR 16552 at commit d3c81d4.

add it manual

if change these two constructor，the paramless
Constructor will be
def this() = this(null) or this(new FileSinkDesc(xx))
This is strange, or there is a better way

Test build #71855 has started for PR 16552 at commit 6c09477.

LGTM, pending test

Test build #71855 has finished for PR 16552 at commit 6c09477.

This patch fails to build.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class HiveFileFormat(fileSinkDesc: FileSinkDesc)

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71855/
Test FAILed.

Test build #71851 has finished for PR 16552 at commit d3c81d4.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71851/
Test FAILed.

retest this please

Test build #71886 has started for PR 16552 at commit 6c09477.

Test build #71886 has finished for PR 16552 at commit 6c09477.

This patch fails to build.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class HiveFileFormat(fileSinkDesc: FileSinkDesc)

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71886/
Test FAILed.

You need to fetch the upstream and merge it to your local branch. Some changes were made and merged to the upstream/master, although they did not introduce the conflicts. The changes caused the compilation errors in your PR.

Test build #71888 has started for PR 16552 at commit 98ec55a.

Test build #71888 has finished for PR 16552 at commit 98ec55a.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class HiveFileFormat(fileSinkConf: FileSinkDesc)

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71888/
Test PASSed.

Test build #71910 has started for PR 16552 at commit f34ab6d.

Test build #71918 has started for PR 16552 at commit 7bf5b50.

retest this please

Test build #71920 has started for PR 16552 at commit 7bf5b50.

Test build #71910 has finished for PR 16552 at commit f34ab6d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71910/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71918/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71920/
Test FAILed.

retest this please

Test build #71923 has started for PR 16552 at commit 7bf5b50.

retest this please

Test build #71925 has started for PR 16552 at commit 59db8e4.

Test build #71923 has finished for PR 16552 at commit 7bf5b50.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71923/
Test PASSed.

Merged build finished. Test PASSed.

Test build #71925 has finished for PR 16552 at commit 59db8e4.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71925/
Test PASSed.

thanks, merging to master!


Compilation on mac

On a mac with os Mojave, swipl 8.1.3-26-g30498cd0a
doesn't compile, I get

% /Users/rzf/lib/swipl/bin/x86_64-darwin/swipl-ld -Wall -shared -O2 -gdwarf-2 -g3 -o lib/x86_64-darwin/ffi4pl.so c/ffi4pl.c -lffi
ERROR: In file included from c/ffi4pl.c:40:
ERROR: /Users/rzf/lib/swipl/include/SWI-Stream.h:58:10: fatal error: 'wchar.h' file not found
ERROR: #include <wchar.h>
ERROR:          ^~~~~~~~~
% 1 error generated.
% /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc returned code 256
% *** /Users/rzf/lib/swipl/bin/x86_64-darwin/swipl-ld exit status 1
% make: *** [lib/x86_64-darwin/ffi4pl.so] Error 1
ERROR: Process "process(path(make),[all])": exit status: 2
ERROR: In:
ERROR:   [14] throw(error(process_error(...,...),_14266))
ERROR:   [12] '$apply':forall(prolog_pack:member(all,...),prolog_pack:run_process(...,...,...)) at /Users/rzf/lib/swipl/boot/apply.pl:51
ERROR:    [7] <user>
ERROR:
ERROR: Note: some frames are missing due to last-call optimization.
ERROR: Re-run your program in debug mode (:- debug.) to get more
´´´

That is a Mac setup issue.  I don't know.  I have a very old mac.  On any normal system cc should be able to find the core header files, but I guess you need to do something different on the Mac ...  Use swipl-ld -v ... to find what it is doing and try to figure out what is wrong.

The problem is that macOS has an old version of libffi. With brew the latest version is  installed but configure gets the cc of Xcode

<wchar.h> is a standard C header that comes with the compiler and has nothing to do with libffi.   I think swipl-ld calls the compiler found by CMake to compile SWI-Prolog.   You might need to call the compiler some other way in MacOS,  Try simple using cc from the default path.

Hi Jan,
this is the procedure I followed for compiling on mac (look at the readme)
https://github.com/friguzzi/ffi
I couldn't manage to find a way to encode the process in configure.ac and Makefile in a general way.
If you're satisfied with the text instructions in the README.md I will send a pull request


Form object building: Fixed submit button always being appended to components

Any form object loaded, regardless of existing components, would have a submit button appended.
Loading a form from an object now behaves the same as if it was loaded with src; The submit button is only added if their are no existing components.

We will probably take this, but we will need to run it through some tests on our end to make sure it doesn't break things. If it does, we may need to make some changes to our app so that we can compensate for this change.
Thanks for your contributions!

Fixed in #171 in a slightly different way.


Support for a not equal in cidr

Hi,
Is there a way we can provide. Cidr so that all traffic from a pod which is not cluster internal is directed to egress director? Will <IP_ADDRESS>/0 work like this?
Thank you

"<IP_ADDRESS>/0" works for external traffic but I think also internal traffic (to other pods or services) will be affected.


Add Swifty password manager

Add Swifty password manger
Project URL
http://getswifty.pro
Category
Security
Description
Update applications.json to add Swifty password manager to the list of apps and security category
Checklist

[x] Edit applications.json instead of README.md.
[x] Only one project/change is in this pull request
[x] Screenshots(s) added if any
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

          1 Warning

:warning:
Found 1 link issue, a project collaborator will take care of these, thanks :)

Link issue by awesome_bot

Line
Status
Link

7300
Error
https://dozermac.com  Failed to open TCP connection to dozermac.com:443 (Operation timed out - connect(2) for "dozermac.com" port 443)

  Generated by :no_entry_sign: Danger

@alchaplinsky Thank you! 👍


allow the caller to specify a preallocated array for the heap

In embedded, and non memory protected environments it is often desirable to preallocate all of memory as arrays and not use malloc() and free().  So it would be nice to have an option in the config to pass in the heap.  Alternatively you could allow the caller to pass in the functions for malloc() and free() (DukTape does this)

You can already configure a custom allocation function which will allocate from your fixed heap.
https://wren.io/embedding/configuring-the-vm.html


Per tag generation doesn't generate correctly when using .json

To Reproduce

Using a OpenAPI file that is in JSON format. (https://api.unkey.dev/openapi.json)
Use default generation which is per tag
A single file will be generated versus file for each tag.

Current vs. Expected behavior
Expected to see a file per tag when generating but saw one large file instead.
Provide environment information
Node.js v22.1.0

Operating System:
  Platform: darwin
  Arch: arm64
  Version: Darwin Kernel Version 24.0.0: Thu May 30 21:33:22 PDT 2024; root:xnu-11<IP_ADDRESS>1.2~1/RELEASE_ARM64_T8122
  Available memory (MB): 16384
  Available CPU cores: 8
Binaries:
  Node: 22.1.0
  npm: 10.7.0
  Yarn: N/A
  pnpm: 9.0.6
Relevant Packages:
  next: 14.2.4 // Latest available version is detected (14.2.4).
  eslint-config-next: N/A
  react: 18.3.1
  react-dom: 18.3.1
  typescript: N/A
Next.js Config:
  output: N/A

Which area(s) are affected? (Select all that apply)
Integrations (e.g Contentlayer, OpenAPI, Typescript DocsGen)
Additional context
No response

Oops it is a docs mistake, it should be file by default. You can pass “tag” directly

Updated the docs: https://fumadocs.vercel.app/docs/ui/openapi
Closing this as fixed on 12.1.1

Hey!
Thanks for fixing the docs, it seems per tag generation doesn't work with the tag option flagged.
For example
import * as OpenAPI from "fumadocs-openapi";

void OpenAPI.generateFiles({
  input: ["*.json"],
  output: "../content/docs/reference",
  per: "tag",
})

Doesn't generate anything and no errors are caught.
The JSON is valid and has tags for example
"/v1/keys.getKey": {
      "get": {
        "tags": ["keys"],
        "operationId": "getKey",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "minLength": 1,
              "description": "The id of the key to fetch",
              "example": "key_1234"
            },
            "required": true,
            "name": "keyId",
            "in": "query"
          },
          {
            "schema": {
              "type": "boolean",
              "nullable": true,
              "description": "Decrypt and display the raw key. Only possible if the key was encrypted when generated."
            },
            "required": false,
            "name": "decrypt",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "The configuration for a single key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Key"
                }
              }
            }
          },
          "400": {
            "description": "The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrBadRequest"
                }
              }
            }
          },
          "401": {
            "description": "Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrUnauthorized"
                }
              }
            }
          },
          "403": {
            "description": "The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. Unlike 401 Unauthorized, the client's identity is known to the server.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrForbidden"
                }
              }
            }
          },
          "404": {
            "description": "The server cannot find the requested resource. In the browser, this means the URL is not recognized. In an API, this can also mean that the endpoint is valid but the resource itself does not exist. Servers may also send this response instead of 403 Forbidden to hide the existence of a resource from an unauthorized client. This response code is probably the most well known due to its frequent occurrence on the web.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrNotFound"
                }
              }
            }
          },
          "409": {
            "description": "This response is sent when a request conflicts with the current state of the server.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrConflict"
                }
              }
            }
          },
          "429": {
            "description": "The user has sent too many requests in a given amount of time (\"rate limiting\")",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrTooManyRequests"
                }
              }
            }
          },
          "500": {
            "description": "The server has encountered a situation it does not know how to handle.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrInternalServerError"
                }
              }
            }
          }
        }
      }
    },


404 systemctl?

Hello,
just reinstalled and...
i don't see the device.db in the data/device.db and only get 404 errors :(
the habridge.config is working and is in there. i think this has to do whit the new linux (systemctl) i read on here  but i don't know how to solve it.. is someone willing to make a walk trow on this for a Raspberry pi plz? i use the ha bright sins V1.5.1 and i am missing it..!! or am i wrong here?
thnx
Add new Device Error: undefined with status: Not Found - 404
noting more in the log as this:
Component
10-15-2016 22:15:25.974     INFO    HA Bridge (v3.1.0) starting....     com.bwssystems.HABridge.HABridge
10-15-2016 22:15:26.534     INFO    reading from config file: data/habridge.config  com.bwssystems.HABridge.BridgeSettings
10-15-2016 22:15:27.323     INFO    HA Bridge (v3.1.0) initializing....     com.bwssystems.HABridge.HABridge
10-15-2016 22:15:27.483     INFO    System control service started....  com.bwssystems.HABridge.SystemControl
10-15-2016 22:15:29.767     INFO    == Spark has ignited ...    spark.webserver.JettySparkServer
10-15-2016 22:15:29.791     INFO    >> Listening on <IP_ADDRESS>:8080    spark.webserver.JettySparkServer
10-15-2016 22:15:31.296     INFO    setup initiated ....    com.bwssystems.harmony.HarmonyServer
10-15-2016 22:15:37.983     INFO    activity changed: [19974595] watch television   com.bwssystems.harmony.HarmonyServer
10-15-2016 22:15:44.942     INFO    Starting Nest login...  com.bwssystems.nest.controller.NestSession
10-15-2016 22:15:47.045     INFO    Completed Nest login...     com.bwssystems.nest.controller.NestSession
Logging Configuration

after reinstall:
10-17-2016 19:52:51.366 	INFO 	HA Bridge (v3.1.0) starting.... 	com.bwssystems.HABridge.HABridge
10-17-2016 19:52:51.572 	INFO 	reading from config file: /home/pi/habridge/data/habridge.config 	com.bwssystems.HABridge.BridgeSettings
10-17-2016 19:52:52.606 	INFO 	HA Bridge (v3.1.0) initializing.... 	com.bwssystems.HABridge.HABridge
10-17-2016 19:52:52.798 	INFO 	System control service started.... 	com.bwssystems.HABridge.SystemControl
10-17-2016 19:52:54.958 	INFO 	== Spark has ignited ... 	spark.webserver.JettySparkServer
10-17-2016 19:52:54.981 	INFO 	>> Listening on <IP_ADDRESS>:8080 	spark.webserver.JettySparkServer
10-17-2016 19:52:56.438 	INFO 	setup initiated .... 	com.bwssystems.harmony.HarmonyServer
10-17-2016 19:53:03.145 	INFO 	activity changed: [19974595] watch television 	com.bwssystems.harmony.HarmonyServer
10-17-2016 19:53:03.183 	WARN 	Error reading the file: data/device.db - Does not exist or is not readable. continuing... 	com.bwssystems.HABridge.dao.DeviceRepository
10-17-2016 19:53:03.806 	INFO 	HABridge device management service started.... 	com.bwssystems.HABridge.devicemanagmeent.DeviceResource
10-17-2016 19:53:03.945 	INFO 	Hue emulator service started.... 	com.bwssystems.HABridge.hue.HueMulator
10-17-2016 19:53:03.998 	INFO 	Hue description service started.... 	com.bwssystems.HABridge.upnp.UpnpSettingsResource
10-17-2016 19:53:04.015 	INFO 	UPNP Discovery Listener starting.... 	com.bwssystems.HABridge.upnp.UpnpListener
10-17-2016 19:53:04.049 	INFO 	UPNP Discovery Listener running and ready.... 	com.bwssystems.HABridge.upnp.UpnpListener
10-17-2016 19:54:15.261 	WARN 	Issue getting directory listing for backups in directory: data 	com.bwssystems.util.BackupHandler
10-17-2016 19:54:18.087 	WARN 	Issue getting directory listing for backups in directory: data 	com.bwssystems.util.BackupHandler
10-17-2016 19:54:21.682 	WARN 	Issue getting directory listing for backups in directory: data 	com.bwssystems.util.BackupHandler
10-17-2016 19:54:42.097 	WARN 	Issue getting directory listing for backups in directory: data 	com.bwssystems.util.BackupHandler

So, the location of the directory for data is not writable. You will need to set that location differently in the config tab and save it first.

i dunn this step by step:
mkdir habridge
cd habridge
wget https://github.com/bwssytems/ha-bridge/releases/download/v3.1.0/ha-bridge-3.1.0.jar
Rename the .jar in /home/pi/habridge/ This will allow you to insert future versions by renaming them ha-bridge.jar and overwriting the existing ha-bridge.jar without having to redo the systemctl file.
mv ha-bridge-3.1.0.jar  ha-bridge.jar
Edit the shell script for starting:
nano starthabridge.sh
Then cut and past this, modify any locations that are not correct
cd /home/pi/habridge
rm /home/pi/habridge/habridge-log.txt
nohup java -jar /home/pi/habridge/ha-bridge.jar > /home/pi/habridge/habridge-log.txt 2>&1 &
chmod 777 /home/pi/habridge/habridge-log.txt
Exit and save the file with ctrl-X and follow the prompts and then execute on the command line:
chmod u+x starthabridge.sh
Then execute the script:
./starthabridge.sh
You should now be running the bridge. Check for errors:
tail -f habridge-log.txt
Create a systemctl unit file (habridge.service) so the habridge will autostart:
Create a unit file in the /etc/systemd/system/ directory and make sure it has the correct file permissions. Execute as root:
sudo su
touch /etc/systemd/system/habridge.service
chmod 664 /etc/systemd/system/habridge.service
Open the file for editing:
cd /etc/systemd/system/
nano habridge.service
Add the following content to the file:
[Unit]
Description=HA Bridge
Wants=network.target
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/java -jar -Dconfig.file=/home/pi/habridge/data/habridge.config /home/pi/habridge/ha-bridge.jar
[Install]
WantedBy=multi-user.target
Save the file (ctl-o), confirm the file to save as, and exit (ctl-x)
Execute the following commands to reload the configuration and start the custom service:
systemctl daemon-reload
systemctl start habridge.service
systemctl enable habridge
To check the status:
systemctl status habridge

● habridge.service - HA Bridge
Loaded: loaded (/etc/systemd/system/habridge.service; enabled)
Active: failed (Result: exit-code) since ma 2016-10-17 19:23:23 CEST; 10s ago
Main PID: 1144 (code=exited, status=100)

Hello BWS
its writable
root@FibaroPI:/home/pi/habridge/data# dir
device.db                         habridge.config
device.db-2016-10-17-19-47-35.bk  habridge.config-2016-10-17-19-50-45.cfgbk
root@FibaroPI:/home/pi/habridge/data#
10-17-2016 20:24:25.995 	WARN 	Error reading the file: data/device.db - Does not exist or is not readable. continuing... 	com.bwssystems.HABridge.dao.DeviceRepository

IN the Bridge Control tab, if the location says data/device.db, then it is wrong. You need to have the full path to /home/pi/habridge/data/device.db as when the system starts the habridge, the home dir is root not /home/pi.

still not working http://prntscr.com/cvj879

is it possible it has something to do whit the raspberry pi pixel software
https://www.raspberrypi.org/blog/introducing-pixel/
this i have installed on the PI?

It's not the PIXEL OS it is not finding or being able to access anything in the device.db. Can you do an ls -l on the /home/pi/habridge/data directory please.

http://prntscr.com/cvk2i5

sorry
http://prntscr.com/cvk34d

In the data directory: cd data; ls -l

http://prntscr.com/cvk34d sorry

In the data directory: cat devices.db

http://prntscr.com/cvk6gg file or dir dos not exist

Sorry, it is device.db

http://prntscr.com/cvk90a blocked my pasw :)

Ahh, that is an habridge.config file data. Shutdown your habridge and delete the device.db file. It will be better after that.

looks like its working now
but still have a error
10-17-2016 23:01:14.190 	WARN 	Error reading the file: /home/pi/habridge/data/device.db - Does not exist or is not readable. continuing... 	com.bwssystems.HABridge.dao.DeviceRepository

That would be correct as you just deleted the file. Now go add some devices....

looks nice thank you for your help :) are you planning to make a easy update button :D i worth love that hehe

Due to the multiple platforms, probably not on the update function. Closing this issue.

plz re open
after reboot i lost all my devises and back to 404
http://prntscr.com/cvyni7

Your command line to start the bridge is not pointing at the habridge.config that you saved before. Look at your setup for where your files are stored.

Hi,
I'm also gettting this 404 error. I deleted the device.db and now I have a new file with an existing device, but getting the error and no device is displayed in the webinterface.
 cat habridge.config {"upnpconfigaddress":"<IP_ADDRESS>","serverport":88,"upnpresponseport":50088,"upnpdevicedb":"/home/pi/habridge/data/device.db","harmonyaddress":{"devices":[{"name":"Harmony Hub","ip":"<IP_ADDRESS>"}]},"buttonsleep":100,"upnpstrict":true,"traceupnp":false,"nestuser":"kaeze","nestpwd":"doener123","veraconfigured":false,"harmonyconfigured":true,"nestconfigured":true,"farenheit":true,"configfile":"/home/pi/habridge/data/habridge.config","numberoflogmessages":512,"hueconfigured":false,"halconfigured":false,"whitelist":{"gld6NRZND6eB1YVgCmpZkiH8pOVn9zP0BGWj7SSY":{"lastUseDate":"2017-02-16T09:23:16","createDate":"2017-02-16T09:23:16","name":"auto insert user"},"test":{"lastUseDate":"2017-02-16T14:40:42","createDate":"2017-02-16T14:40:42","name":"auto insert user"}},"settingsChanged":true,"myechourl":"alexa.amazon.de/spa/index.html#cards","webaddress":"<IP_ADDRESS>","mqttconfigured":false,"hassconfigured":false,"hubversion":"01036659","domoticzconfigured":false}
 cat device.db [{"id":"1","uniqueid":"00:17:88:5E:D3:01-01","name":"Schalte Fernseher","mapType":"httpDevice","offUrl":"[{\"item\":\"http://<IP_ADDRESS>/web/remotecontrol?command\u003d116\",\"type\":\"httpDevice\",\"httpVerb\":\"GET\"}]","onUrl":"[{\"item\":\"http://<IP_ADDRESS>/web/remotecontrol?command\u003d116\",\"type\":\"httpDevice\",\"httpVerb\":\"GET\",\"httpBody\":\"\"}]","inactive":false,"noState":false}]

You need to post how you are starting the bridge and the details of that.


Fix : fill-empty-tbody-border-color

Fixes #34732

Thanks for your commitment, but this fix is inappropriate. The initial issue does not relate to multiple tbody. Feel free to comment back on the initial issue.


SLSA Verification Fails

What steps did you take and what happened?
Run the following commands to verify the recent release:
IMAGE="ghcr.io/rancher-sandbox/rancher-turtles:v0.3.0"
IMAGE="${IMAGE}@"$(crane digest "${IMAGE}")
slsa-verifier verify-image "$IMAGE" --source-uri github.com/rancher-sandbox/rancher-turtles --source-tag v0.3.0

Running this outputs:
FAILED: SLSA verification failed: no matching attestations

What did you expect to happen?
I would expect the verification to pass.
How to reproduce it?
No response
Rancher Turtles version
No response
Anything else you would like to add?
I also tried with the image from the Rancher Prime registry
Label(s) to be applied
/kind bug

This is because i was using the manifest image and not the individual architecure images. If i use them instead we get:
> IMAGE="ghcr.io/rancher-sandbox/rancher-turtles-amd64:v0.3.0"
> IMAGE="${IMAGE}@"$(crane digest "${IMAGE}")
> slsa-verifier verify-image "$IMAGE" --source-uri github.com/rancher-sandbox/rancher-turtles --source-tag v0.3.0
Verified build using builder<EMAIL_ADDRESS>at commit 0a3a60b29aa9b9007b51e63ec958ec41b3cc7aae
PASSED: Verified SLSA provenance

So closing this.


Query endpoint: default to ZSON response

For the query endpoint, if the "Accept" endpoint is not specified
default to ZSON.
Part of brimdata/brim#1905

Closing and going with the approach in #3242 instead.


Sourcemap annotations should be string, not boolean, values

See postcss/autoprefixer docs:
https://github.com/postcss/autoprefixer/blob/master/README.md#source-map

Adds test to assert a string annotation is handled correctly

I came across this because in my project's Gruntfile.js I use LESS to generate a sourcemap and add an annotation to the output, then run autoprefixer however this meant it would generate a new sourcemap based on the single .css output from LESS and so the sourcemap didn't actually map the LESS files used to build it.
With this change the the annotation option will take a string which will specify what the annotation comment value should be, which the autoprefixer then updates the outputted CSS with.

Thanks for merging & tagging @nDmitry :)


Ultra slow response for transaction history, incomplete information displayed

Although this might have to do with the mdw performance, but the SH wallet users are directly affected. I actually wanted to record the TX list missing recent transactions, but then found out the most likely reason for that: The fetching of the latest transactions (which is probably ran in the background and the user doesn't notice) is slow beyond reason. What could be the cause for this? Do we agree we want to work on improving this?
Video: https://youtu.be/odKTb80ltpY

Hi, @nikita-fuchs.
We experienced some problems with the backend endpoint that we are using to receive tip withdrawn transactions.
https://superhero-backend-mainnet.prd.service.aepps.com/cache/events/?address={address}&event=TipWithdrawn&limit=5
The time needed to get the response from this endpoint was in minutes. It was fixed on the backend side.

Cool, it works fine now, thanks!


Test release

Summary

Ticket Link

Related Pull Requests

Has server changes (please link here)
Has mobile changes (please link here)

Screenshots

Release Note

/update-branch

Error trying to update the PR.
Please do it manually.


rm(vendor): removing the vendor directory from litmus-go

Signed-off-by: shubhamchaudhary<EMAIL_ADDRESS>
removing the vendor directory from litmus-go

/merge


original_path extraction error regarding LTCurve

During the process of extracting shape data from a PDF, I converted the created text letter 'o' into a shape object.

Here is the curve data I obtained.

Normally, there should only be one set of curve data.
However, it seems that there are two in this case. Here is the graphic created on the canvas using the obtained data:

The filling color obtained for the second set of curve data is incorrect.
This is the PDF I conducted the test on:
LTCurve.pdf
Is there any way to resolve this?
Thank you very much.

@KaboChow What is the code you are using to extract the curves?

@pietermarsman Thank you for your reply.
Regarding the question I am having, I have found the answer in another question [https://github.com/jsvine/pdfplumber/issues/1057] (url).


[otbn,dv] The otbn_sec_cm test is broken for all seeds

Description
A bit of bisection shows that this error was caused by:
574ece386f * [flash_ctrl/rtl] Enable SecFifoPtr for TL-UL FIFOs
To run a test: util/dvsim/dvsim.py hw/ip/otbn/dv/uvm/otbn_sim_cfg.hjson -i otbn_sec_cm --fixed-seed=123, which will fail with a message like:
* `xmsim: *E,ASRTST (/home/rjs/work/opentitan/scratch/tmp/otbn-sim-xcelium/default/src/lowrisc_prim_fifo_*/rtl/prim_fifo_sync.sv,151): Assertion DataKnown_A has failed` has 1 failures:
    * Test otbn_sec_cm has 1 failures.
        * 0.otbn_sec_cm.123\
          Line 150, in log /home/rjs/work/opentitan/scratch/tmp/otbn-sim-xcelium/0.otbn_sec_cm/latest/run.log

                xmsim: *E,ASRTST (/home/rjs/work/opentitan/scratch/tmp/otbn-sim-xcelium/default/src/lowrisc_prim_fifo_0/rtl/prim_fifo_sync.sv,151): (time 1014314 PS) Assertion tb.dut.u_tlul_adapter_sram_imem.u_sramreqfifo.DataKnown_A has failed
                UVM_ERROR @   1014314 ps: (prim_fifo_sync.sv:151) [ASSERT FAILED] DataKnown_A
                UVM_INFO @   1014314 ps: (uvm_report_catcher.svh:705) [UVM/REPORT/CATCHER]
                --- UVM Report catcher Summary ---

Taking a quick look at a log, this error appears just after:
UVM_INFO @   1009051 ps: (prim_count_if.sv:38) [tb.dut.u_tlul_adapter_sram_imem.u_sramreqfifo.gen_normal_fifo.u_fifo_cnt.gen_secure_ptrs.u_rptr.u_prim_count_if] Forcing tb.dut.u_tlul_adapter_sram_imem.u_sramreqfifo.gen_normal_fifo.u_fifo_cnt.gen_secure_ptrs.u_rptr.cnt_q[0] from 0 to 1

so presumably we're telling a FIFO that it has entries, but they actually turn out to be 'X.
My guess is that the assertion needs turning off in this situation with an $assertoff call.
@nasahlpa: I think this change is yours, and I notice that you've tweaked the TLUL adapter. Does my analysis above sound plausible to you?

I've put some effort into debugging this, but haven't got to the bottom of things yet. I've tried sprinkling "ignore this assertion" flags all over the place and I've got as far as... an alert coming out and no change in the STATUS register.
That seems to be an RTL bug, if I understand things correctly:

In the test, we're forcing a reqfifo counter from zero.
This is observed as a bus integrity violation on the DMEM side.
The signal comes out of tb.dut.u_tlul_adapter_sram_dmem as dmem_bus_intg_violation
That translates to a fatal error.
... but doesn't get factored into the current run state in any way.

I think this is a bug: I believe we should have the invariant that we will always go to the locked state after emitting a fatal error.
You can reproduce this by grabbing the otbn-sec-cm-debugging branch from my fork (https://github.com/rswarbrick/opentitan/tree/otbn-sec-cm-debugging) and running:
util/dvsim/dvsim.py hw/ip/otbn/dv/uvm/otbn_sim_cfg.hjson -i otbn_sec_cm --fixed-seed=123

The debug logs contain this:
UVM_INFO @  21955791 ps: (prim_count_if.sv:38) [tb.dut.u_tlul_adapter_sram_dmem.u_reqfifo.gen_normal_fifo.u_fifo_cnt.gen_secure_ptrs.u_rptr.u_prim_count_if] Forcing tb.dut.u_tlul_adapter_sram_dmem.u_reqfifo.gen_normal_fifo.u_fifo_cnt.gen_secure_ptrs.u_rptr.cnt_q[0] from 0 to 1
UVM_INFO @  21966317 ps: (cip_base_vseq__sec_cm_fi.svh:32) uvm_test_top.env.virtual_sequencer [uvm_test_top.env.virtual_sequencer.otbn_common_vseq] expected fatal alert is triggered for SecCmPrimCount
UVM_FATAL @  64075580 ps: (otbn_scoreboard.sv:497) uvm_test_top.env.scoreboard [uvm_test_top.env.scoreboard] A fatal alert arrived 4000 cycles ago and we still don't think it should have done.
UVM_INFO @  64075580 ps: (uvm_report_catcher.svh:705) [UVM/REPORT/CATCHER]

and the waves support the analysis I wrote above.

@GregAC: Would you mind taking a look at this? I'm rather hoping that I've misunderstood a bit of the OTBN security model.

Thanks for raising this and your effort debugging this!
I've only added the .Secure(1) option to the u_reqfifo and u_sramreqfifo:
https://github.com/lowRISC/opentitan/blob/574ece386f821fa4bba1b390b859c2c32043845b/hw/ip/tlul/rtl/tlul_adapter_sram.sv#L526
https://github.com/lowRISC/opentitan/blob/574ece386f821fa4bba1b390b859c2c32043845b/hw/ip/tlul/rtl/tlul_adapter_sram.sv#L550
Before my change, this option only was set for the u_rspfifo:
https://github.com/lowRISC/opentitan/blob/574ece386f821fa4bba1b390b859c2c32043845b/hw/ip/tlul/rtl/tlul_adapter_sram.sv#L576
As the issue you are seeing also affects other modules (c.f. #23567), I also tried debugging this but I could not find a solution. I wonder why it seems to work for the u_rspfifo FIFO but not for the other FIFOs.
In the worst case, we need to revert #23515 but from a sec. point of view it would be better having the Secure option also enabled for these FIFOs. WDYT @vogelpi?

I am investigating this.

@nasahlpa will now attempt to fix this. It would be better to keep #23515 .

I've now discussed this with Pascal and I believe there is a very easy way to fix this: inside tlul_sram_adapter.sv where the issue originates we use multiple prim_sync_fifo primitives with the OutputZeroIfEmpty parameter set to enabled (default). What now happens is that during these error tests, a fault is injected which makes the FIFO think it's non-empty and as a result, it will no longer output 0 (as per the parameter) but X.
My suggestion is to change the RTL of the primitive such as follows:
    if (OutputZeroIfEmpty == 1'b1) begin : gen_output_zero
      assign rdata_o = empty ? Width'(0) : rdata_int;
    end else begin : gen_no_output_zero
      assign rdata_o = rdata_int;
    end

to
    if (OutputZeroIfEmpty == 1'b1) begin : gen_output_zero
      assign rdata_o = empty || err_o ? Width'(0) : rdata_int;
    end else begin : gen_no_output_zero
      assign rdata_o = rdata_int;
    end

meaning in the error case, we output 0 instead of the X. This affects multiple primitives in the design but since the error signal also factors into a fatal alert, we don't add a security risk of outputting a known deterministic value. This will solve DV issues in multiple blocks that were introduced by turning the hardening of these FIFOs on.

@rswarbrick @nasahlpa @vogelpi spent some time digging into this, here's what's happening:

The FIFO which holds request data for the tilelink SRAM adapter has a fault inserted in one of its counters, this causes the FIFO to falsely believe it has data in it, causing rvalid_o to be raised but crucially the data it outputs is X (as the read pointer counter points at a FIFO entry that hasn't had valid data written into it)
The error in the counter triggers an alert and also triggers an escalation request to OTBN
The Xs from the request data combined with the false rvalid_o result in Xs going back to the request data's FIFO rready_i input

This occurs because tlul_adapter_sram produces its dvalid for the tilelink response based upon the output of the request FIFO. Specifically if the request FIFO output data has its error field set we want an immediate response (here the error means some issue with the incoming tl request, e.g. it fails a tlul protocol check or it's trying to do a byte write and byte writes aren't allowed)
We pop from the request FIFO when the response is sent hence the dvalid factors into the request FIFO rready_i

The X on the rready_i means the internal counters go to X (they don't know if they're changing or not)
This results in Xs all over the place internally to the request FIFO, resulting in the error output of the request FIFO going X
The error eventually factors into the escalate input escalate_en_i in OTBN core, which goes to X
escalate_en_i being X means the state of otbn_start_stop_controller goes to X (The state machine in otbn_controller has already gone to locked due to the initial error)

So we see an initial escalate which causes the OTBN controller to moved to a locked state but otbn_start_stop_controller is still doing it's initial secure wipe as it's just come out of reset (the test injects a fault then resets DUT then repeats), so the escalate doesn't effect anything immediately (other than setting should_lock_q). escalate_en_i going to X messes things up because of these lines:
https://github.com/lowRISC/opentitan/blob/aa66b4b46c0025229e100e6f79da487c4a9985e1/hw/ip/otbn/rtl/otbn_start_stop_control.sv#L360-L369
We have a unconditional move to the locked state where the escalate_en_i MUBI value is invalid. This is reasonable but the problem is where escalate_en_i is X we end up with an uncertain state!
So we get an initial alert from the fault, this escalates to OTBN which should lock, but never actually signals lock because of the above which means the otbn_start_stop_control state goes to X, which in particular means we never get the locking_o signal output.
The question now is what, if anything, should we fix in RTL (especially as we're into RTL freeze but could maybe slip in a small change)? There's a few things we could do:

@vogelpi's suggested fix, which would ensure the data out of a FIFO isn't X under error conditions, this would prevent the whole chain of events occurring, we'd just the alert and OTBN locking as expected. I think it's also low risk as it's not altering any control flows (the rvalid behaviour will not change). Would also be easy to remove via an ECO if we decided it has other negative impacts (possibly easy to add as well, given we've already got logic in there that does the zeroing we just need to add a new way to trigger it).
Attempt to isolate the Xs within tlul_adapter_sram, e.g. ignoring data from the request FIFO if the request FIFO has an error, so we'd get 0 for dvalid in this case and no Xs going back into the request FIFO control
Add logic into the otbn_start_stop_control state machine that stops testing escalate_en_i for invalid values once we know we're locking anyway (e.g. because we've already seen a valid escalation request)
Not worry that Xs on escalate_en_i in this case cause our otbn_start_stop_control state to go to X. We know here the escalation has been triggered and we will lock in any scenario with the real hardware (e.g. consider possibilities if escalate_en_i was a different random, non X value every cycle following the initial escalation where it's MUBI4True for a cycle)

I think 2. is likely similar to @nasahlpa's initial suggested fix (https://github.com/lowRISC/opentitan/pull/23595) which was abandoned due to it causing TLUL timeout issues under other scenarios (where a response that should have gone out gets killed), though perhaps by doing it in tlul_adapter_sram instead we could avoid those problems

should probably come with some extra testing to verify that once we've had at least one cycle of escalation is MUBI4True we do eventually reach a fully locked state regardless of what escalate_en_i values we see.

Ultimately I think it does come down to gaining confidence in the escalate_en_i behaviour. The problem is if we get an actual invalid MUBI value we'll go to the locked state sooner, but we would have gone there anyway eventually. Due to the way the simulator handles Xs though we cannot confirm this (in effect we'd need the sim to fork and run one thread going down the state machine assuming we continue to have a valid escalate_en_i value and the other assuming we continue to have an invalid escalate_en_i value, finding they both eventually end up with the state going to the same value OtbnStartStopStateLocked and thus eventually resolving the state to that value).
My recommendation would be to consider @vogelpi's suggested fix for late inclusion, and to consider ways to test this escalate_en_i behaviour (perhaps we can do something hacky that allows us to force it to random values every cycle once we've seen it go X or similar?).


[terra-worklist-data-grid] add Jest tests

Summary

This PR adds Jest testing capabilities for terra-worklist-data-grid. This PR also fixes a bug in row height when the height prop is not set, by updating the worklist-data-grid-cell-data CSS class.
Screenshots
Before:

After:

Testing

This change was tested using:

[ ] WDIO
[x] Jest
[x] Visual testing (please attach a screenshot or recording)
[ ] Other (please describe below)
[ ] No tests are needed

Reviews
In addition to engineering reviews, this PR needs:

[ ] UX review
[ ] Accessibility review
[ ] Functional review

Thank you for contributing to Terra.
@cerner/terra

@sdadn - The row height should always be set.  Is there not a default row height value being set in the default props?  Is that the real source of the issue instead of the CSS?


TF 2.14 minimum nvidia driver version

Issue type
Documentation Bug
Have you reproduced the bug with TensorFlow Nightly?
No
Source
binary
TensorFlow version
tf 2.14
Custom code
No
OS platform and distribution
Tensorflow Docker image
Mobile device
No response
Python version
3.11
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
450.203.8
GPU model and memory
No response
Current behavior?
I have a question on if the minimum nvidia driver version has changed (I believe the current docs state 450.80.02 (https://www.tensorflow.org/install/pip)). The below script ran using the 2.13 docker image. Thank you.
When trying to run a test gpu benchmark, I get the following error:
2023-10-02 16:01:32.433368: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:461] Possibly insufficient driver version: 450.203.8

Standalone code to reproduce the issue
Below is the code being used:

import tensorflow as tf
from tensorflow import keras
import numpy as np
import matplotlib.pyplot as plt
import timeit

# Download data and scale
(X_train, y_train), (X_test, y_test) = keras.datasets.cifar10.load_data()

# scaling image values between 0-1
X_train_scaled = X_train/255
X_test_scaled = X_test/255

# one hot encoding labels
y_train_encoded = keras.utils.to_categorical(y_train, num_classes = 10, dtype = 'float32')
y_test_encoded = keras.utils.to_categorical(y_test, num_classes = 10, dtype = 'float32')

# Define the model
def get_model():
    model = keras.Sequential([
        keras.layers.Flatten(input_shape=(32,32,3)),
        keras.layers.Dense(3000, activation='relu'),
        keras.layers.Dense(1000, activation='relu'),
        keras.layers.Dense(10, activation='sigmoid')
    ])
    model.compile(optimizer='SGD',
              loss='categorical_crossentropy',
              metrics=['accuracy'])
    return model

# GPU Benchmark
def gpuBench():
    # GPU
    #strategy = tf.distribute.MirroredStrategy()
    #with strategy.scope():
    with tf.device('/GPU:0'):
        model_gpu = get_model()
        model_gpu.fit(X_train_scaled, y_train_encoded, epochs = 10)

gpuBench()

Relevant log output
No response

@schrummy14,
Could you please confirm if this is the document which you are looking for https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
and also provide if you are facing any issue/error while the running code mentioned above or the executed smoothly. Thank you!

@tilakrayal,
No, not the Nvidia doc. This was part of the tensorflow docs. (https://www.tensorflow.org/install/pip)
The code does not complete and errors out.
Below is the full error.
Error occurs for both k80s and v100s.
2023-10-02 16:01:32.416512: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x31b68fd0 initialized for platform CUDA (this does not guarantee that XLA will be used). Devices:
2023-10-02 16:01:32.416555: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Tesla K80, Compute Capability 3.7
2023-10-02 16:01:32.416570: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (1): Tesla K80, Compute Capability 3.7
2023-10-02 16:01:32.416580: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (2): Tesla K80, Compute Capability 3.7
2023-10-02 16:01:32.416590: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (3): Tesla K80, Compute Capability 3.7
2023-10-02 16:01:32.423430: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:447] Could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
2023-10-02 16:01:32.423550: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:451] Memory usage: 466550784 bytes free,<PHONE_NUMBER>4 bytes total.
2023-10-02 16:01:32.423628: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:461] Possibly insufficient driver version: 450.203.8
2023-10-02 16:01:32.423777: W tensorflow/core/framework/op_kernel.cc:1839] OP_REQUIRES failed at xla_ops.cc:624 : FAILED_PRECONDITION: DNN library initialization failed. Look at the errors above for more details.
2023-10-02 16:01:32.426575: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:447] Could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
2023-10-02 16:01:32.426663: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:451] Memory usage: 466550784 bytes free,<PHONE_NUMBER>4 bytes total.
2023-10-02 16:01:32.426717: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:461] Possibly insufficient driver version: 450.203.8
2023-10-02 16:01:32.426873: W tensorflow/core/framework/op_kernel.cc:1839] OP_REQUIRES failed at xla_ops.cc:624 : FAILED_PRECONDITION: DNN library initialization failed. Look at the errors above for more details.
2023-10-02 16:01:32.430015: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:447] Could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
2023-10-02 16:01:32.430104: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:451] Memory usage: 466550784 bytes free,<PHONE_NUMBER>4 bytes total.
2023-10-02 16:01:32.430150: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:461] Possibly insufficient driver version: 450.203.8
2023-10-02 16:01:32.430300: W tensorflow/core/framework/op_kernel.cc:1839] OP_REQUIRES failed at xla_ops.cc:624 : FAILED_PRECONDITION: DNN library initialization failed. Look at the errors above for more details.
2023-10-02 16:01:32.433232: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:447] Could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
2023-10-02 16:01:32.433321: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:451] Memory usage: 466550784 bytes free,<PHONE_NUMBER>4 bytes total.
2023-10-02 16:01:32.433368: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:461] Possibly insufficient driver version: 450.203.8
2023-10-02 16:01:32.433499: W tensorflow/core/framework/op_kernel.cc:1839] OP_REQUIRES failed at xla_ops.cc:624 : FAILED_PRECONDITION: DNN library initialization failed. Look at the errors above for more details.
2023-10-02 16:01:32.437404: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:447] Could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
2023-10-02 16:01:32.437495: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:451] Memory usage: 466550784 bytes free,<PHONE_NUMBER>4 bytes total.
2023-10-02 16:01:32.437554: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:461] Possibly insufficient driver version: 450.203.8
2023-10-02 16:01:32.437678: W tensorflow/core/framework/op_kernel.cc:1839] OP_REQUIRES failed at xla_ops.cc:624 : FAILED_PRECONDITION: DNN library initialization failed. Look at the errors above for more details.
2023-10-02 16:01:32.440590: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:447] Could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
2023-10-02 16:01:32.440676: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:451] Memory usage: 466550784 bytes free,<PHONE_NUMBER>4 bytes total.
2023-10-02 16:01:32.440731: E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:461] Possibly insufficient driver version: 450.203.8
2023-10-02 16:01:32.440884: W tensorflow/core/framework/op_kernel.cc:1839] OP_REQUIRES failed at xla_ops.cc:624 : FAILED_PRECONDITION: DNN library initialization failed. Look at the errors above for more details.
---------------------------------------------------------------------------
FailedPreconditionError                   Traceback (most recent call last)
Cell In[6], line 2
      1 # Run GPU Benchmark
----> 2 gpuBench()

Cell In[5], line 8, in gpuBench()
      6 with tf.device('/GPU:0'):
      7     model_gpu = get_model()
----> 8     model_gpu.fit(X_train_scaled, y_train_encoded, epochs = 10)

File /usr/local/lib/python3.11/dist-packages/keras/src/utils/traceback_utils.py:70, in filter_traceback.<locals>.error_handler(*args, **kwargs)
     67     filtered_tb = _process_traceback_frames(e.__traceback__)
     68     # To get the full stack trace, call:
     69     # `tf.debugging.disable_traceback_filtering()`
---> 70     raise e.with_traceback(filtered_tb) from None
     71 finally:
     72     del filtered_tb

File /usr/local/lib/python3.11/dist-packages/tensorflow/python/eager/execute.py:60, in quick_execute(op_name, num_outputs, inputs, attrs, ctx, name)
     53   # Convert any objects of type core_types.Tensor to Tensor.
     54   inputs = [
     55       tensor_conversion_registry.convert(t)
     56       if isinstance(t, core_types.Tensor)
     57       else t
     58       for t in inputs
     59   ]
---> 60   tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
     61                                       inputs, attrs, num_outputs)
     62 except core._NotOkStatusException as e:
     63   if name is not None:

FailedPreconditionError: Graph execution error:

Detected at node SGD/StatefulPartitionedCall_4 defined at (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main

  File "<frozen runpy>", line 88, in _run_code

  File "/usr/local/lib/python3.11/dist-packages/ipykernel_launcher.py", line 17, in <module>

  File "/usr/local/lib/python3.11/dist-packages/traitlets/config/application.py", line 1046, in launch_instance

  File "/usr/local/lib/python3.11/dist-packages/ipykernel/kernelapp.py", line 736, in start

  File "/usr/local/lib/python3.11/dist-packages/tornado/platform/asyncio.py", line 195, in start

  File "/usr/lib/python3.11/asyncio/base_events.py", line 604, in run_forever

  File "/usr/lib/python3.11/asyncio/base_events.py", line 1909, in _run_once

  File "/usr/lib/python3.11/asyncio/events.py", line 80, in _run

  File "/usr/local/lib/python3.11/dist-packages/ipykernel/kernelbase.py", line 516, in dispatch_queue

  File "/usr/local/lib/python3.11/dist-packages/ipykernel/kernelbase.py", line 505, in process_one

  File "/usr/local/lib/python3.11/dist-packages/ipykernel/kernelbase.py", line 412, in dispatch_shell

  File "/usr/local/lib/python3.11/dist-packages/ipykernel/kernelbase.py", line 740, in execute_request

  File "/usr/local/lib/python3.11/dist-packages/ipykernel/ipkernel.py", line 422, in do_execute

  File "/usr/local/lib/python3.11/dist-packages/ipykernel/zmqshell.py", line 546, in run_cell

  File "/usr/local/lib/python3.11/dist-packages/IPython/core/interactiveshell.py", line 3024, in run_cell

  File "/usr/local/lib/python3.11/dist-packages/IPython/core/interactiveshell.py", line 3079, in _run_cell

  File "/usr/local/lib/python3.11/dist-packages/IPython/core/async_helpers.py", line 129, in _pseudo_sync_runner

  File "/usr/local/lib/python3.11/dist-packages/IPython/core/interactiveshell.py", line 3284, in run_cell_async

  File "/usr/local/lib/python3.11/dist-packages/IPython/core/interactiveshell.py", line 3466, in run_ast_nodes

  File "/usr/local/lib/python3.11/dist-packages/IPython/core/interactiveshell.py", line 3526, in run_code

  File "/tmp/ipykernel_89/3941288529.py", line 2, in <module>

  File "/tmp/ipykernel_89/898971160.py", line 8, in gpuBench

  File "/usr/local/lib/python3.11/dist-packages/keras/src/utils/traceback_utils.py", line 65, in error_handler

  File "/usr/local/lib/python3.11/dist-packages/keras/src/engine/training.py", line 1783, in fit

  File "/usr/local/lib/python3.11/dist-packages/keras/src/engine/training.py", line 1377, in train_function

  File "/usr/local/lib/python3.11/dist-packages/keras/src/engine/training.py", line 1360, in step_function

  File "/usr/local/lib/python3.11/dist-packages/keras/src/engine/training.py", line 1349, in run_step

  File "/usr/local/lib/python3.11/dist-packages/keras/src/engine/training.py", line 1130, in train_step

  File "/usr/local/lib/python3.11/dist-packages/keras/src/optimizers/optimizer.py", line 544, in minimize

  File "/usr/local/lib/python3.11/dist-packages/keras/src/optimizers/optimizer.py", line 1223, in apply_gradients

  File "/usr/local/lib/python3.11/dist-packages/keras/src/optimizers/optimizer.py", line 652, in apply_gradients

  File "/usr/local/lib/python3.11/dist-packages/keras/src/optimizers/optimizer.py", line 1253, in _internal_apply_gradients

  File "/usr/local/lib/python3.11/dist-packages/keras/src/optimizers/optimizer.py", line 1345, in _distributed_apply_gradients_fn

  File "/usr/local/lib/python3.11/dist-packages/keras/src/optimizers/optimizer.py", line 1340, in apply_grad_to_update_var

DNN library initialization failed. Look at the errors above for more details.
	 [[{{node SGD/StatefulPartitionedCall_4}}]] [Op:__inference_train_function_727]

nvidia-smi output
nimbix@jarvice-job-85995-jt7l8:/data$ nvidia-smi
Wed Oct  4 21:21:57 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.203.08   Driver Version: 450.203.08   CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla K80           Off  | 00000000:00:04.0 Off |                    0 |
| N/A   33C    P8    27W / 149W |      0MiB / 11441MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  Tesla K80           Off  | 00000000:00:05.0 Off |                    0 |
| N/A   46C    P8    28W / 149W |      0MiB / 11441MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   2  Tesla K80           Off  | 00000000:00:06.0 Off |                    0 |
| N/A   73C    P8    33W / 149W |      0MiB / 11441MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   3  Tesla K80           Off  | 00000000:00:07.0 Off |                    0 |
| N/A   32C    P8    27W / 149W |      0MiB / 11441MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

Hi,
For 2.13 version, could you please try with the below configuration.

Version
Python version
Compiler
Build tools
cuDNN
CUDA

tensorflow-2.14.0
3.9-3.11
Clang 16.0.0
Bazel 6.1.0
8.7
11.8

tensorflow-2.13.0
3.8-3.11
Clang 16.0.0
Bazel 5.3.0
8.6
11.8

will cudnn latest versions work (say 8.9)?


Log file--install has failed---win7-64

2016-01-15 23:07:00> Program: Starting Squirrel Updater: --install .
2016-01-15 23:07:02> Program: Starting install, writing to C:\Users\Administrator.WIN7U-20150520K\AppData\Local\SquirrelTemp
2016-01-15 23:07:02> Program: About to install to: C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom
2016-01-15 23:07:03> CheckForUpdateImpl: Failed to load local releases, starting from scratch: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom\packages\RELEASES'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at Squirrel.Utility.LoadLocalReleases(String localReleaseFile)
at Squirrel.UpdateManager.CheckForUpdateImpl.d__2.MoveNext()
2016-01-15 23:07:03> CheckForUpdateImpl: Reading RELEASES file from C:\Users\Administrator.WIN7U-20150520K\AppData\Local\SquirrelTemp
2016-01-15 23:07:03> CheckForUpdateImpl: First run or local directory is corrupt, starting from scratch
2016-01-15 23:07:04> ApplyReleasesImpl: Writing files to app directory: C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom\app-1.0.11
2016-01-15 23:07:38> IEnableLogger: Failed to install package to app dir: System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
at System.IO.PathHelper.GetFullPathName()
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetFullPathInternal(String path)
at System.IO.Path.GetFullPath(String path)
at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractEntry(ZipEntry entry)
at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractZip(Stream inputStream, String targetDirectory, Overwrite overwrite, ConfirmOverwriteDelegate confirmDelegate, String fileFilter, String directoryFilter, Boolean restoreDateTime, Boolean isStreamOwner)
at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractZip(String zipFileName, String targetDirectory, Overwrite overwrite, ConfirmOverwriteDelegate confirmDelegate, String fileFilter, String directoryFilter, Boolean restoreDateTime)
at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClass6_0.<b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Squirrel.Utility.d__331.MoveNext() 2016-01-15 23:07:38> Unhandled exception: System.AggregateException: One or more errors occurred. ---> System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.    at System.IO.PathHelper.GetFullPathName()    at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)    at System.IO.Path.GetFullPathInternal(String path)    at System.IO.Path.GetFullPath(String path)    at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractEntry(ZipEntry entry)    at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractZip(Stream inputStream, String targetDirectory, Overwrite overwrite, ConfirmOverwriteDelegate confirmDelegate, String fileFilter, String directoryFilter, Boolean restoreDateTime, Boolean isStreamOwner)    at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractZip(String zipFileName, String targetDirectory, Overwrite overwrite, ConfirmOverwriteDelegate confirmDelegate, String fileFilter, String directoryFilter, Boolean restoreDateTime)    at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClass6_0.<<installPackageToAppDir>b__0>d.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Squirrel.Utility.<LogIfThrows>d__331.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Squirrel.UpdateManager.ApplyReleasesImpl.d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Squirrel.UpdateManager.d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Squirrel.Update.Program.d__4.MoveNext()
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait()
at Squirrel.Update.Program.executeCommandLine(String[] args)
at Squirrel.Update.Program.main(String[] args)
---> (Inner Exception #0) System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
at System.IO.PathHelper.GetFullPathName()
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetFullPathInternal(String path)
at System.IO.Path.GetFullPath(String path)
at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractEntry(ZipEntry entry)
at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractZip(Stream inputStream, String targetDirectory, Overwrite overwrite, ConfirmOverwriteDelegate confirmDelegate, String fileFilter, String directoryFilter, Boolean restoreDateTime, Boolean isStreamOwner)
at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractZip(String zipFileName, String targetDirectory, Overwrite overwrite, ConfirmOverwriteDelegate confirmDelegate, String fileFilter, String directoryFilter, Boolean restoreDateTime)
at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClass6_0.<b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Squirrel.Utility.d__33`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Squirrel.UpdateManager.ApplyReleasesImpl.d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Squirrel.UpdateManager.d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Squirrel.Update.Program.d__4.MoveNext()<---
2016-01-15 23:08:54> Program: Starting Squirrel Updater: --install .
2016-01-15 23:08:54> Program: Starting install, writing to C:\Users\Administrator.WIN7U-20150520K\AppData\Local\SquirrelTemp
2016-01-15 23:08:54> Program: About to install to: C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom
2016-01-15 23:08:54> Program: Install path C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom already exists, burning it to the ground
2016-01-15 23:08:55> CheckForUpdateImpl: Failed to load local releases, starting from scratch: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom\packages\RELEASES'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at Squirrel.Utility.LoadLocalReleases(String localReleaseFile)
at Squirrel.UpdateManager.CheckForUpdateImpl.d__2.MoveNext()
2016-01-15 23:08:55> CheckForUpdateImpl: Reading RELEASES file from C:\Users\Administrator.WIN7U-20150520K\AppData\Local\SquirrelTemp
2016-01-15 23:08:55> CheckForUpdateImpl: First run or local directory is corrupt, starting from scratch
2016-01-15 23:08:56> ApplyReleasesImpl: Writing files to app directory: C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom\app-1.0.11
2016-01-15 23:09:13> IEnableLogger: Failed to install package to app dir: System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
at System.IO.PathHelper.GetFullPathName()
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetFullPathInternal(String path)
at System.IO.Path.GetFullPath(String path)
at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractEntry(ZipEntry entry)
at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractZip(Stream inputStream, String targetDirectory, Overwrite overwrite, ConfirmOverwriteDelegate confirmDelegate, String fileFilter, String directoryFilter, Boolean restoreDateTime, Boolean isStreamOwner)
at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractZip(String zipFileName, String targetDirectory, Overwrite overwrite, ConfirmOverwriteDelegate confirmDelegate, String fileFilter, String directoryFilter, Boolean restoreDateTime)
at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClass6_0.<b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Squirrel.Utility.d__331.MoveNext() 2016-01-15 23:09:13> Unhandled exception: System.AggregateException: One or more errors occurred. ---> System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.    at System.IO.PathHelper.GetFullPathName()    at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)    at System.IO.Path.GetFullPathInternal(String path)    at System.IO.Path.GetFullPath(String path)    at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractEntry(ZipEntry entry)    at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractZip(Stream inputStream, String targetDirectory, Overwrite overwrite, ConfirmOverwriteDelegate confirmDelegate, String fileFilter, String directoryFilter, Boolean restoreDateTime, Boolean isStreamOwner)    at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractZip(String zipFileName, String targetDirectory, Overwrite overwrite, ConfirmOverwriteDelegate confirmDelegate, String fileFilter, String directoryFilter, Boolean restoreDateTime)    at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClass6_0.<<installPackageToAppDir>b__0>d.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Squirrel.Utility.<LogIfThrows>d__331.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Squirrel.UpdateManager.ApplyReleasesImpl.d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Squirrel.UpdateManager.d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Squirrel.Update.Program.d__4.MoveNext()
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait()
at Squirrel.Update.Program.executeCommandLine(String[] args)
at Squirrel.Update.Program.main(String[] args)
---> (Inner Exception #0) System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
at System.IO.PathHelper.GetFullPathName()
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetFullPathInternal(String path)
at System.IO.Path.GetFullPath(String path)
at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractEntry(ZipEntry entry)
at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractZip(Stream inputStream, String targetDirectory, Overwrite overwrite, ConfirmOverwriteDelegate confirmDelegate, String fileFilter, String directoryFilter, Boolean restoreDateTime, Boolean isStreamOwner)
at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractZip(String zipFileName, String targetDirectory, Overwrite overwrite, ConfirmOverwriteDelegate confirmDelegate, String fileFilter, String directoryFilter, Boolean restoreDateTime)
at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClass6_0.<b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Squirrel.Utility.d__33`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Squirrel.UpdateManager.ApplyReleasesImpl.d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Squirrel.UpdateManager.d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Squirrel.Update.Program.d__4.MoveNext()<---
2016-04-29 22:20:59> Program: Starting Squirrel Updater: --install .
2016-04-29 22:21:00> Program: Starting install, writing to C:\Users\Administrator.WIN7U-20150520K\AppData\Local\SquirrelTemp
2016-04-29 22:21:01> Program: About to install to: C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom
2016-04-29 22:21:01> Program: Install path C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom already exists, burning it to the ground
2016-04-29 22:21:05> Utility: DeleteDirectory: could not delete - C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom\app-1.0.11\lib\net45\resources\app\apm\node_modules\mv\node_modules: System.IO.IOException: 目录不是空的。
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive, Boolean throwOnTopLevelDirectoryNotFound)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
at Squirrel.Utility.d__3b.MoveNext()
2016-04-29 22:21:05> Utility: DeleteDirectory: could not delete - C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom\app-1.0.11\lib\net45\resources\app\apm\node_modules\mv: System.IO.IOException: 目录不是空的。
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive, Boolean throwOnTopLevelDirectoryNotFound)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
at Squirrel.Utility.d__3b.MoveNext()
2016-04-29 22:21:13> Utility: DeleteDirectory: could not delete - C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom\app-1.0.11\lib\net45\resources\app\apm\node_modules: System.IO.IOException: 目录不是空的。
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive, Boolean throwOnTopLevelDirectoryNotFound)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
at Squirrel.Utility.d__3b.MoveNext()
2016-04-29 22:21:13> Utility: DeleteDirectory: could not delete - C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom\app-1.0.11\lib\net45\resources\app\apm: System.IO.IOException: 目录不是空的。
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive, Boolean throwOnTopLevelDirectoryNotFound)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
at Squirrel.Utility.d__3b.MoveNext()
2016-04-29 22:21:13> Utility: DeleteDirectory: could not delete - C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom\app-1.0.11\lib\net45\resources\app: System.IO.IOException: 目录不是空的。
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive, Boolean throwOnTopLevelDirectoryNotFound)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
at Squirrel.Utility.d__3b.MoveNext()
2016-04-29 22:21:13> Utility: DeleteDirectory: could not delete - C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom\app-1.0.11\lib\net45\resources: System.IO.IOException: 目录不是空的。
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive, Boolean throwOnTopLevelDirectoryNotFound)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
at Squirrel.Utility.d__3b.MoveNext()
2016-04-29 22:21:13> Utility: DeleteDirectory: could not delete - C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom\app-1.0.11\lib\net45: System.IO.IOException: 目录不是空的。
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive, Boolean throwOnTopLevelDirectoryNotFound)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
at Squirrel.Utility.d__3b.MoveNext()
2016-04-29 22:21:13> Utility: DeleteDirectory: could not delete - C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom\app-1.0.11\lib: System.IO.IOException: 目录不是空的。
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive, Boolean throwOnTopLevelDirectoryNotFound)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
at Squirrel.Utility.d__3b.MoveNext()
2016-04-29 22:21:13> Utility: DeleteDirectory: could not delete - C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom\app-1.0.11: System.IO.IOException: 目录不是空的。
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive, Boolean throwOnTopLevelDirectoryNotFound)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
at Squirrel.Utility.d__3b.MoveNext()
2016-04-29 22:21:13> Utility: DeleteDirectory: could not delete - C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom: System.IO.IOException: 目录不是空的。
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive, Boolean throwOnTopLevelDirectoryNotFound)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
at Squirrel.Utility.d__3b.MoveNext()
2016-04-29 22:21:13> CheckForUpdateImpl: Failed to load local releases, starting from scratch: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom\packages\RELEASES'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at Squirrel.Utility.LoadLocalReleases(String localReleaseFile)
at Squirrel.UpdateManager.CheckForUpdateImpl.d__3f.MoveNext()
2016-04-29 22:21:13> CheckForUpdateImpl: Reading RELEASES file from C:\Users\Administrator.WIN7U-20150520K\AppData\Local\SquirrelTemp
2016-04-29 22:21:13> CheckForUpdateImpl: First run or local directory is corrupt, starting from scratch
2016-04-29 22:21:15> ApplyReleasesImpl: Writing files to app directory: C:\Users\Administrator.WIN7U-20150520K\AppData\Local\atom\app-1.7.3
2016-04-29 22:21:43> IEnableLogger: Failed to install package to app dir: System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
at System.IO.PathHelper.GetFullPathName()
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetFullPathInternal(String path)
at System.IO.Path.GetFullPath(String path)
at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractEntry(ZipEntry entry)
at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractZip(Stream inputStream, String targetDirectory, Overwrite overwrite, ConfirmOverwriteDelegate confirmDelegate, String fileFilter, String directoryFilter, Boolean restoreDateTime, Boolean isStreamOwner)
at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<b__ad>d__bd.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Squirrel.Utility.d__501.MoveNext() 2016-04-29 22:21:43> Unhandled exception: System.AggregateException: One or more errors occurred. ---> System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.    at System.IO.PathHelper.GetFullPathName()    at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)    at System.IO.Path.GetFullPathInternal(String path)    at System.IO.Path.GetFullPath(String path)    at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractEntry(ZipEntry entry)    at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractZip(Stream inputStream, String targetDirectory, Overwrite overwrite, ConfirmOverwriteDelegate confirmDelegate, String fileFilter, String directoryFilter, Boolean restoreDateTime, Boolean isStreamOwner)    at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<<installPackageToAppDir>b__ad>d__bd.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Squirrel.Utility.<LogIfThrows>d__501.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Squirrel.UpdateManager.ApplyReleasesImpl.d__7a.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Squirrel.UpdateManager.d__f.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Squirrel.Update.Program.d__38.MoveNext()
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait()
at Squirrel.Update.Program.executeCommandLine(String[] args)
at Squirrel.Update.Program.main(String[] args)
---> (Inner Exception #0) System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
at System.IO.PathHelper.GetFullPathName()
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetFullPathInternal(String path)
at System.IO.Path.GetFullPath(String path)
at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractEntry(ZipEntry entry)
at ICSharpCode.SharpZipLib.Zip.FastZip.ExtractZip(Stream inputStream, String targetDirectory, Overwrite overwrite, ConfirmOverwriteDelegate confirmDelegate, String fileFilter, String directoryFilter, Boolean restoreDateTime, Boolean isStreamOwner)
at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<b__ad>d__bd.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Squirrel.Utility.d__50`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Squirrel.UpdateManager.ApplyReleasesImpl.d__7a.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Squirrel.UpdateManager.d__f.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Squirrel.Update.Program.d__38.MoveNext()<---

It appears the path is too long. We suspect this issue will go away with npm3. Until then the only solution is to use the .zip file verison and manually unpack it somewhere.


feat(bedrock): Implement Prompt management

Fixes #664
Implements Prompt Management
Integration test can be run with command npx projen integ:prompts:deploy.
Due to the addition of integration tests, @aws-cdk/integ-tests-alpha was added as a dev dependency in .projenrc.ts

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the project license.

Thanks @aws-rafams ! Qq: "Fixes partially" -> is this because of the current limitation mentioned in this ticket, so this PR implements Prompt/Prompt management from the original ticket, correct ? If yes, I'll create a separate ticket for Prompt/Prompt management and link it to this PR

Could you please add code snippets for the new feature to https://github.com/aws-rafams/generative-ai-cdk-constructs/blob/prompt-management/src/cdk-lib/bedrock/README.md ?

Thanks @aws-rafams ! Qq: "Fixes partially" -> is this because of the current limitation mentioned in this ticket, so this PR implements Prompt/Prompt management from the original ticket, correct ? If yes, I'll create a separate ticket for Prompt/Prompt management and link it to this PR

Hey Alain!
Correct, this is because prompt management can be implemented regardless of the Prompt Flow part which I'm waiting for the CFN fix for the missing Node Types.

need to change some things, let's pause the merge

desired changes done, thanks :)

@aws-rafams ha you were faster, I was pushing right after you to update the snapshots :) thanks !

Thank you for the contribution!
nit: please consider keeping formatting separate whenever possible to ease reviews of form verse function.


Procedural mesh with better performance

Hey, Koderz.
When I run test for 10k 52 triangles each I got much worse results when using RMC.
I though that using RMC guarantees performance gain, but I was mistaken.
Setup: https://i.imgur.com/TxNrPsn.png
I know measuring FPS makes not much sense sometimes but here:
RMC: 160fps
PMC: 230fps
Forward rendering is enabled.
Kind regards,
Tefel

@Tefel could you try with collision 'on' ?

On the topic, if you haven't checked it yet, procedural mesh component was once again updated with 4.22 and features async. collision cooking which was trully missing compared to RuntimeMesh.
In my tests Procedural Mesh Component performs better moving forward.

But does the 4.22 Procedural Mesh Component support mobile targets? This is the reason why I switched to RuntimeMesh.

Ah thanks guys, I thought I am doing maybe something wrong, but yeah. If you want to create static worlds without live updates ISM or HISM is the best choice.
4.22 WOOOOOOOOOOW :D
But test was for 4.21, but it explains a lot of things.
I love support from Epic and caring about details :)

For what its worth, I tried compared 4.22 performance of RMC vs PMC.
RMC 4.21  22fps
RMC 4.22 33fps
PMC 4.22 15fps
So I'm not sure RMC is dead yet.  YMMV.

Think it really depends of your use case, in my tests PMC was also faster. Done on 4.22

Exactly! It all depends on your the case. I agree that updating mesh rapidly when using collisions is slowing down PCM, then of course RMC shines and can be used.

RMC - It is actually good when you have unique mesh where geometry changes runtime.
PMC - For multiple instances of the same mesh or just simple rendering purposes PMC is winning there.

@FishOrBear  v4 is out at this point and while I haven't finished optimizing it and profiling it against the PMC, everything I've tested shows significantly better performance for many operations than the PMC.
Closing as this is for an outdated version of the plugin that's no longer supported.
If you experience this or any other issues in the current version, feel free to report again!
Thanks!


Correct notebooks for neural networks in docs

Loss was calculated using np.sum without accounting for the number of samples. This worked for the batch size of 128 in combination with the low learning rate but lead to exploding gradients for larger batches.
np.mean is used now with a larger learning rate to achieve similar results.

Thanks for the fix!


[Release Tracker] functorch 0.1.1 minor release

The tentative deadline for commits is 4/8. We plan to release sometime the week of 4/12. The dates are flexible but we can also release more dot releases (e.g. 0.1.2)
If there is an issue you'd like to fix before the release, please tag it with the 0.1.1 milestone so we can track it.
In general, if the commit you wish to include looks too risky (e.g., refactors DynamicLayer :P), we might reject it or request more testing.
Logistics
If there is a commit you want to get into the release, please:

land the commit into the main branch
Create (but do not merge) a PR against the release branch (release/0.1)
Make a request below with the link to your PR against the release branch
Make sure that tests pass.

@zou3519 (or whoever's name is here) will merge the PRs into the release branch when tests pass. Please don't merge the PR yourself or it might get too hectic.

#649

[ ] #682
[ ] #684

We've released: https://github.com/pytorch/functorch/releases/tag/v0.1.1