unload model after x minutes of inactivity?

Hey Tim,
as far as I can tell the model hangs around in GPU memory indefinitely, which might be undesirable for certain use-cases.
I could submit a PR that introduces a timeout env variable (defaulting to 15min if not set), something like this (not yet tested):
import os
import uvicorn
from fastapi import FastAPI, Body, Depends
from pydantic import BaseModel
from fastapi.responses import FileResponse
from melo.api import TTS
from dotenv import load_dotenv
import tempfile
import threading
import time

load_dotenv()
DEFAULT_SPEED = float(os.getenv("DEFAULT_SPEED"))
DEFAULT_LANGUAGE = os.getenv("DEFAULT_LANGUAGE")
DEFAULT_SPEAKER_ID = os.getenv("DEFAULT_SPEAKER_ID")
device = "auto"  # Will automatically use GPU if available

# Idle timeout for unloading the model (in seconds), defaulting to 15 minutes
MODEL_IDLE_TIMEOUT = int(os.getenv("MODEL_IDLE_TIMEOUT", 15 * 60))

class TextModel(BaseModel):
    text: str
    speed: float = DEFAULT_SPEED
    language: str = DEFAULT_LANGUAGE
    speaker_id: str = DEFAULT_SPEAKER_ID

app = FastAPI()

class ModelManager:
    def __init__(self):
        self.model = None
        self.last_used = time.time()
        self.lock = threading.Lock()
        self._start_cleanup_thread()

    def _start_cleanup_thread(self):
        # Start a background thread that will periodically check and unload the model if idle
        def cleanup():
            while True:
                with self.lock:
                    if self.model and (time.time() - self.last_used) > MODEL_IDLE_TIMEOUT:
                        print("Unloading model due to inactivity...")
                        self.model = None
                time.sleep(60)  # Check every minute

        thread = threading.Thread(target=cleanup, daemon=True)
        thread.start()

    def get_model(self, language):
        with self.lock:
            if not self.model:
                print("Loading TTS model...")
                self.model = TTS(language=language, device=device)
            self.last_used = time.time()
            return self.model

# Instantiate the model manager
model_manager = ModelManager()

def get_tts_model(body: TextModel):
    return model_manager.get_model(body.language)

@app.post("/convert/tts")
async def create_upload_file(
    body: TextModel = Body(...), model: TTS = Depends(get_tts_model)
):
    speaker_ids = model.hps.data.spk2id

    # Use a temporary file
    with tempfile.NamedTemporaryFile(delete=False, suffix=".wav") as tmp:
        output_path = tmp.name
        model.tts_to_file(
            body.text, speaker_ids[body.speaker_id], output_path, speed=body.speed
        )

        # Return the audio file, ensure the file is not deleted until after the response is sent
        response = FileResponse(
            output_path, media_type="audio/mpeg", filename=os.path.basename(output_path)
        )

    return response

if __name__ == "__main__":
    uvicorn.run(app, host="<IP_ADDRESS>", port=8080)

@jozsefszalma I agree; adding this would be beneficial. The only thing I would suggest is to add a way to keep the model loaded in case someone needs it for responsiveness. I’d set it up so that if the variable is set to -1, the model stays loaded indefinitely.

FYI this a tad more complex than I initially expected; the melotts code loads some additional tensors during inferencing that are not cleaned up afterwards. So even if I move the model to cpu, then delete the model object, empty the torch cache and do a garbage collect there is still ~1.2 GB VRAM consumed.
I guess I will raise the topic with them and see.


copr: add truncate decimal & truncate uint

Signed-off-by: wangggong<EMAIL_ADDRESS>
What problem does this PR solve?
Issue Number: #9016
Problem Summary:
What is changed and how it works?
What's Changed:
Related changes
Check List
Tests

Unit test

Side effects
Release note
No release note.

/cc @skyzh @Xuanwo

/merge


Construction graph description, Low physical risk graphs

From Lauren McNicoll,
In the construction section, discussion on precipitation: ‘From 2060 onwards, in the Delayed transition scenario, precipitation will decrease at a constant rate’ , although the graph doesn’t seem to show a constant rate of decrease (and appears to be duplicated?)

Point on duplication applies to all low physical risk graphs - these can be combined to show Delayed and Current policies in one graph

Addressed


Pinned articles should not displayed in the article list

:tada: This issue has been resolved in version 1.3.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Test: @vscode/l10n-dev's generate-azure command

Refs: https://github.com/microsoft/vscode-l10n/issues/154

[x] anyOS @bpasero
[ ] anyOS @karrtikr

Complexity: 4
Create Issue

This month we released some new tooling for extension authors to use Azure Translate to translate their extensions. The hope is that since Azure Translator comes with a free tier, that extension authors will want to support more users by localizing their extensions for free!
Here's the process:

Have an extension that uses vscode.l10n.t() or package.nls.json (you can see how to use these in the README
I recommend you set the l10n property in your package.json to like ./l10n. Keeps things organized (and gives you web localization support 😄 )
Then you want to use @vscode/l10n-dev's CLI to do the rest:

Export your strings into a bundle using the instructions here: https://github.com/microsoft/vscode-l10n/tree/main/l10n-dev#exporting-strings
Follow the steps to use the generate-azure command documented here: https://github.com/microsoft/vscode-l10n/tree/main/l10n-dev#azure-ai-translator-experimental

Quick start for creating an Azure Translator:

See if this direct link works
If not, Go to the Azure Portal and Search for "Translator"
Create a new Translator
"Click here to manage keys" on the overview page
The key & location on that page are the two environment variables mentioned in the generate-azure section of the README

🆒


Download and print images?

I'm using openseadragon in a project and my client wants me to add buttons to download and print the images. I'm hoping you can help me, because I really have no idea where to start. There's two major steps here:
(1) Add custom buttons to the viewer nav. I'm opening the viewer as follows:
var viewer = OpenSeadragon({
                id: "databaseviewer",
                prefixUrl: "../../Scripts/openseadragon/images/",
                tileSources: url,
                maxZoomLevel: 20
            });

Is there a place in that call that I could specify new nav images? I really don't know what i need to do here.
(2) Create the download/print functionality. If I had a simple .jpg I could figure this out myself, but I obviously can't print a dzi tile source. What would I need to do to print the image being displayed in the viewer?
If you can help me at all with this I'd really appreciate it.

hey i have a query ,I made annotations with recognito/annatorious and now i want to download the area inside the annotations ,how do i do it ?

@nikhilagastya You should be able to grab whatever's in the Drawer's canvas... That'll be the current view at the moment you grab it. You can then cut it down to just the area inside the annotation.


issue with download image 2022.815.1

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az artifacts universal download Extension Name: azure-devops. Version: 0.25.0.
Errors:
The command failed with an unexpected error. Here is the traceback:
File is not a zip file
Traceback (most recent call last):
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 231, in invoke
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 663, in execute
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 726, in _run_jobs_serially
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 718, in _run_job
  File "C:\Users\lmoiseichuk\.azure\cliextensions\azure-devops\azext_devops\dev\common\exception_handler.py", line 31, in azure_devops_exception_handler
    reraise(*sys.exc_info())
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\six.py", line 703, in reraise
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 697, in _run_job
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 333, in __call__
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler
  File "C:\Users\lmoiseichuk\.azure\cliextensions\azure-devops\azext_devops\dev\artifacts\universal.py", line 98, in download_package
    return artifact_tool.download_universal(organization, project, feed, name, version, path, file_filter)
  File "C:\Users\lmoiseichuk\.azure\cliextensions\azure-devops\azext_devops\dev\common\artifacttool.py", line 42, in download_universal
    return self.run_artifacttool(organization, args, "Downloading")
  File "C:\Users\lmoiseichuk\.azure\cliextensions\azure-devops\azext_devops\dev\common\artifacttool.py", line 57, in run_artifacttool
    artifacttool_dir = self._artifacttool_updater.get_latest_artifacttool(organization)
  File "C:\Users\lmoiseichuk\.azure\cliextensions\azure-devops\azext_devops\dev\common\artifacttool_updater.py", line 43, in get_latest_artifacttool
    artifacttool_binary_path = self._get_artifacttool(organization)
  File "C:\Users\lmoiseichuk\.azure\cliextensions\azure-devops\azext_devops\dev\common\artifacttool_updater.py", line 74, in _get_artifacttool
    _update_artifacttool(release_uri, release_id)
  File "C:\Users\lmoiseichuk\.azure\cliextensions\azure-devops\azext_devops\dev\common\artifacttool_updater.py", line 114, in _update_artifacttool
    f = zipfile.ZipFile(content)
  File "zipfile.py", line 1267, in __init__
  File "zipfile.py", line 1334, in _RealGetContents
zipfile.BadZipFile: File is not a zip file

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az artifacts universal download --organization {} --feed {} --name {} --version {} --path {}

Expected Behavior
Environment Summary
Windows-10-10.0.22000-SP0
Python 3.10.5
Installer: MSI

azure-cli 2.39.0

Extensions:
azure-devops 0.25.0

Dependencies:
msal 1.18.0b1
azure-mgmt-resource 21.1.0b1

Additional Context

parameters are internal information; I can share them for MS engineers

To pass this problem temporarily has to disable auto-upgrade
az config set auto-upgrade.enable=no


[wip] add pcs trait

[x] add pcs trait from ceno
[x] Adapt whir pcs code according to pcs trait

I suggest keeping the modification as separated as possible from the existing code, because the upstream is still under active development, and we may want to periodically merge in their optimizations and bug fixes. Modifying the existing files directly may introduce a lot of changes due to cargo fmt, and more and more (unnecessary) merge conflicts.

I picked the most important changes from this PR to a new branch cyte/ceno-binding. Would you mind rebasing your new changes to this branch?

I picked the most important changes from this PR to a new branch cyte/ceno-binding. Would you mind rebasing your new changes to this branch?

I have changed the pr according to ceno-binding module directly


Show validation errors in multiple upload views

Is your proposal related to a problem?

When I upload an image with custom required fields via the multiple upload view, I see the following which suggests that the upload has been successful:

However, the alt field is required. Therefore, the upload form is invalid and the image isn't saved in the database. Moreover, I get no hints that something is wrong unless I click the Update button. Only at that point do I see an error:

Describe the solution you'd like

Show a different message instead of the current Upload successful one which will let me know that the file has been successfully uploaded but I have to fill the missing fields and click Update so the image is saved in the database.

i guess upload successful is appropriate here as the message is only concerned with the upload, moreover
wouldn't it be weird to see a message constantly reminding you to fill the other sections when you deliberately choose to upload the image first then fill the other fields ?

I think that there coule be 2 approaches to this problem:

We can change the Upload successful message to something like "Upload successful. Please update this fields below and click Update to save this image to the database. You may also delete the image completely if the upload wasn't required."

We can change the "Update" button to a "Save" button. I feel that "Save" would better reflect the situation here (you are saving the image to the database, not really updating info of an existing one"

Please let me know how your feedback, and then I can try a pull request for this.


fix fix flaky partial update cases

Proposed changes
Issue Number: close #xxx
Add sync operation after streamload before query

run buildall


Missing tag for 0.6.1

It'd be helpful to have tags on GitHub for all of the PyPI releases if possible. We're unable to use 1.0.x because of memory leaks (working on a minimal example for a separate issue). In the meantime, there's a tag for 0.6.0 on GitHub, but a 0.6.1 release on PyPI.

@rouge8 if I create tag for version 0.6.1  the chronology of tags will be broken. I prefer to avoid this,
it would be great if you switch to version 1.0.x. I will help you to do this.
It would be great if you provide minimal example for memory leaks. it would be really helpful.

the version 0.6.1 was release from commit d7feedf241b5fc034cff1f1b46248bb9ed0cef55

I can create branch for version 0.6.1, does it work for you ?

@bgaifullin as long as you don't create a release (just a tag), the chronology should be fine, e.g. https://github.com/rouge8/python-xmlsec/releases

@rouge8  I mean chronology of tags https://github.com/mehcode/python-xmlsec/tags

Sure, and adding 0.6.1 shows up on July 5, 2016:
https://github.com/rouge8/python-xmlsec/tags
On Wed, Jun 21, 2017 at 8:42 AM, Bulat Gaifullin<EMAIL_ADDRESS>wrote:

@rouge8 https://github.com/rouge8 I mean chronology of tags
https://github.com/mehcode/python-xmlsec/tags
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mehcode/python-xmlsec/issues/62#issuecomment-310120180,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOdzcvop6BokID5UJUDFkZtKWrDr9RYks5sGTn3gaJpZM4OAVO6
.

O, I do not know about this. Thank you :)

@rouge8 How you do this, when I creating tag, it becames at top position.

@rouge8 done. I have created tag 0.6.1, thank you for help.


Error in manifest.webapp

The webapp manifest isn't a valid JSON file: SyntaxError: JSON.parse: expected double-quoted property name at line 18

Here is the message I get when I want to install the application... I can't find the error.

Hey @dadall, thank you for reporting this issue.
This is indeed a bug in wallabag-1.0.0-rc1. You can try https://github.com/wallabag/wallabag-fxos/archive/master.zip instead, but I will create rc2 right away.

RC2 (currently the same as master) is at https://github.com/wallabag/wallabag-fxos/archive/v1.0.0-rc2.zip

This is better, but let me open another issue now :o)
Btw, thank YOU for your app ;)


[JVM-packages] XGBoostModel training failed with Rabit returns with exit code 1

I encountered the following problems when using xgboost4j-spark 1.6.1 , spark 3.2.1 and scala 2.12，
Can someone help me out？
spark parameters:
--conf spark.sql.shuffle.partitions=200
--conf spark.executor.instances=8
--conf spark.driver.memory=4g \
xgboost parameters:
"num_workers"->8,
"nthread"->1
error:
2022-06-17 06:10:10 [task-result-getter-0]  INFO [YarnClusterScheduler:57]: Removed TaskSet 2.0, whose tasks have all completed, from pool
2022-06-17 06:10:10 [dag-scheduler-event-loop]  INFO [DAGScheduler:57]: ResultStage 2 (collect at XGBoost.scala:431) finished in 2871.246 s
2022-06-17 06:10:10 [dag-scheduler-event-loop]  INFO [DAGScheduler:57]: Job 1 is finished. Cancelling potential speculative or zombie tasks for this job
2022-06-17 06:10:10 [dag-scheduler-event-loop]  INFO [YarnClusterScheduler:57]: Killing all running tasks in stage 2: Stage finished
2022-06-17 06:10:10 [Driver]  INFO [DAGScheduler:57]: Job 1 finished: collect at XGBoost.scala:431, took 3022.842636 s
2022-06-17 06:10:10 [Driver]  INFO [RabitTracker:213]: Tracker Process ends with exit code 1
2022-06-17 06:10:10 [Driver]  INFO [XGBoostSpark:433]: Rabit returns with exit code 1
2022-06-17 06:10:11 [Driver] ERROR [XGBoostSpark:455]: the job was aborted due to
ml.dmlc.xgboost4j.java.XGBoostError: XGBoostModel training failed.
at ml.dmlc.xgboost4j.scala.spark.XGBoost$.trainDistributed(XGBoost.scala:435)
at ml.dmlc.xgboost4j.scala.spark.XGBoostRegressor.train(XGBoostRegressor.scala:190)
at ml.dmlc.xgboost4j.scala.spark.XGBoostRegressor.train(XGBoostRegressor.scala:37)
at org.apache.spark.ml.Predictor.fit(Predictor.scala:151)
at SparkPi$.main(SparkPi.scala:52)
at SparkPi.main(SparkPi.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:737)
2022-06-17 06:10:11 [Driver] ERROR [ApplicationMaster:94]: User class threw exception: ml.dmlc.xgboost4j.java.XGBoostError: XGBoostModel training failed.
ml.dmlc.xgboost4j.java.XGBoostError: XGBoostModel training failed.
at ml.dmlc.xgboost4j.scala.spark.XGBoost$.trainDistributed(XGBoost.scala:435)
at ml.dmlc.xgboost4j.scala.spark.XGBoostRegressor.train(XGBoostRegressor.scala:190)
at ml.dmlc.xgboost4j.scala.spark.XGBoostRegressor.train(XGBoostRegressor.scala:37)
at org.apache.spark.ml.Predictor.fit(Predictor.scala:151)
at SparkPi$.main(SparkPi.scala:52)
at SparkPi.main(SparkPi.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:737)
2022-06-17 06:10:11 [Driver]  INFO [ApplicationMaster:57]: Final app status: FAILED, exitCode: 15, (reason: User class threw exception: ml.dmlc.xgboost4j.java.XGBoostError: XGBoostModel training failed.
at ml.dmlc.xgboost4j.scala.spark.XGBoost$.trainDistributed(XGBoost.scala:435)
at ml.dmlc.xgboost4j.scala.spark.XGBoostRegressor.train(XGBoostRegressor.scala:190)
at ml.dmlc.xgboost4j.scala.spark.XGBoostRegressor.train(XGBoostRegressor.scala:37)
at org.apache.spark.ml.Predictor.fit(Predictor.scala:151)
at SparkPi$.main(SparkPi.scala:52)
at SparkPi.main(SparkPi.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:737)

Hi, could you please post the log from executors?

executors seems like running successfully。。

Executors seems like running successfully。
log：
2022-06-17 14:04:32 [dispatcher-Executor]  INFO [YarnCoarseGrainedExecutorBackend:57]: Got assigned task 92
2022-06-17 14:04:32 [Executor task launch worker for task 60.0 in stage 1.0 (TID 92)]  INFO [Executor:57]: Running task 60.0 in stage 1.0 (TID 92)
2022-06-17 14:04:33 [Executor task launch worker for task 60.0 in stage 1.0 (TID 92)]  INFO [FileScanRDD:57]: Reading File path: afs://xingtian.afs.baidu.com:9902/user/feed_plat/job_data/development/zhengjianjia/spark/spark_train_c, range:<PHONE_NUMBER>-4043259950, partition values: [empty row]
2022-06-17 14:04:53 [Executor task launch worker for task 60.0 in stage 1.0 (TID 92)]  INFO [Executor:57]: Finished task 60.0 in stage 1.0 (TID 92). 1759 bytes result sent to driver
2022-06-17 14:04:54 [dispatcher-Executor]  INFO [YarnCoarseGrainedExecutorBackend:57]: Got assigned task 102
2022-06-17 14:04:54 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [Executor:57]: Running task 6.0 in stage 2.0 (TID 102)
2022-06-17 14:04:54 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [MapOutputTrackerWorker:57]: Updating epoch to 1 and clearing cache
2022-06-17 14:04:54 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [TorrentBroadcast:57]: Started reading broadcast variable 4 with 1 pieces (estimated total size 4.0 MiB)
2022-06-17 14:04:54 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [TransportClientFactory:310]: Successfully created connection to yq01-hpc-lvliang-i1316.yq01.baidu.com/<IP_ADDRESS>:49763 after 1 ms (0 ms spent in bootstraps)
2022-06-17 14:04:54 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [MemoryStore:57]: Block broadcast_4_piece0 stored as bytes in memory (estimated size 5.2 KiB, free 2.8 GiB)
2022-06-17 14:04:54 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [TorrentBroadcast:57]: Reading broadcast variable 4 took 21 ms
2022-06-17 14:04:54 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [MemoryStore:57]: Block broadcast_4 stored as values in memory (estimated size 9.4 KiB, free 2.8 GiB)
2022-06-17 14:04:55 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [MemoryStore:57]: Block rdd_20_6 stored as values in memory (estimated size 4.8 MiB, free 2.8 GiB)
2022-06-17 14:04:56 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [MapOutputTrackerWorker:57]: Don't have map outputs for shuffle 0, fetching them
2022-06-17 14:04:56 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [MapOutputTrackerWorker:57]: Doing the fetch; tracker endpoint = NettyRpcEndpointRef(spark://MapOutputTracker@yq01-hpc-lvliang-i1316.yq01.baidu.com:57813)
2022-06-17 14:04:56 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [MapOutputTrackerWorker:57]: Got the map output locations
2022-06-17 14:04:56 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [ShuffleBlockFetcherIterator:57]: Getting 64 (255.7 MiB) non-empty blocks including 8 (32.0 MiB) local and 0 (0.0 B) host-local and 0 (0.0 B) push-merged-local and 56 (223.7 MiB) remote blocks
2022-06-17 14:04:56 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [TransportClientFactory:310]: Successfully created connection to yq01-hpc-lvliang-i1108.yq01.baidu.com/<IP_ADDRESS>:56296 after 11 ms (0 ms spent in bootstraps)
2022-06-17 14:04:56 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [ShuffleBlockFetcherIterator:57]: Started 5 remote fetches in 117 ms
2022-06-17 14:05:14 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [TransportClientFactory:310]: Successfully created connection to yq01-hpc-lvliang-i1111.yq01.baidu.com/<IP_ADDRESS>:55054 after 3 ms (0 ms spent in bootstraps)
2022-06-17 14:05:26 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [TransportClientFactory:310]: Successfully created connection to yq01-hpc-lvliang-i1106.yq01.baidu.com/<IP_ADDRESS>:52970 after 2 ms (0 ms spent in bootstraps)
2022-06-17 14:56:12 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [Executor:57]: 1 block locks were not released by task 6.0 in stage 2.0 (TID 102)
[rdd_20_6]
2022-06-17 14:56:12 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [Executor:57]: Finished task 6.0 in stage 2.0 (TID 102). 1177 bytes result sent to driver
2022-06-17 15:08:23 [dispatcher-Executor]  INFO [YarnCoarseGrainedExecutorBackend:57]: Driver commanded a shutdown
2022-06-17 15:08:24 [dispatcher-Executor]  INFO [YarnCoarseGrainedExecutorBackend:57]: Driver from yq01-hpc-lvliang-i1316.yq01.baidu.com:57813 disconnected during shutdown
2022-06-17 15:08:24 [dispatcher-Executor]  INFO [YarnCoarseGrainedExecutorBackend:57]: Driver from yq01-hpc-lvliang-i1316.yq01.baidu.com:57813 disconnected during shutdown
2022-06-17 15:08:24 [CoarseGrainedExecutorBackend-stop-executor]  INFO [MemoryStore:57]: MemoryStore cleared
2022-06-17 15:08:24 [CoarseGrainedExecutorBackend-stop-executor]  INFO [BlockManager:57]: BlockManager stopped
2022-06-17 15:08:24 [CoarseGrainedExecutorBackend-stop-executor]  INFO [TSDBReporter:222]: stop sending
2022-06-17 15:08:24 [Thread-2]  INFO [ShutdownHookManager:57]: Shutdown hook called
output：
[06:05:51] [690]	train-rmse:34.52551950994114094
[06:05:55] [691]	train-rmse:34.52534229661804943
[06:06:00] [692]	train-rmse:34.52519560304814661
[06:06:03] [693]	train-rmse:34.52512034711867273
[06:06:06] [694]	train-rmse:34.52495916896965156
[06:06:09] [695]	train-rmse:34.52486004181641022
[06:06:13] [696]	train-rmse:34.52474283998827076
[06:06:17] [697]	train-rmse:34.52446090707221771
[06:06:20] [698]	train-rmse:34.52429376354228197
[06:06:23] [699]	train-rmse:34.52418313626171908

train failed with local mode as well.
output log:
[15:50:46] [690]	train-rmse:0.00520688644065732
[15:50:46] [691]	train-rmse:0.00520692697203341
[15:50:46] [692]	train-rmse:0.00520696681770753
[15:50:46] [693]	train-rmse:0.00520700622236835
[15:50:46] [694]	train-rmse:0.00520704498998811
[15:50:46] [695]	train-rmse:0.00520708323702370
[15:50:47] [696]	train-rmse:0.00520712108582036
[15:50:47] [697]	train-rmse:0.00520715829172192
[15:50:47] [698]	train-rmse:0.00520719506255524
[15:50:47] [699]	train-rmse:0.00520723134969795
22/06/17 15:50:47 ERROR XGBoostSpark: the job was aborted due to
ml.dmlc.xgboost4j.java.XGBoostError: XGBoostModel training failed.
at ml.dmlc.xgboost4j.scala.spark.XGBoost$.trainDistributed(XGBoost.scala:435)
at ml.dmlc.xgboost4j.scala.spark.XGBoostRegressor.train(XGBoostRegressor.scala:190)
at ml.dmlc.xgboost4j.scala.spark.XGBoostRegressor.train(XGBoostRegressor.scala:37)
at org.apache.spark.ml.Predictor.fit(Predictor.scala:151)
at $line14.$read$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw.(example:44)
at $line14.$read$$iw$$iw$$iw$$iw$$iw$$iw$$iw.(example:61)
at $line14.$read$$iw$$iw$$iw$$iw$$iw$$iw.(example:63)
at $line14.$read$$iw$$iw$$iw$$iw$$iw.(example:65)
at $line14.$read$$iw$$iw$$iw$$iw.(example:67)
at $line14.$read$$iw$$iw$$iw.(example:69)
at $line14.$read$$iw$$iw.(example:71)
at $line14.$read$$iw.(example:73)
at $line14.$read.(example:75)
at $line14.$read$.(example:79)
at $line14.$read$.(example)
at $line14.$eval$.$print$lzycompute(example:7)
at $line14.$eval$.$print(example:6)
at $line14.$eval.$print(example)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:747)
at scala.tools.nsc.interpreter.IMain$Request.loadAndRun(IMain.scala:1020)
at scala.tools.nsc.interpreter.IMain.$anonfun$interpret$1(IMain.scala:568)
at scala.reflect.internal.util.ScalaClassLoader.asContext(ScalaClassLoader.scala:36)
at scala.reflect.internal.util.ScalaClassLoader.asContext$(ScalaClassLoader.scala:116)
at scala.reflect.internal.util.AbstractFileClassLoader.asContext(AbstractFileClassLoader.scala:41)
at scala.tools.nsc.interpreter.IMain.loadAndRunReq$1(IMain.scala:567)
at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:594)
at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:564)
at scala.tools.nsc.interpreter.ILoop.$anonfun$pasteCommand$11(ILoop.scala:795)
at scala.tools.nsc.interpreter.IMain.withLabel(IMain.scala:111)
at scala.tools.nsc.interpreter.ILoop.interpretCode$1(ILoop.scala:795)
at scala.tools.nsc.interpreter.ILoop.pasteCommand(ILoop.scala:801)
at org.apache.spark.repl.SparkILoop.$anonfun$process$8(SparkILoop.scala:177)
at org.apache.spark.repl.SparkILoop.$anonfun$process$8$adapted(SparkILoop.scala:176)
at scala.collection.immutable.List.foreach(List.scala:431)
at org.apache.spark.repl.SparkILoop.loadInitFiles$1(SparkILoop.scala:176)
at org.apache.spark.repl.SparkILoop.$anonfun$process$4(SparkILoop.scala:166)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
at scala.tools.nsc.interpreter.ILoop.$anonfun$mumly$1(ILoop.scala:166)
at scala.tools.nsc.interpreter.IMain.beQuietDuring(IMain.scala:206)
at scala.tools.nsc.interpreter.ILoop.mumly(ILoop.scala:163)
at org.apache.spark.repl.SparkILoop.loopPostInit$1(SparkILoop.scala:153)
at org.apache.spark.repl.SparkILoop.$anonfun$process$10(SparkILoop.scala:221)
at org.apache.spark.repl.SparkILoop.withSuppressedSettings$1(SparkILoop.scala:189)
at org.apache.spark.repl.SparkILoop.startup$1(SparkILoop.scala:201)
at org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:236)
at org.apache.spark.repl.Main$.doMain(Main.scala:78)
at org.apache.spark.repl.Main$.main(Main.scala:58)
at org.apache.spark.repl.Main.main(Main.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.spark.deploy.JavaMainApplication.start(SparkApplication.scala:52)
at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:958)
at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:180)
at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:203)
at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:90)
at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:1046)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:1055)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
ml.dmlc.xgboost4j.java.XGBoostError: XGBoostModel training failed.
at ml.dmlc.xgboost4j.scala.spark.XGBoost$.trainDistributed(XGBoost.scala:435)
at ml.dmlc.xgboost4j.scala.spark.XGBoostRegressor.train(XGBoostRegressor.scala:190)
at ml.dmlc.xgboost4j.scala.spark.XGBoostRegressor.train(XGBoostRegressor.scala:37)
at org.apache.spark.ml.Predictor.fit(Predictor.scala:151)
... 60 elided

executors log:
2022-06-17 14:04:32 [dispatcher-Executor]  INFO [YarnCoarseGrainedExecutorBackend:57]: Got assigned task 92
2022-06-17 14:04:32 [Executor task launch worker for task 60.0 in stage 1.0 (TID 92)]  INFO [Executor:57]: Running task 60.0 in stage 1.0 (TID 92)
2022-06-17 14:04:33 [Executor task launch worker for task 60.0 in stage 1.0 (TID 92)]  INFO [FileScanRDD:57]: Reading File path: /train, range:<PHONE_NUMBER>-4043259950, partition values: [empty row]
2022-06-17 14:04:53 [Executor task launch worker for task 60.0 in stage 1.0 (TID 92)]  INFO [Executor:57]: Finished task 60.0 in stage 1.0 (TID 92). 1759 bytes result sent to driver
2022-06-17 14:04:54 [dispatcher-Executor]  INFO [YarnCoarseGrainedExecutorBackend:57]: Got assigned task 102
2022-06-17 14:04:54 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [Executor:57]: Running task 6.0 in stage 2.0 (TID 102)
2022-06-17 14:04:54 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [MapOutputTrackerWorker:57]: Updating epoch to 1 and clearing cache
2022-06-17 14:04:54 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [TorrentBroadcast:57]: Started reading broadcast variable 4 with 1 pieces (estimated total size 4.0 MiB)
2022-06-17 14:04:54 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [TransportClientFactory:310]: Successfully created connection to after 1 ms (0 ms spent in bootstraps)
2022-06-17 14:04:54 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [MemoryStore:57]: Block broadcast_4_piece0 stored as bytes in memory (estimated size 5.2 KiB, free 2.8 GiB)
2022-06-17 14:04:54 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [TorrentBroadcast:57]: Reading broadcast variable 4 took 21 ms
2022-06-17 14:04:54 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [MemoryStore:57]: Block broadcast_4 stored as values in memory (estimated size 9.4 KiB, free 2.8 GiB)
2022-06-17 14:04:55 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [MemoryStore:57]: Block rdd_20_6 stored as values in memory (estimated size 4.8 MiB, free 2.8 GiB)
2022-06-17 14:04:56 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [MapOutputTrackerWorker:57]: Don't have map outputs for shuffle 0, fetching them
2022-06-17 14:04:56 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [MapOutputTrackerWorker:57]: Doing the fetch; tracker endpoint = NettyRpcEndpointRef(spark://MapOutputTracker@) 2022-06-17 14:04:56 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [MapOutputTrackerWorker:57]: Got the map output locations
2022-06-17 14:04:56 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [ShuffleBlockFetcherIterator:57]: Getting 64 (255.7 MiB) non-empty blocks including 8 (32.0 MiB) local and 0 (0.0 B) host-local and 0 (0.0 B) push-merged-local and 56 (223.7 MiB) remote blocks
2022-06-17 14:04:56 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [TransportClientFactory:310]: Successfully created connection to after 11 ms (0 ms spent in bootstraps)
2022-06-17 14:04:56 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [ShuffleBlockFetcherIterator:57]: Started 5 remote fetches in 117 ms
2022-06-17 14:05:14 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [TransportClientFactory:310]: Successfully created connection to after 3 ms (0 ms spent in bootstraps)
2022-06-17 14:05:26 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [TransportClientFactory:310]: Successfully created connection to after 2 ms (0 ms spent in bootstraps)
2022-06-17 14:56:12 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [Executor:57]: 1 block locks were not released by task 6.0 in stage 2.0 (TID 102)
[rdd_20_6]
2022-06-17 14:56:12 [Executor task launch worker for task 6.0 in stage 2.0 (TID 102)]  INFO [Executor:57]: Finished task 6.0 in stage 2.0 (TID 102). 1177 bytes result sent to driver
2022-06-17 15:08:23 [dispatcher-Executor]  INFO [YarnCoarseGrainedExecutorBackend:57]: Driver commanded a shutdown
2022-06-17 15:08:24 [dispatcher-Executor]  INFO [YarnCoarseGrainedExecutorBackend:57]: Driver from disconnected during shutdown
2022-06-17 15:08:24 [dispatcher-Executor]  INFO [YarnCoarseGrainedExecutorBackend:57]: Driver from isconnected during shutdown
2022-06-17 15:08:24 [CoarseGrainedExecutorBackend-stop-executor]  INFO [MemoryStore:57]: MemoryStore cleared
2022-06-17 15:08:24 [CoarseGrainedExecutorBackend-stop-executor]  INFO [BlockManager:57]: BlockManager stopped
2022-06-17 15:08:24 [CoarseGrainedExecutorBackend-stop-executor]  INFO [TSDBReporter:222]: stop sending
2022-06-17 15:08:24 [Thread-2]  INFO [ShutdownHookManager:57]: Shutdown hook called

Simplified code：
val xgbReg = new XGBoostRegressor(xgbParam).
setFeaturesCol("features").
setLabelCol("label")
        val xgbInput = spark.read.format("libsvm").load("adata")
        val xgbModel = xgbReg.fit(xgbInput)

        val results = xgbModel.transform(xgbInput)

        xgbModel.nativeBooster.saveModel(fs_out)

@trivialfis could you please help me out thist problem?

@wbo4958 Could you please take a look when you are available?

Sorry for late response, @Jasonzjj , Looks like driver sent the SHUTDOWN from the exeuctor log
 Driver commanded a shutdown
2022-06-17 15:08:24 [dispatcher-Executor] INFO [YarnCoarseGrainedExecutorBackend:57]: Driver from disconnected during shutdown

Could you please double-check?
if the executor log is correct one, please fill the executor log with exceptions.

last, did you solve then problem?

Got same error run on EMR, but it's ok run in local Mac

same error

same error

Closing as the tracker is rewritten https://github.com/dmlc/xgboost/pull/10112


Plus sign decoded to whitespace in 1.0

In react router 1 the plus sign now seems to be decoded to whitespace in paths.  The plus sign is only supposed to be decoded in query parameters, not in paths.  This is a regression from earlier versions.

Apparently this is a deliberate regression.  It was introduced here: d955d7a69052fd649b58d00bd75301a533f67e06
What's the logic behind this?

:wave:
This is related to https://github.com/rackt/react-router/issues/2407.
It's an easy fix but semi-blocked on a bigger change in https://github.com/rackt/react-router/pull/2421 that will lead to merge conflicts.

I've seen the issue about it somewhere recently. Either here or on the history module. Can't find it now.

Looks like @mjackson just fixed it in https://github.com/rackt/react-router/commit/fbc109c0218508a301caae36469c8fc5d70de5fa.


Nuxt Island - nuxt-client directive not working with componentIslands.selectiveClient:true

Environment

Operating System: Linux
Node Version:     v18.20.3
Nuxt Version:     3.14.1592
CLI Version:      3.15.0
Nitro Version:    2.10.4
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      default
Runtime Modules:  -
Build Modules:    -

Reproduction
https://stackblitz.com/edit/github-osnj7f?file=pages%2Findex.server.vue
Describe the bug
In an Nuxt Island Page, when using the componentIslands.selectiveClient: true configuration, the nuxt-client directive does not make components interactive, even for components 1-level deep.
In the example, I have an Island page: /pages/index.server.vue. This page has an interactive component InteractiveButton with the nuxt-client directive. The component is only 1 level deep so I would expect it to be interactive even if we have componentIslands.selectiveClient: true instead of componentIslands.selectiveClient: "deep".
However, the component is not interactive.
In contrast, I have an interactive page /pages/interactive.vue. This page has a server component ServerComponent.server.vue. Inside of ServerComponent, we have InteractiveButton with the nuxt-client directive. This time, the InteractiveButton is interactive, as expected.
Additional context

Logs

I also created this bug request, but I believe this one is slightly different. If this is nota bug, then the documentation for Nuxt Islands should be more explicit about the fact that we must have selectiveClient: "deep" to have interactive components


Add new engine methods getPayloadBodies*

Add the new engine methods to help later on segregate beacon data with the payload data

:tada: This PR is included in v1.6.0 :tada:


Standalone build possible?

I've been evaluating this project for our use - not in an Android project, just plain Java - and it looks very interesting. In particular I'm interested in the code generation from a query coupled with the schema.
The instructions for generating code are very much Gradle-oriented. Is there anything which might tell me how to do generation without Gradle, either standalone or from a Maven project?
Thanks!

You can use apollo-codegen to generate an intermediate representation of your query through:
apollo-codegen generate **/*.graphql --schema schema.json --output API.json --target json
Then use GraphQLCompiler.write(args) under the apollo-compiler module to generate the java classes, passing it an instance of GraphQLCompiler.Arguments.

Closing due to inactivity.

I can confirm this works for me. Thanks for the response!


Unchecking a radiobutton not working with v-on:click.prevent on another radiobutton with same name

Version
2.6.11
Reproduction link
https://jsfiddle.net/0vxoaz75/
Steps to reproduce
Click on the "Unset" radiobutton.
What is expected?
The checked radiobutton (top row) should be unchecked.
What is actually happening?
Nothing.

Vue DevTools are showing me that the value is actually being set to null. But the view isn't updated.
If I do the value change inside DevTools(i.e. without clicking), it works as expected.
Or when I remove the name from the "Unset" radiobutton, it works too.
Or when I remove .prevent, it works too. From my understanding, .prevent in this case should only prevent the clicked radiobutton from getting checked; not prevent the others from being unchecked.

Duplicate of https://github.com/vuejs/vue/issues/9535


Introduce read_bytes!() macro to devx_cmd

Looks like a small oversight
r? @anelson

bors d=@akrava

bors r+


⚠ Bofrost.at has degraded performance

In c1907de, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 986 ms

Resolved: Bofrost.at performance has improved in 42caf99 after 305 days, 9 hours, 48 minutes.


Error when using in Internet Explorer 11

If you are using Internet Explorer 11, the graph will disappear when you mouse-over the graph.

Thank you for reporting this issue. The error occurs when the plugin dispatches mouse events, and IE requires a different way to do that. I will fix it shortly.

Thank you for your reflection.


With strict_slashes disabled, leaf paths mask branch paths.

When running the following:
from werkzeug.routing import Map, Rule

srv = Map([
    Rule('/path1', endpoint='leaf'),
    Rule('/path1/', endpoint='branch'),
    Rule('/path2', endpoint='leaf', strict_slashes=False),
    Rule('/path2/', endpoint='branch'),
    Rule('/path3', endpoint='leaf'),
    Rule('/path3/', endpoint='branch', strict_slashes=False),
    Rule('/path4', endpoint='leaf', strict_slashes=False),
    Rule('/path4/', endpoint='branch', strict_slashes=False),
], strict_slashes=False).bind('')

print(srv.match('/path1'), srv.match('/path1/'))
print(srv.match('/path2'), srv.match('/path2/'))
print(srv.match('/path3'), srv.match('/path3/'))
print(srv.match('/path4'), srv.match('/path4/'))

the output is:
(('leaf', {}), ('branch', {}))
(('leaf', {}), ('leaf', {}))
(('leaf', {}), ('branch', {}))
(('leaf', {}), ('leaf', {}))

The issue appears to be in werkzeug/routing.py#L745 which allows leaf paths to consume and discard (via werkzeug/routing.py#L776) the trailing slash, and I assume by the route scoring rules the leaf is given priority.  This has the effect of silently masking the rule with the trailing slash.
The change that implemented this was in commit 39cbdfd5ca328c77e303a823e1ec5a7af088944d but I'm not sure why it was introduced.  It is possible that it was to prevent a KeyError from being thrown by the pop that is now at werkzeug/routing.py#L770 but this can be achieved by just reordering the if statement so that it is if not self.is_leaf and not groups.pop('__suffix__') and ....  If this change is made then the following elif ... del can also be removed.
Alternatively if it is intended that turning off strict_slashes will actually make the trailing slash in both the rules and the requests become irrelevant (which is more in line with what the parameter name suggests) then it is unfortunate that it appears the documentation and most of the commentary on the internet is suggesting that this parameter is used to disable the automatic redirection to the trailing slash URL.
I think the current behaviour is a bit confused whatever the intention is.  Currently we can have sloppy rule slashes with strict request slashes (no redirection) or strict rule slashes with sloppy request slashes (with redirection).  I need strict slashes for both the rules and requests.
If the change from 39cbdfd5ca328c77e303a823e1ec5a7af088944d is reverted then the only capability that would be lost would be when strict_slashes is disabled having /path and /path/ both map to the same endpoint without redirection (/path if it exists, otherwise /path/) but this behaviour can easily be restored by just manually defining both paths to have the same endpoint.
I think having this available would also help provide work-arounds for a range of related issues such as #397 #773 pallets/flask#1783.

I've played with it a bit more, and obviously you have issue of backwards compatibility to consider, but my preferred implementation for a do-over would be to replace the if ... elif from lines 769-777 with the following:
    if (not self.is_leaf or not self.strict_slashes) and \
            not groups.pop('__suffix__') and \
            (method is None or self.methods is None or \
            method in self.methods):
        if self.strict_slashes:
            # This is a branch that doesn't match strictly
            return
        elif not self.is_leaf:
            # This is a non-strict match for a branch, so raise a
            # redirect exception to the URI with the trailing slash
            raise RequestSlash()

This has the effect of making strict_slashes strict in both rule and request, and then having non-strict leaf rules silently match both leaf and branch requests, and non-strict branch rules redirect leaf requests to branch requests.

@Parakleta #2433 should now meet your expectations


buildPyramid crashes on VS 2013 when running in RelWithDebInfo mode.

When I call buildPyramid with an image as source and an empty std::vector as destination, I get the following exception (only in RelWithDebInfo):

Unhandled exception at 0x00007FFF1A97512D (msvcp120d.dll) in hole_filling.exe: 0xC0000005: Access violation reading location 0xFFFFFFFFFFFFFFFF.

In other modes (Debug, Release), everything works as excepted. This is the stack trace I get:
msvcp120d.dll!00007fff1a97512d()	Unknown
opencv_core300d.dll!std::vector<cv::Mat,std::allocator<cv::Mat> >::_Reallocate(unsigned __int64 _Count) Line 1606	C++
opencv_core300d.dll!std::vector<cv::Mat,std::allocator<cv::Mat> >::_Reserve(unsigned __int64 _Count) Line 1619	C++
opencv_core300d.dll!std::vector<cv::Mat,std::allocator<cv::Mat> >::resize(unsigned __int64 _Newsize) Line 1106	C++
opencv_core300d.dll!cv::_OutputArray::create(int d, const int * sizes, int mtype, int i, bool allowTransposed, int fixedDepthMask) Line 2387	C++
opencv_core300d.dll!cv::_OutputArray::create(int _rows, int _cols, int mtype, int i, bool allowTransposed, int fixedDepthMask) Line 2202	C++
opencv_imgproc300d.dll!cv::buildPyramid(const cv::_InputArray & _src, const cv::_OutputArray & _dst, int maxlevel, int borderType) Line 1507	C++

Did you build your OpenCV manually? Or used a predownloadable package?

I'm using the repo self built on master (checked out today).

Are you able to reproduce this crash with some of OpenCV tests? Or provide some sample code (and build steps description) to reproduce this problem.

Sorry, I'm not really involved in this anymore. If nobody else ever encountered this issue, it would probably be best to close it.

I'm having the same problem. I think I'm fairly certain what's causing it and how to fix it.
This is the perfect cmake / vc++ debug runtime storm.
When building OpenCV with CMake, you will most likely do it in either of the two configurations: Release and Debug, or possibly both. On Windows, both can coexist on the same directory because the filenames are different ('d' suffix for debug).
When importing the targets into your cmake project using find_package, this also works well because OpenCVModules-debug.cmake and OpenCVModules-release.cmake include the necessary information to handle both cases.
Your own cmake project, by default, typically includes four different configurations: Release, Debug, RelWithDebInfo and MinSizeRel. But when you link your own targets against any of the imported opencv ones, cmake only has information for Release and Debug.
When you are building your own project with 'RelWithDebInfo', CMake is faced with the choice of which configuration to use, and for some reason, it chooses the 'debug' one instead of the release one. The release one is the one that should be used for RelWithDebInfo because release AND RelWithDefInfo are linked against the multithreaded-DLL runtime library (/MD flag), and debug is /MDd (multithreaded DLL debug).
No need to go into much more detail, but the reason it crashes is because your own code will use /MD and the debug OpenCV uses /MDd, which contain different iterator implementations (you can read more about the visual c++ "iterator debug level" ) . That's why it's crashing in a function that uses an input array, because internally, somewhere, an std  iterator is being used. This is why some OpenCV functions will work fine in RelWithDebInfo even when linked against debug OpenCV, and some others will crash right away.
Back to CMake:
there is a setting that you can use in your own project, to tell cmake which imported configuration to use for each of your own configuration types.
https://cmake.org/cmake/help/v3.0/prop_tgt/IMPORTED_CONFIGURATIONS.html
A possible solution would be, in your own project, to define it:
set(CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO RELEASE)
this is telling cmake that YOUR "RelWithDefInfo" configuration must use the "Release" configuration for imported targets.  find_package(OpenCV) will import all the opencv targets.
The problem is that this setting does not only affect opencv, but ANY other imported targets. I myself had have problems with this: if I set this variable, I lose some of cmake's Qt functionality when building in RelWithDebInfo.
This is described here: http://public.kitware.com/Bug/view.php?id=15451&nbn=1
So another solution would be to do exactly what Qt did to fix this very same problem:
https://codereview.qt-project.org/#/c/48671/
They basically say that if you load the 'release' configuration first, this configuration will be used by default for any configuration that does not exactly match debug. After some digging, I found where OpenCV does this, in OpenCVModules.cmake:
get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
file(GLOB CONFIG_FILES "${_DIR}/OpenCVModules-*.cmake")
and then include each file found. So, alphabetically 'debug' comes before 'release' and that's why debug is loaded first.
Solution? OpenCVModules.cmake should always include release first, then any other OpenCVModules-config.cmake file found.
Summary:

If you built OpenCV with RelWithDebInfo configuration, your own project needs to use /MDd (multithreaded DLL debug runtime), otherwise it can crash when the operations involve iterators.

If you are using CMake to generate your project, and import OpenCV targets by pointing find_package to OpenCVconfig.cmake, currently only Release and Debug will work okay, but the other two default configurations will incorrectly use 'debug', which can cause the aforementioned crashes.

One possible solution is so set set(CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO RELEASE) in your project, but this can interfere with other libraries which provide imported targets.

A more permanent solution would be for OpenCV's built script to generate an OpenCVModules.cmake file which includes 'release' ahead of any other configuration found.

As for this bug report, it doesn't only affect imgproc.
I hope this is detailed enough !

@jcar87 Thanks for detailed problem description!
Another workarounds:

try to build OpenCV for RelWithDebInfo configuration additionally
remove unused debug configuration by removal of OpenCVModules-debug.cmake

BTW, OpenCVModules.cmake is fully generated by CMake (auto-generated file), not sure we should modify it.

The only two configurations on the OpenCV cmake script are "Debug" and "Release", not RelWithDebInfo. Additionally, unless the cmake scripts are set up to produce different filename for the libraries, I presume they would clash with the "Release" ones. Right now you can conveniently "install" both Debug and Release on the same directory.
If that file is fully generated by CMake then it may be worth a try checking with them. Or, even with Qt. The CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO  variable does fix the problem for OpenCV but overrides Qt's own settings, so it won't play nice when both Qt and OpenCV are used in the same project. Will continue investigating ...

You can also copy your OpenCVModules-Release.cmake file to OpenCVModules-RelWithDebInfo.cmake, then replace all instances of RELEASE with RELWITHDEBINFO in the file.

Thanks jcar87! That is really helpful. I would add some thoughts, though.

As a user, include the line "SET_TARGET_PROPERTIES(${OpenCV_LIBS} PROPERTIES MAP_IMPORTED_CONFIG_RELWITHDEBINFO RELEASE)". This fixes the problem locally without polluting Qt and other projects.

As a user, don't add "/MDd" to your local RelWithDebInfo configuration as this defeats the purpose of that configuration.

OpenCV developers: Please integrate the fix mentioned as "generate an OpenCVModules.cmake file which includes 'release' ahead of any other configuration found.". It should be almost trivial to implement and is is a much saner default than linking to the debug version. Even if you don't want to support RelWithDebInfo builds (#6496), you should at least aspire to function correctly for projects using that setting.


Search bar made responsive with respect to navbar

In mobile view, there is no search bar!

it appears when you click on the hamburger menu

Do you want me to make it appear by default?

Do you want me to make it appear by default?

Yes

By making it default the hamburger is not looking nice .

You should take of all these?

Sorry I didn't get you.

something like this ?


[RFC] Add Commit Message Guideline

This RFC proposes adding a Commmit Message Guideline to Apache TVM
documentation to help guide contributors on how to write good commit
messages when submitting code / Pull Requests.
Co-authored-by: Leandro Nunes<EMAIL_ADDRESS>

@tqchen @jroesch @driazati @areusch @Mousius @manupak @tkonolige @mbaret @leandron @alanmacd

@areusch @leandron Could you please help me on how to trigger a [VOTE] thread on this RFC? Cheers.

@gromero thanks for sending the RFC! let's leave it open for a few days for discussion, then I will create a [VOTE] GH issue.

Can you also include guidelines for 1. how the PR author can update their commits if they are not up to this standard (rebase?)

Let's say a PR has just been created. The idea is that regarding the commit message (that will compose the final commit message) it doesn't matter the commit(s) message(s) of the commits used to create the PR. It really only matters the PR's title and body. So rather than a rebase + push force it's just a matter of updating the PR's title and body in the GH GUI.
Now, I believe you are thinking of the case when the author's commits are a rather difficult (like, quite badly organized) set of patches and the PR's title and body also don't help to understand the change. Since it's the "initial" commits (the PR has just been created), I think that it would be awesome that the author would reorganize it, splitting the commits in a reasonable way, then rebase and push again it, updating the PR title and body (or even creating a brand new PR)  that would ease the review. That's what I tried to capture here in this part: https://github.com/apache/tvm-rfcs/pull/88/commits/99c3bc2247050eb1d8ef3ed6ab665d455cfd4c1a#diff-759e47e77c87b8e4c14dba43c17bac829cbb502e9369211c1ad751253dae57f5R126 but merely a recommendation, moreover now we have to consider also the comment from Matthew about multiple in a PR:
https://github.com/apache/tvm-rfcs/pull/88#discussion_r946033889
Personally, I don't want people to stuff a bunch of non-related commits into a PR, but, on the other hand I also think it helps me review the changes when the commits are split in reasonable way -- just for a single self-contained feature / change --  even if they will be squashed before merge (which is a pity I might say). But capturing such a nuances in the guideline in very case is hard.

How reviewers should handle squashing an merging (should they copy text from the PR description or from a commit)

I tried to address it right in the beginning here:
https://github.com/apache/tvm-rfcs/commit/99c3bc2247050eb1d8ef3ed6ab665d455cfd4c1a#diff-759e47e77c87b8e4c14dba43c17bac829cbb502e9369211c1ad751253dae57f5R46-R50
and then in the end here:
https://github.com/apache/tvm-rfcs/commit/99c3bc2247050eb1d8ef3ed6ab665d455cfd4c1a#diff-759e47e77c87b8e4c14dba43c17bac829cbb502e9369211c1ad751253dae57f5R138-R139
i.e. they should copy text from the PR description, title and body.

how to handle commits that fix linting or formatting issues in the original PR.

Do you mean the additional commits that are pushed to the branch as a consequence of the review process right? The ones we've been calling "additional commit messages"? If so, here is where I tried to address it:
https://github.com/apache/tvm-rfcs/commit/99c3bc2247050eb1d8ef3ed6ab665d455cfd4c1a#diff-759e47e77c87b8e4c14dba43c17bac829cbb502e9369211c1ad751253dae57f5R134-R135
i.e. it doesn't matter. All that matters for the final commit message that lands into the main tree is to keep the PR's title and body updated and following the Commit Message Guideline.

@gromero I think I am getting a little confused at the difference between messages in the commits composing the PR and the final commit in main. To make things clearer, I think it would help to refer to to commit title and commit message as PR title and PR description, respectively. PR title and PR description are the things that the PR author and the reviewers will be discussing (which will become the commit title and message).
To clarify, these guidelines do not apply to the individual commits (on the authors branch) that compose the PR?

i.e. they should copy text from the PR description, title and body.

I think we should explicitly say that whoever is merging the PR needs to copy the description of the PR into the commit message (unless we have changed GitHub to do this automatically?). Having clear instructions (like how to copy formatting) for mergers would be really nice.

@gromero I think I am getting a little confused at the difference between messages in the commits composing the PR and the final commit in main. To make things clearer, I think it would help to refer to to commit title and commit message as PR title and PR description, respectively. PR title and PR description are the things that the PR author and the reviewers will be discussing (which will become the commit title and message).

I tried to keep consistent throughout the text the following meanings:
A commit message is comprised of a commit title and body (body is the same term used, for instance, on git-format manual to refer to that part of the commit)
The final commit message is composed of the PR title and body, i.e. the final commit message title = PR tile and final commit message body = PR body.  When one creates a PR from, let's say, a single commit, that's the default.

To clarify, these guidelines do not apply to the individual commits (on the authors branch) that compose the PR?

Most importantly these guidelines apply to the PR title and body, since that's what will be used to compose the final commit message that gets committed to the main tree. But that's also applicable to the commits used to initially create the PR, since a good commit messages naturally helps the reviewer. Moreover, because typically (in GH for instance) the PR (title and body) is auto-generated  from the initial commit messages, if you apply the guidelines to these commits you kill two birds with one stone: you get a nice PR "for free" and  also help the review.
As the review develops (e.g. if changes are requested by the reviewers), all that's necessary is to keep the PR title and body in sync with the code changes.

i.e. they should copy text from the PR description, title and body.

I think we should explicitly say that whoever is merging the PR needs to copy the description of the PR into the commit message (unless we have changed GitHub to do this automatically?). Having clear instructions (like how to copy formatting) for mergers would be really nice.

@leandron @areusch @mbaret @driazati wdyt?

I think we should explicitly say that whoever is merging the PR needs to copy the description of the PR into the commit message (unless we have changed GitHub to do this automatically?). Having clear instructions (like how to copy formatting) for mergers would be really nice.

@leandron @areusch @mbaret @driazati wdyt?

It is a responsibility of the author to keep the GitHub PR title and description consistent with the work done. That's just basic housekeeping. It is a responsibility of the committer, by the time the GitHub PR is ready to be merged, to make sure a message exists and is same, then copy the PR description and set as contents of the commit message the will be done in the git repository.
This RFC is not describing how people should do their work. It is merely creating a baseline for what is acceptable to maintaining a healthy repository with tracking of commits that contains a description of the changes being made.

Having clear instructions (like how to copy formatting) for mergers would be really nice.

It is out of scope for this specific RFC text to have such information (as in a step-by-step guide here). These guidelines you suggest are implementation details that we can do in many ways, prior to officially communicating committers about this new rule - when it comes to effect.

Moreover, because typically (in GH for instance) the PR (title and body) is auto-generated from the initial commit messages, if you apply the guidelines to these commits you kill two birds with one stone: you get a nice PR "for free" and also help the review.

(this isn't really a comment on this RFC since it's more about implementation details) This is a bit of a back and forth with committers / PR authors. As @leandron said it's ultimately the committer's responsibility to ensure that the final commit message (which is presented to them on GitHub when clicking "Squash and Merge") is of high quality. GitHub will auto-fill out that box with the commit messages so an author carefully rebasing their PR commit messages to match their PR title and body can ensure that it is going to be good, but I think that'd be difficult to coordinate across all contributors.

OK, I agree @leandron @driazati Thanks.

@junrushao1994 i would love for tvm-bot to enforce this as much as possible. some items are going to be more challenging than others. the thing i think we'd really like is for tvm-bot to handle merging, so that we consistently remember to copy the PR body into the git commit body. we've been debugging some auth problems with that which we're unable to reproduce locally; this has been unfortunately quite tricky to track down due to not known the organization's default GitHub Actions token settings. hopeful we can get a resolution on that and then move towards making "tvm-bot merge" a thing.

i would love for tvm-bot to enforce this

We can also enforce whatever rules as part of lint, #12367 has an example implementation for what we could do

I think most comments are addressing implementation details of what it being proposed here. There is not really any opposition to move forward with what is being proposed here.
@areusch you suggested to create a [VOTE] thread with this proposal? I guess we're ready to go?
Also wanted to highlight that despite this looking to be a set of enforced rules, in practice it is just trying to guarantee that we have the bare minimum in terms of tracking the changes in git with a title and textual description of the change being made. Nothing too far from what is enforced in any relevant open-source project.

I created a vote thread to broadcast this more broadly to the community. Please signal your support there.
@driazati notes that GitHub just introduced new options for controlling the default commit messages, so hopefully we can leverage that to implement the merge and complement that with a lint tool.

@driazati notes that GitHub just introduced new options for controlling the default commit messages, so hopefully we can leverage that to implement the merge and complement that with a lint tool.

This setting looks like it includes @ tags from PRs in the default commit message which may make it a non-starter for us since that generates a lot of notifications

Just a final remark : dont we need a tracking issue to track actual landing of the PR that adds pull_request.rst to docs ?

@leandron @gromero
Just a final remark : dont we need a tracking issue to track actual landing of the PR that adds pull_request.rst to docs ?

We do, I think we can create that once voting is finished.

Ah ok, just noticing that it was missing in the RFC header

Rendered link

The vote has passed, therefore I'll merge this RFC. @gromero please create a tracking issue (you can create another PR to add it to this doc).

@areusch @driazati @tqchen @tkonolige @manupak @Lunderberg @mbaret @junrushao @Hzfengsy @slyubomirsky @ekalda thanks a lot for the reviews and support of this RFC!
Tracking issue is created at: https://github.com/apache/tvm/issues/12690
Cheers.


Linker warnings in Mac OS Ventura

Bug Report
I installed Crystal on MacOS Ventura, using Homebrew.
It worked, however compiling a simple hello world generates 280 warnings like:
ld: warning: no platform load command found in '/Users/pascal/.cache/crystal/Users-pascal-Documents-tutorials-crystal-hello_world.cr/F-loat32.o', assuming: macOS
ld: warning: no platform load command found in '/Users/pascal/.cache/crystal/Users-pascal-Documents-tutorials-crystal-hello_world.cr/C-rystal.o', assuming: macOS

Crystal version: 1.9.2
OS Version: Ventura, then Sonoma (I upgraded it, but it did not change anything)
Brew doctor does not signal anything wrong.
The steps I followed:
brew update
brew install crystal

echo 'puts "Hello, World!"' > hello.cr

crystal hello.cr

This seems to be related to a "new linker" in Xcode 15, see https://projects.blender.org/blender/blender/pulls/110243 for example

crystal hello.cr --link-flags=-Wl,-ld_classic has no visible effect on this issue

It works much better indeed! Thanks @beta-ziliani

Just an observation:
crystal eval has the same issue, and it doesn't take --link-flags.
export LDFLAGS="-Wl,-ld_classic" doesn't seem to get picked up.

You should be able to do `CRYSTAL_OPTS="--link-flags=-Wl,-ld_classic"

Just to note that macOS Sonoma (14) is also affected (as one might expect) by the same issue, and that setting the --link-flags as above avoids the warnings.
Out of interest: I happened to notice that binaries created with the "new linker" are about 10% smaller than when using these flags.

Same problem

FYI, I upgrade to Sonoma today and was getting link warnings. There is also an update for xcode-tools that once installed resolved the linker warnings.

CRYSTAL_OPTS="--link-flags=-Wl,-ld_classic" crystal run hello.cr

works for me . I'm on:
macOS 14.0 23A344 x86_64 Sonoma

Yes even better is to just put this export in your bashrc or .zshrc
export CRYSTAL_OPTS="--link-flags=-Wl,-ld_classic"

then crystal build, crystal run etc all work without the ld warnings.

I've been investigating this and it's related to the default target triple produced by Crystal during compilation. It seems like in order to fix a bug back in 2015, we stripped the minimum deployment target from the target triple in this commit. Since then, further work has been put into place to normalize target triples from different architectures.
https://github.com/crystal-lang/crystal/blob/16751451e8618e84d66ee97b8388441e31b7fd3e/src/llvm.cr#L91-L109.
With the release of Xcode 15, a new linker was introduced and with it came these error messages. It appears that the new linker is stricter in which target triples it considers valid. Specifically, it looks like the minimum deployment target is required. E.g., aarch64-apple-darwin23.3.0 is valid, while aarch64-apple-darwin is not.
Before I go ahead and submit the pull request, I'd love to discuss what the correct path forward is. We could change the behaviour of LLVM#default_target_triple to only strip the minimum deployment target for macOS versions below a certain threshold or we could drop the stripping behaviour entirely. I'm not entirely sure how backwards compatible we want to be.

Does this also explain why I couldn't reproduce this on my M2 since the normalization fails due to #14052?

It does, yes. I'm seeing the same behaviour on my machine since the default triple returned by LLVM is arm64-apple-darwin23.3.0 and thus it doesn't get normalised by LLVM#default_target_triple. The architecture still gets normalized by Crystal::Codegen::Target:
https://github.com/crystal-lang/crystal/blob/16751451e8618e84d66ee97b8388441e31b7fd3e/src/compiler/crystal/codegen/target.cr#L22-L34
but the new linker seem to accept that anyway.

It turns out we hard-code the target in the distribution-scripts. This is definitely also an issue.

This is great work, thanks Kevin for digging into this 🚀
I guess there's a reason why LLVM doesn't normalize target triples. Our normalization is quite significant in some places.
Before we change this, we need to check where these triples are used and whether some use cases may depend on normalized values. We may have to offer both, the full raw triple as well as a normalized version.

I am running into this issue when I use Intel macs on GitHub Actions since this week.
Moreover, presumably due to the same root cause, I am unable to link against any C libraries that I built myself in CI, whereas just a week ago I was able to. This is an error in addition to the warnings that others already reported.
This is probably because GitHub Actions updated their Xcode.
ld: warning: REFERENCED_DYNAMICALLY flag on symbol '_catch_exception_raise' is deprecated
...
ld: warning: no platform load command found in '/Users/runner/.cache/crystal/Users-runner-work-crystal-chipmunk-crystal-chipmunk-spec/T-uple40U-I-nt6441.o0.o', assuming: macOS
dyld[15199]: Symbol not found: _cpArbiterGetContactPointSet

https://github.com/oprypin/crystal-chipmunk/actions/runs/8859208139/job/24329593971
https://github.com/oprypin/crsfml/actions/runs/8859272671/job/24328862277

The warnings are now always reproducible on GitHub Actions with runs_on: macos_13.
https://github.com/crystal-lang/install-crystal/actions/runs/8859670657/job/24329698775

Back to the C library troubles-
Even if I apply CRYSTAL_OPTS="--link-flags=-Wl,-ld_classic" I am still building my C libraries with the new linker. (Presumably would need to apply such flags to the step that builds the C library as well).
As such, I get this error instead:
ld: warning: dylib (/usr/local/lib/libchipmunk.dylib) was built for newer macOS version (13.6) than being linked (13.0)

https://github.com/oprypin/crystal-chipmunk/actions/runs/8859789088/job/24329985809

I met the same warnings on GitHub Actions, with the full warning message here.
https://github.com/yanecc/MockGPT/actions/runs/8913041997/job/24477764716#step:4:24

Those warnings should be gone whenever https://github.com/crystal-lang/crystal/pull/14466 gets merged.

I am also getting errors in GitHub Actions when using MacOS based runners. Builds on Linux work fine:
[14/13] Codegen (linking)
cc _main.o3.o -o /Users/runner/work/runway/runway/bin/runway  -rdynamic -L/Users/runner/work/_temp/crystal-latest-true-undefined/embedded/lib -lssh2 -lxml2 -lz `command -v pkg-config > /dev/null && pkg-config --libs --silence-errors libssl || printf %s '-lssl -lcrypto'` `command -v pkg-config > /dev/null && pkg-config --libs --silence-errors libcrypto || printf %s '-lcrypto'` -L/opt/homebrew/Cellar/libyaml/0.2.5/lib -lyaml -lpcre2-8 -lgc -L/opt/homebrew/Cellar/libevent/2.1.12_1/lib -levent_pthreads -levent -L/opt/homebrew/Cellar/libevent/2.1.12_1/lib -levent -liconv
E: Error target runway failed to compile:
ld: warning: ignoring duplicate libraries: '-levent'
ld: library 'ssh2' not found
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Error: execution of command failed with exit status 1: cc "${@}" -o /Users/runner/work/runway/runway/bin/runway  -rdynamic -L/Users/runner/work/_temp/crystal-latest-true-undefined/embedded/lib -lssh2 -lxml2 -lz `command -v pkg-config > /dev/null && pkg-config --libs --silence-errors libssl || printf %s '-lssl -lcrypto'` `command -v pkg-config > /dev/null && pkg-config --libs --silence-errors libcrypto || printf %s '-lcrypto'` -L/opt/homebrew/Cellar/libyaml/0.2.5/lib -lyaml -lpcre2-8 -lgc -L/opt/homebrew/Cellar/libevent/2.1.12_1/lib -levent_pthreads -levent -L/opt/homebrew/Cellar/libevent/2.1.12_1/lib -levent -liconv

source logs


Add pyproject.toml for Custom Node Registry

Hey! My name is HaoHao and I'm from comfy-org! We would love to have you join the Comfy Registry, a public collection of custom nodes which lets authors publish nodes by version and automate testing against existing workflows.
Eventually, the registry will be integrated as a backend for the UI-manager where all nodes will go through a security scan. Nodes that pass these checks will have a verification flag (✅) beside their name on the UI-manager. Feel free to read up more on the registry here
Action Required:

[ ] Go to the registry. Login and create a publisher id (everything after the @ sign on your registry profile).
[ ] Add the publisher id into the pyproject.toml file.
[ ] Merge the separate Github Actions PR, then merge this PR.

If you want to publish the node manually, install the cli by running pip install comfy-cli, then run comfy node publish
Otherwise, if you have any questions, please message me on discord at haohao_81202 or join our server!

Thank you a lot for contacting for this, would love to!


Android Release v7.6.1 backport from main to develop

HubFlow can no longer auto-merge. Let's look into this...

Approved

Approved


Razor process occasionally leaks.

See https://github.com/OmniSharp/omnisharp-vscode/issues/2851 for details.

This should be fixed in v1.25.4 (released earlier today).


Don't retain unreferenced servers

Don't retain unreferenced servers. Prior to this PR, server instances would self-retain until they were stopped via .stop(). See https://github.com/BiAtoms/Http.swift/issues/8

Please edit if that description isn't totally accurate!


On a description of my game it says NWJS community

On a generated exe file it says  The NWJS community. Is this how it is supposed to be?

Hi :) This is not how it's supposed to be. However, NW.js does not allow editing of this resource directly. I have to mod my Python version of Resource Hacker to be able to replace the internal file attributes. In the meantime, you can use Resource Hacker to edit the final version of your game to be your actual company name.

Is this allowed to do with it? For example if an application is commercial?

I think it's fine to use resource hacker. It's what I'm going to basically do "officially" with Web2Exe anyways. There's really no reason you shouldn't.


Update function for plotting map with the last available Fermi LAT source catalog

Hi,
I propose to update the function plotting the 4FGL catalog on the healpix map with the last available FITS file from Fermi LAT:  LAT 14-year Source Catalog (4FGL-DR4) --> 22 Feb 2024
Below, you can see some maps produced for the IceCube Gold Alert IC240424A with skymist scan plot (https://github.com/icecube/skymist/blob/fe23cba8d9552e59767de5414b8b7f4600dfef37/src/skymist/skyscan/console.py#L156) by using the current version of skyreader (left) and the one taking the new catalog (right). It is visible that in this latter case the source 4FGL J2146.8+0425, not present in the old catalog, appears.

Looks goot to me. Thank you for updating the reference catalog.


archives for Spark patch versions become unavailable on new releases affecting shims versioning

SparkShimProvider.scala creates a full version of the SparkShimDescriptor (e.g. 3.3.0) but spark doesn't keep these versions available (e.g. 3.3.0 is not available for download anymore, only 3.3.1 and 3.3.2, see https://spark.apache.org/downloads.html).
Consider changing the versioning to only reference Major.Minor versioning (i.e. 3.3 instead of 3.3.0)

@jinchengchenghh  can we do this in shim layer?

Yes, I think we can. But in the pom.xml, we specify spark.version as 3.3.0, and do some check, if user uses it for other version, it may raise some unexpected error

Our team discuss about this issue,  and decide to always support the newest spark minor version. https://github.com/oap-project/gluten/pull/534

For the stable reason,  we will not support all the spark minor version such as 3.3.x, does this solve your problem?

Yes, the patch in the pull request would solve the issue.
Thanks!