text:
Crash with java.lang.ExceptionInInitializerError caused by java.lang.IllegalStateException: FileLogger is not initialized. Forgot to call Log4O.init()?

I have another library in my project that uses "com.noveogroup.android:android-logger:1.3.6".  Also I am using this version of the lib ->     implementation 'com.optimizely.ab:android-sdk:3.13.3'

@ingridswiftconnect We use android-logger in our test-app only. It's not used in our SDK.
Can you share stack trace?

E  FATAL EXCEPTION: main
Process: com.swiftctrl.example, PID: 28050
java.lang.ExceptionInInitializerError
at com.optimizely.ab.internal.PropertyUtils.getInteger(PropertyUtils.java:213)
at com.optimizely.ab.event.BatchEventProcessor$Builder.(BatchEventProcessor.java:241)
at com.optimizely.ab.event.BatchEventProcessor.builder(BatchEventProcessor.java:235)
at com.optimizely.ab.android.sdk.OptimizelyManager$Builder.build(OptimizelyManager.java:944)
at com.swiftctrl.android.App.onCreate(App.kt:42)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1266)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6785)
at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2134)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7898)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
Caused by: java.lang.IllegalStateException: FileLogger is not initialized. Forgot to call Log4O.init()?

Hi @ingridswiftconnect , we have reviewed this as a team and added a research item to our backlog. We unfortunately don't have a timeline for when we'll pick this up at the moment, but we'll inform you here when we do. Thank you.

Hi @ingridswiftconnect , we are currently looking at this issue in our active sprint. One of our engineers created a new Android application and imported the same libraries. We haven't been able to replicate the issue as of yet.
We'll contact you here in case we need any additional information to continue troubleshooting.

Hello,
The problem was because of another library , but it was fixed on their
side. We could close this ticket.
Thank you!
On Thu, May 25, 2023 at 10:04 AM Russell Loube @.***>
wrote:

Hi @ingridswiftconnect https://github.com/ingridswiftconnect , we are
currently looking at this issue in our active sprint. One of our engineers
created a new Android application and imported the same libraries. We
haven't been able to replicate the issue as of yet.
We'll contact you here in case we need any additional information to
continue troubleshooting.
—
Reply to this email directly, view it on GitHub
https://github.com/optimizely/android-sdk/issues/449#issuecomment-1562969505,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYDUJUXAAWSQ3SGYZ7HXFXLXH5RG5ANCNFSM6AAAAAAU7WE77Q
.
You are receiving this because you were mentioned.Message ID:
@.***>

Closing per the above comment.

authors: Tamara-Barum ingridswiftconnect jaeopt russell-loube-optimizely

repo: optimizely/android-sdk


text:
chore: prepare for release 3.1.5

Summary

prepare for release 3.1.5

Coverage remained the same at 98.138% when pulling 17b5b08ce1aa2e7d6426f2fcaf207c67704ad769 on prepare-3.1.5 into 5db54ae3d19a8f40b67d8a20a186cdfb823057ca on master.

Coverage remained the same at 98.138% when pulling 17b5b08ce1aa2e7d6426f2fcaf207c67704ad769 on prepare-3.1.5 into 5db54ae3d19a8f40b67d8a20a186cdfb823057ca on master.

source: gharchive/pull-request

authors: coveralls jaeopt

repo: optimizely/objective-c-sdk

license_type: permissive

license_source: bigquery


text:
Script fails to get repo files from oracle for centos 7

Script fails at below code as seems repo files from oracle changed.
echo "Downloading Oracle Linux yum repository file..."

            if ! curl -o "switch-to-oraclelinux.repo" "${yum_url}/${repo_file}"; then

                      exit_message "Could not download $repo_file from $yum_url.

            Are you behind a proxy? If so, make sure the 'http_proxy' environment

            variable is set with your proxy address."

                  fi

            ;;

Can you run the script this way to see the actual values: sudo bash -x centos2ol.sh

@bamorrow Are you able to reproduce this running the script with bash -x?

looks like it can get the file now

Thanks for letting us know. Not sure what the root cause would have been as the file hasn’t moved for years. I’ll close this issue, but let us know if you run into any others.

source: gharchive/issue

authors: bamorrow totalamateurhour

license_source: github-api


text:
Better stack trace for module not found error

Currently, for common errors, easy-to-locate stack information can be output, for example:
Exception in thread "main" ReferenceError: m is not defined
	at <js> func2(lib/func2.js:4:138)
	at <js> func1(lib/func1.js:3:70-76)
	at <js> default(index.js:3:69-75)
	at <js> :module:eval(main.mjs:3:47-57)
	at org.graalvm.polyglot.Context.eval(Context.java:402)
	at MainKt.main(Main.kt:14)
	at MainKt.main(Main.kt)

However, for module not found errors, the stack information of the exception is not so good at locating the error location:
Exception in thread "main" Error: Error reading: /path/to/lib/not-found.js
	at org.graalvm.polyglot.Context.eval(Context.java:402)
	at MainKt.main(Main.kt:14)
	at MainKt.main(Main.kt)

I wish it would output a more useful error message. In Node, the output is just like the following:
Error [ERR_MODULE_NOT_FOUND]:
Cannot find module '/path/to/lib/not-found.js'
imported from /path/to/lib/func2.js

Tracked internally on GR 51880

Implemented in https://github.com/oracle/graaljs/commit/2b7fefac6116962c0394a7d18896976d38659b24.

authors: oubidar-Abderrahim tbontb-iaq woess

repo: oracle/graaljs


text:
Fix the incomplete paths to JS files in stack traces

Hi,
This fixes https://github.com/oracle/graaljs/issues/669.
Changes made in https://github.com/oracle/graaljs/commit/03f6ee7e418e63bbafdcf5a3df7aec227a081d28#diff-39f947028eb024ebecc3e3b4a0f8993847041828f0f6018b0a54c81dd3276f08L208 resulted in Source being created without passing the full path to the JS file to Source#name explicitly.
That, in turn, made the stack traces contain only the filename part of the JS file as both PolyglotExceptionFrame and GraalJSException use Source#getName (and not Source#getPath) internally when preparing the stack trace.

I've already signed the OCA and can see myself in https://oca.opensource.oracle.com/?ojr=contrib-list

A fix has been merged as part of https://github.com/oracle/graaljs/commit/85ccdb70adb95af53cd63bf0410edb6dd48ada84.

authors: keeprocking woess


text:
Making sure tests can be run and pass, on Linux

This patch fixes a few things around running tests + adds them to the GH Actions pipeline.
Specifically:

ant test-vscode-ext now passes on Linux (cannot try on Mac).
to do that, I needed this fix: https://github.com/apache/netbeans/pull/6771 , so including it as a patch.
the order of application of patches is becoming important, so manual git apply * may or may not work, depending on FS order. Tried to tweak the script to use git apply + avoiding duplication of the patch names (auto-reversing the list).
updates to BUILD.md to reflect all this + entry in the GH workflow

I tested patch application as well as build/test on Mac OS. All fine.
[exec]   12 passing (37s)
...
[exec] Module Build Harness
[exec] Module Build Harness
[exec]
[exec] Unpacking  org-netbeans-modules-apisupport-harness.nbm
[exec] Unpacking  org-netbeans-modules-apisupport-harness.nbm
[exec]
[exec] nbcode finished with status 0
[exec] Launching NBLS with user directory: /Users/sundarajanathijegannathan/Library/Application Support/Code/User/globalStorage/Oracle.oracle-java
[exec] WARNING: A terminally deprecated method in java.lang.System has been called
[exec] WARNING: System::setSecurityManager has been called by org.netbeans.TopSecurityManager (file:/Users/sundarajanathijegannathan/src/javavscode/vscode/nbcode/platform/lib/boot.jar)
[exec] WARNING: Please consider reporting this to the maintainers of org.netbeans.TopSecurityManager
[exec] WARNING: System::setSecurityManager will be removed in a future release
[exec]
[exec] Cannot enable Ant NetBeans Module Projects[org.netbeans.modules.apisupport.ant]
[exec]  - module org.netbeans.modules.ant.browsetask
[exec]
[exec]
[exec] nbcode finished with status 0

authors: lahodaj sundararajana

repo: oracle/javavscode


text:
Update manifest yaml files to use CCM 0.12.0 release tag

Our manifests should use the current release tag. We should avoid
using the latest tag for containers. This makes it hard to track
which version is running and hard to roll back.

This PR addresses what https://github.com/oracle/oci-cloud-controller-manager/pull/367 was attempting to address but without having to maintain multiple base image builds.

I would highly recommend using hash in addition to the specific tag, f.e.: iad.ocir.io/oracle/cloud-provider-oci:0.12.0@sha256:2c92d199bd5c60cbfd80dececc798ff6f9fbd4c6bb265879c843bc08acf3c8fe. This type of container specification will prevent you from the situation when someone "hard" push image with the same tag

I'm going to close this has it has been addressed with the latest 0.13.0 release

https://github.com/oracle/oci-cloud-controller-manager/blob/master/manifests/cloud-controller-manager/oci-cloud-controller-manager.yaml#L42
https://github.com/oracle/oci-cloud-controller-manager/blob/master/manifests/container-storage-interface/oci-csi-controller-driver.yaml#L66
https://github.com/oracle/oci-cloud-controller-manager/blob/master/manifests/container-storage-interface/oci-csi-node-driver.yaml#L113
https://github.com/oracle/oci-cloud-controller-manager/blob/master/manifests/flexvolume-driver/oci-flexvolume-driver.yaml#L40
https://github.com/oracle/oci-cloud-controller-manager/blob/master/manifests/volume-provisioner/oci-volume-provisioner-fss.yaml#L25
https://github.com/oracle/oci-cloud-controller-manager/blob/master/manifests/volume-provisioner/oci-volume-provisioner.yaml#L25

authors: balyko joekr

repo: oracle/oci-cloud-controller-manager


text:
Improve the determination of cluster exemplars

Description
We need to improve the determination of cluster exemplars, which are used after the model is trained to make predictions. Some cases, such as those which use contrived datasets, can result in very "clean" clusters, with no outliers. One such case has exposed an issue in the current logic to determine cluster exemplars.
Motivation
This change fixes #355

The author of #355 seemed motivated to test out the fix to this issue. Perhaps they have some other use cases in mind. I was wondering if it would be worthwhile to offer to share the source branch containing the fix, to see if there is any additional  feedback.

repo: oracle/tribuo


text:
sqlplus: command not found in an OracleRAC environment

Hi,
I installed an OracleRAC environment following these instructions:
https://github.com/oracle/vagrant-boxes/tree/master/OracleRAC
After vigrant up I see two notes running.
Now I am trying to connect to database (Step 5 Connect to the database).
I do
vagrant ssh node1
sudo su - oracle
All works fine so far.
echo $ORACLE_HOME
/u01/app/oracle/product/19.3.0.0/dbhome_1
echo $ORACLE_SID
DB193H12
However,
sqlplus / as sysdba
shows
-bash: sqlplus: command not found
What's wrong?
Thank you!

Fixed this by setting
export ORACLE_HOME=/u01/app/19.3.0.0/grid

You probably need to set the environment by running . oraenv once you've changed to the oracle user.

Thanks!
When running . oraenv - where do I get the correct values for ORACLE_HOME , ORACLE_BASE?
(I am a first-time Vagrant/OracleRAC user)...
Is there any doc that describes Step 5 Connect to the database in more detail?

Good question. As per your original comment, ORACLE_HOME and ORACLE_BASE should already be set. I'll assign this to the DB folks so they can answer, but keep in mind it's Memorial Day weekend in the USA, so they may not reply until tomorrow.

yes, they are set, but I would expect
ORACLE_HOME
to point to something like /u01/app/19.3.0.0/grid/bin in a RAC environment, as /u01/app/oracle/product/19.3.0.0/dbhome_1 is empty in my environment.
Thanks for assigning this so quickly!

Hi Larissa, Ive fixed this in the next update. Oracle env setting was overwrite grid env setting

Can I fix this manually on my environment now?

sure it's really simple.
Connected as 'grid' user you should just add following rows under .bash_profile (and remove the wrong one)
#node1
export ORACLE_HOME=/u01/app/19.3.0.0/grid/bin
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=+ASM1
#node2
export ORACLE_HOME=/u01/app/19.3.0.0/grid/bin
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=+ASM2

thanks, @rcitton - closing this.

authors: Djelibeybi LarissaAuberger rcitton

repo: oracle/vagrant-boxes


text:
prevents default create/open of buntdb, requires user to call initdb

Resolves #302 - you will now get:
2018-11-19T19:11:59Z : error : startup : Could not load server: Failed to open datastore: stat ircd.db: no such file or directory

but (the reason I opened this issue) if you navigate to wherever ircd.db would be it won't exist (less confusion)

nice, awesome

authors: DanielOaks enckse

repo: oragono/oragono

license: MIT


text:
Keep Alive Not Running

Hi,
Thanks for the excellent plugin.  Keep alive does not seem to run even though these options were set:
keepAlive: true,
keepAliveInterval: 10000,
Adding a call to keepAlive() in the timeout function solved the problem:
function keepAlive() {
            if (!keepAlivePinged) {
                // Ping keepalive URL using (if provided) data and type from options
                $.ajax({
                    type: opt.ajaxType,
                    url: opt.keepAliveUrl,
                    data: opt.ajaxData
                });
                keepAlivePinged = true;
                setTimeout(function() {
                    keepAlivePinged = false;
		    keepAlive(); // <-- added this line
                }, opt.keepAliveInterval);
            }
        }

I found the same issue when ignoreUserActivity === true it seems the keep alives only fire then when the user is active. Also. not sure of the point of the ignoreUserActivity === as whenever I attempt to do something with the dialog that is being displayed my activity dismisses it. Kind of pointless to offer up a couple of buttons for a user to take action if you dismiss the dialog before they can.

If you want to keep the modal up on mouse move just remove these lines (starts at line 110ish):
// If they moved the mouse not only reset the counter
// but remove the modal too!
if ($('#session-timeout-dialog').length > 0 &&
	$('#session-timeout-dialog').data('bs.modal') &&
	$('#session-timeout-dialog').data('bs.modal').isShown) {
	// http://stackoverflow.com/questions/11519660/twitter-bootstrap-modal-backdrop-doesnt-disappear
	$('#session-timeout-dialog').modal('hide');
	$('body').removeClass('modal-open');
	$('div.modal-backdrop').remove();
}

Actually if you add the following code above this block (and prior to startSessionTimer();
if(e.type === 'mousemove' && $('div.modal-backdrop').length > 0) { return; }
This will ensure that mouse movements will not remove the existing modal window.

authors: elSpanielo steveandsten toddca yuginng

repo: orangehill/bootstrap-session-timeout

license: mit


text:
Not working with Angular router…

See example:
http://plnkr.co/edit/fLS2xAoGtQXopKsserk7
I've placed a data-sr outside and inside de loaded angular view but is not working.
I've copied as much as I could from the original example on the doc…

Here's a fork of the docs plnkr with the content moved to an angular route view:
http://plnkr.co/edit/6YRSM3OKZbpffg41oDgC?p=preview
As you can see… it doesn't work when inside an angular router view.

Not working with angular 1.4.x?

any updates on getting reveal to work in ng-view?

authors: davidfdr maddes maragh


text:
Allow null values in blobs array

I have a use case where each element in the blobs array is associated with the corresponding element in the layers array of the referent OCI image. However, a blob may be omitted for any particular layer. Therefore, I would like to modify the description of blob elements to explicitly state that nulls are allowed.
If this PR is accepted, I will submit a PR against oras-go to allow that.
The workaround (if the current PR is not accepted) would be to create a zero-length artifact, just so that I'll have something to stick in the array, and push to the remote. This is doable, but less elegant.

@wmesard given that the OCI working group is closer to landing a proposal - my hope is that ORAS will consume/produce the OCI artifact as the project does stand for "OCI Registry As Storage" :)
It would be good to continue the discussion here - https://github.com/opencontainers/image-spec/pull/934#discussion_r946080844 and gauge if there is a desire to do something like this. I think the push would be to use an annotation in the blob rather than try to map the index of the element.

Closing this PR in favor of the similar comment I posted over in https://github.com/opencontainers/image-spec/pull/934#discussion_r946080844

authors: sajayantony wmesard

repo: oras-project/artifacts-spec


text:
Runs out of memory

Requesting get_capture every frame maxes out size
I'm writing my own application using openFrameworks and this SDK based on this example, however the update function leads to this error:
[12/28 21:15:06.654553][warning][19912][FrameBufferManager.cpp:43] Alloc frame buffer failed! Out of max size! require=3.516MB, total usage: allocated=2046.361MB, max limit=2048.000MB
[12/28 21:15:06.654665][warning][19912][FrameBufferManager.cpp:82] allocBuffer failed! Will retry after release idle memory on FrameMemoryPool
[12/28 21:15:06.669240][warning][12236][FrameBufferManager.cpp:43] Alloc frame buffer failed! Out of max size! require=4.532MB, total usage: allocated=2044.344MB, max limit=2048.000MB
[12/28 21:15:06.669333][warning][12236][FrameBufferManager.cpp:82] allocBuffer failed! Will retry after release idle memory on FrameMemoryPool
[12/28 21:15:06.677541][warning][45480][FrameBufferManager.cpp:43] Alloc frame buffer failed! Out of max size! require=0.500MB, total usage: allocated=2047.874MB, max limit=2048.000MB
[12/28 21:15:06.677615][warning][45480][FrameBufferManager.cpp:82] allocBuffer failed! Will retry after release idle memory on FrameMemoryPool
[12/28 21:15:06.677647][warning][45480][FrameBufferManager.cpp:43] Alloc frame buffer failed! Out of max size! require=0.500MB, total usage: allocated=2047.874MB, max limit=2048.000MB
[12/28 21:15:06.677672][critical][45480][FrameBufferManager.cpp:88] Alloc frame buffer failed! size=524791
[2024-12-28 21:15:06.677] [critical] [t=45480] C:\Users\daiyin\Desktop\0808\OrbbecSDK-K4A-Wrapper\src\orbbec\ob_type_helper.cpp (50): orbbec_sdk_log(). [12/28 21:15:06.677672][critical][45480][FrameBufferManager.cpp:88] Alloc frame buffer failed! size=524791

[12/28 21:15:06.677741][warning][45480][ObException.hpp:40] Alloc frame buffer failed! size=524791

This error occurs without any graphics changes, aka updateTextures doesn't need to be called for the system to run out of memory.
I usually see this error about 15-20 seconds into the app running.
Code
#include "FemtoBolt.h"
#include "libobsensor/hpp/Frame.hpp"
#include "libobsensor/hpp/StreamProfile.hpp"
#include <iostream>

#pragma mark - Public

FemtoBolt::FemtoBolt() {
	ofPixels pixels;
	pixels.allocate(width, height, OF_PIXELS_RGBA);
	ofColor defaultColor;
	defaultColor.setHex(0x222222);
	for (int x = 0; x < width; x++) {
		for (int y = 0; y < height; y++) {
			pixels.setColor(x, y, defaultColor);
		}
	}
	colorTexture.allocate(pixels);
}

void FemtoBolt::connect(uint32_t index) {
	if (k4a_device_get_installed_count() == 0) {
		printf("\nNo Device found!\n\n");
		return;
	}

	// Ensure device is connected
	printf("\nConnecting...\n\n");
	if (k4a_device_open(index, &device) == K4A_RESULT_FAILED) {
		cout << "Didn't connect to device" << index << "...\n" << endl;
		return;
	}

	// Configuration
	k4a_device_configuration_t config = K4A_DEVICE_CONFIG_INIT_DISABLE_ALL;
	config.camera_fps = K4A_FRAMES_PER_SECOND_30;
	config.color_format = K4A_IMAGE_FORMAT_COLOR_BGRA32;
	config.color_resolution = K4A_COLOR_RESOLUTION_720P;
	config.depth_mode = K4A_DEPTH_MODE_WFOV_2X2BINNED;
	config.synchronized_images_only = true;

	// Start Cameras
	if (k4a_device_start_cameras(device, &config) == K4A_RESULT_SUCCEEDED) {
		connected = true;
		printf("\nConnected!\n\n");
	}
}

void FemtoBolt::disconnect() {
	if (!connected) return;
	k4a_device_stop_cameras(device);
	k4a_device_close(device);
	connected = false;
}

void FemtoBolt::update() {
	if (connected) {
		k4a_capture_t capture = NULL;
		if (k4a_device_get_capture(device, &capture, 0) == K4A_RESULT_SUCCEEDED) {
			updateTextures(capture);
		}
		k4a_capture_release(capture);
	}
}

void FemtoBolt::draw() {
	if (connected) {
		colorTexture.draw(0, 0);
	}
}

#pragma mark - Private

void FemtoBolt::updateTextures(k4a_capture_t capture) {
	k4a_image_t colorImage = k4a_capture_get_color_image(capture);
	uint8_t *colorArray = k4a_image_get_buffer(colorImage);
	if (colorArray == nullptr) return;
	int colorWidth = k4a_image_get_width_pixels(colorImage);
	int colorHeight = k4a_image_get_height_pixels(colorImage);
	colorTexture.loadData(colorArray, colorWidth, colorHeight, GL_RGBA);
}

Please release the frame data promptly after use, otherwise it may cause memory accumulation.

Doesn't this do it?
k4a_capture_t capture = NULL;
if (k4a_device_get_capture(device, &capture, 0) == K4A_RESULT_SUCCEEDED) {
	updateTextures(capture);
}
// Doesn't this release the memory?
k4a_capture_release(capture);

k4a_image_t colorImage = k4a_capture_get_color_image(capture);
k4a_image_release(colorImage );
need to be released.

authors: tomorrowevening zzuliys


text:
Reset Line Data on Reset; Closes #89

Problem
The path data should reset when a simulation resets. Existing paths will reamin after a simulation reset.
Solution
Clear the global variables that store the path data.
This is a band aid to a bigger problem. #93 has been created to figure out a better way of storing annotation data in composition with simulaton data.
Howto Test

[ ] Activate trails on a couple of bodies

[ ] Reset the simulation by clicking the Reset Button

/cc @alexander-dunn

Works for me. @alexander-dunn good to merge?

repo: orbitable/bridge


text:
RFC: Repository

Summary
This is an "internal" interface that should be used by Store / Model implementors.
Motivation
Now that we landed IdentityMap I would like to discuss the path forward. I believe the next step should be an interface that would provide a building block for Store / Model implementors and so the proposed interface, Repository, is not meant as a public interface but as a primitive to build on. It is heavily inspired by lots of methods existing in ember-orbit. It also takes some inspiration from ember-data's RecordData interface.
Detailed design
All write operations are async. Read operations on relationships have both sync and async versions.
import { Schema, QueryOrExpression } from '@orbit/data';
import MemorySource from '@orbit/memory';
import IdentityMap from '@orbit/identity-map';

export interface Factory<Identity, Model> {
  create(identity: Identity, repository: Repository): Model;
}

export interface RepositorySettings<Identity, Model> {
  source: MemorySource;
  factory: Factory<Identity, Model>;
  identityMap?: IdentityMap<Identity, Model>;
}

export interface Repository<Identity, Model> {
  schema: Schema;

  // Attribute
  getAttr(identity: Identity, attribute: string): unknown;
  setAttr(identity: Identity, attribute: string, value: unknown): Promise<void>;

  // HasMany Relationship
  getHasMany(identity: Identity, relationship: string): Model[];
  asyncGetHasMany(identity: Identity, relationship: string): Promise<Model[]>;

  addToHasMany(identity: Identity, relationship: string, record: Identity): Promise<void>;
  removeFromHasMany(identity: Identity, relationship: string, record: Identity): Promise<void>;
  setHasMany(identity: Identity, relationship: string, records: Identity[]): Promise<void>;

  // HasOne Relationship
  getHasOne(identity: Identity, relationship: string): Model | null;
  asyncGetHasOne(identity: Identity, relationship: string): Promise<Model | null>;

  setHasOne(identity: Identity, relationship: string, record: Identity): Promise<void>;

  // Unload / Remove
  unloadRecord(identity: Identity): void;
  removeRecord(identity: Identity): Promise<void>;

  // Query
  query(queryOrExpression: QueryOrExpression, options?: object, id?: string): Model[] | Model | null;
  asyncQuery(queryOrExpression: QueryOrExpression, options?: object, id?: string): Promise<Model[] | Model | null>;
  liveQuery(queryOrExpression: QueryOrExpression, options?: object, id?: string): Observable<Model[] | Model | null>;
}

export interface Observable<T> {
  subscribe(callbackFn: (value: T) => void): Subscription;
}

export interface Subscription {
  unsubscribe(): void;
}

Drawbacks
Probably the most controversial part of the proposal is the Observable  interface for liveQuery. I still strongly believe that in this case Observable is the right primitive. It is what is used in Apollo for live queries for example.
Alternatives
Leave all the work to each Store / Model implementation.

I think another approach would be to implement identityMap aware finders on the store and pass the store to records (similar to how ember-orbit is implemented today)

repo: orbitjs/orbit


text:
dead cycle and can not update

Describe the bug

If I choose OK, it will cyclely preempt this windows. And I can not do update.
Why don't let user keep an old version?
To Reproduce
No response
Expected behavior
No response
Diagnostic report (required)
No response
Screenshots and additional context (optional)
No response

Beta builds are documented to expire after 30 days: https://docs.orbstack.dev/install
Updates will no longer be required once it hits stable.
You can update from the OrbStack menu -> Check for Updates. Can you also share a diagnostic report from Help -> Collect Diagnostics? You should never see this error message; it should give you an update button instead.

You can update from the OrbStack menu -> Check for Updates

Yes, I want to do update via this menu. But this windows preempt and if I choose report then it exits. So I download the binar manually.

Updates will no longer be required once it hits stable

How to find a stable version?

There are no stable versions yet.

repo: orbstack/orbstack


text:
Its been 2 months that the website is not matching the repo. Please do something

Hi there,
Multiple collection owners have the same problem, the ordinals wallet website is not in line with the repo.
It's not good for creators if their collections info is not matching with what is shown on ordinals wallet.
In our case, our collection ordinal-mini-doges is not updated for 2 months (15 ordinals from this collection are now in another collection, we have to update this info on ordinals wallet asap now).
Our second collection pixel-doges is not even showing on the website but well updated in this repo.
Can you please do something to fix it? it's been 2 months now. We have 15 ordinals from our first collection that need to be removed, it is important for us.
What is going on ? We don't have answers from anyone managing this repo. I implore you to tell us something at least.

Yes we are waiting dudes! And you wont sell what you dont have listed. what's the point here?

@MillHaus33

yes

authors: minidogenft shizz-x starbreeders-singularity-dao utxo-detective

repo: ordinals-wallet/ordinals-collections


text:
Fix flaky tests

Our tests are very flaky at the moment, which is super annoying while developing, and require re-running CI frequently.

Is there a list anywhere of which tests are flaky?

I think there are a bunch, although there might be a single underlying cause. A good way to find them is to run:
while cargo test; do echo running; done

Which will run the tests repeatedly until one fails. I just ran this, and after a few runs, etch::send_amount_does_not_select_runic_utxos failed.

However, I ran etch::send_amount_does_not_select_runic_utxos a bunch on its own, and it never failed, so I think it might be the interaction of some tests, or running a bunch of tests at the same time which is the issue.

They ain't flaky anymore. KNOCK, KNOCK, KNOCK

authors: casey mj10021 raphjaph

repo: ordinals/ord


text:
Rune balances for spent outputs

I noticed that /output/<txid>:<vout> doesn't show the Rune balances for spent outputs. It also shows those outputs as indexed: false.
I'm working on a service that accepts Rune deposits from users (and will eventually spend the outputs associated with the users' deposits). The way I'm have currently implemented this is using the listsinceblock Bitcoin RPC api to list the all received transactions, and then for each txid/vout pair I query /output/<txid>:<vout> from the ord api to see the Rune amounts transferred as a part of that transaction. However, this doesn't work for outputs that have been spent before scanning the received transactions.
It would be very helpful to have access to the historical rune amounts transferred as a part of some output.
Maybe we could have a flag like --index-spent-runes, in congruence with --index-spent-sats?

Spending the outputs before knowing their runic contents will spend their runic contents willy nilly. Wouldn't you want to know their contents before spending them?

Spending the outputs before knowing their runic contents will spend their runic contents willy nilly. Wouldn't you want to know their contents before spending them?

In my use case, the UTXOs are held in an n-of-m P2WSH wallet that's being scanned by multiple backend instances. It's possible that one instance is down and the other instances agree to spend the outputs. After that, it's not possible for the other instance to scan them properly.
Even if we ignore my use case, it would be a useful feature to be able to construct the Rune transaction history of a wallet. I don't think it's currently possible, at least easily.

I think this is a pretty common thing to need. Just saw this tweet today which mentions the same thing.

We could revive our transaction index and adapt it to also store runic information. It's more overhead to index and store but exchanges and @koirikivi probably wouldn't mind the extra overhead.

It probably makes sense to have an option to index spent runic outputs without that also indexing every spent output. Runic outputs are presumably still only a small percentage of all the outputs that have ever existed

authors: casey gmart7t2 koirikivi raphjaph


text:
INSERT INTO INDEX:dictionary SET rid=(SELECT @rid...)

Hi,
Given a Vertex:
orientdb {db=xLocation}> select from root
0   |#16:0  |Root        |0    |0     |ROOT|ROOT|false   |false
I can put it in the dictionary this way:
orientdb {db=xLocation}> INSERT INTO INDEX:dictionary SET key='ROOT', rid='#16:0'
Inserted record '{rid:#16:0,key:ROOT}' in 0.003000 sec(s).
But with an inner SELECT it fails:
orientdb {db=xLocation}> INSERT INTO INDEX:dictionary SET key='ROOT', rid=(select @rid from root where name ='ROOT' limit 1)
Error: com.orientechnologies.orient.core.exception.OCommandExecutionException: Error on execution of command: sql.insert INTO INDEX:dictionary SET key='ROOT', rid=(select @rid from root where name ='ROOT' limit 1)
Error: java.lang.ClassCastException: com.orientechnologies.orient.core.sql.OCommandSQL cannot be cast to com.orientechnologies.orient.core.db.record.OIdentifiable
Enviroment:
OrientDB: OrientDB 2.1.0 GA Community Edition
SO: Windows7
JDK: Jdk 1.8.0_45
OrientDB Configuration: No special configuration. The one out of the box.
Mode: Standalone. server.bat

hi @simper66
this is not a lucene issue
can you open it on orientdb project?

Sorry Enrico.
Opened in orientdb project.

repo: orientechnologies/orientdb-lucene


text:
2.1-rc3: SQL parse error using "CLUSTER"

INSERT INTO cluster:chatmessages SET text = 'A chat message', datetime = Date(), user = 'studio'  <--  works!
INSERT INTO chatmessages cluster chatmessages SET text = 'A chat message', datetime = Date(), user = 'studio' <-- works!
INSERT INTO CLUSTER:chatmessages SET text = 'A chat message', datetime = Date(), user = 'studio'  <-- SHOULD work just like others, but FAILS with "Error on parsing command"
So, "cluster" and "Cluster" seem to work, but using the word "CLUSTER" does NOT.

Just an FYI I ran into this same problem with 2.1-rc5

fixed in develop branch

looking at this code, it appears "instanceof" should also be made case-insensitive in the same way as "cluster".
The documentation seems to support that view as well:
(from http://orientdb.com/docs/last/SQL-Where.html)
record, string (as class name)	INSTANCEOF	Used to check if the record extends a class	@this instanceof 'Customer' or @class instanceof 'Provider'	1.0rc8

authors: alexpmorris luigidellaquila vensaadmin

repo: orientechnologies/orientdb


text:
Database wouldnt startup

I am running orientdb in a 3 node cluster. If I shutdown 1 cluster node and try to start it again, its stuck in the startup:
2015-08-14 14:36:55:977 WARNI Distributed server is not yet ONLINE (status=STARTING), reject incoming connection from /10.22.6.21:33124. If you are trying to shutdown the server, please kill the process [OServerNetworkListener]
2015-08-14 14:36:57:650 WARNI Distributed server is not yet ONLINE (status=STARTING), reject incoming connection from /10.22.6.23:39259. If you are trying to shutdown the server, please kill the process [OServerNetworkListener]
I gave it enough time but still it wouldn't be online. I have to delete all the data in $ORIENT_HOME/database/ & $ORIENT_HOME/backup and then it starts again. The behavior is random but goes wrong quite few times.

Hi @sajid2045
could you please post the full logs for all the nodes?
Thanks

ummm...where do I attach files?

Hi @sajid2045
could you please send them via email to support - at - orientdb.com
Thanks

sent

Hi, is it possible for you open server in remote, not distributed mode ?

We are seeing a similar issue. When we run in distributed mode and attempt to have new database host join up, the new host will randomly (and quite often) fail to fully come online.
In our experience, the stuck hosts usually stop producing output during the synchronization step when they are creating clusters for all of the classes in the database. There doesn't appear to be a recognizable pattern for these failures. If we run this experiment 3 times in a row, each failure will occur after creating a cluster for a different class, but they all will fail as they are trying to complete this step.
I would say that, based on our experience, distributed mode appears to be super broken right now (2.1.0) and is almost unusable since it is very rare to have a distributed replica come online successfully. If you have a cluster of size > 2, you are likely never going to have all instances come online successfully.
I can provide a more detailed explanation of our use case by providing logs and database files if you wish. Please let me know.

Hi ,
What do you mean ' remote, not distributed mode ' ? We are running on a 3 node cluster and the clients are thin client.
-Sajid.

@flyingrobots do you have any logs? About the logging without HZ Multicast, could you be more precise about the missing information ?

Hi Again, I now have a server that simply wouldn't join to the rest of the cluster after restart. I cleared the logs , database folder , backup folder but still no luck. I emailed the support with all the log with a full thread dump.
Please let me know if you need more info but we need this issue to be resolved ASAP.

@sajid2045 In the stackdump.txt file you sent us I see (at the very end) the main thread is stuck on
"main" #1 prio=5 os_prio=0 tid=0x00007f77f400b800 nid=0x7b87 runnable [0x00007f77fd7fe000]
   java.lang.Thread.State: RUNNABLE
	at com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.installDatabase(OHazelcastPlugin.java:908)
	at com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.installNewDatabases(OHazelcastPlugin.java:1350)
	- locked <0x00000000c01c5328> (a java.lang.Object)
	at com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.startup(OHazelcastPlugin.java:184)
	at com.orientechnologies.orient.server.OServer.registerPlugins(OServer.java:971)
	at com.orientechnologies.orient.server.OServer.activate(OServer.java:338)
	at com.orientechnologies.orient.server.OServerMain.main(OServerMain.java:41)

But OrientDB 2.1 on this line: com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.java:908 there is no code:
https://github.com/orientechnologies/orientdb/blob/2.1.0/distributed/src/main/java/com/orientechnologies/orient/server/hazelcast/OHazelcastPlugin.java#L908
Please could you check in the classpath there are no jars of different releases?

Got it: this issue has been already fixed in 2.1.1-SNAPSHOT. We have scheduled a release for today.

Sorry for reviving this, but I'm trying to migrate a db from a single node to a cluster (2.1.16), after the 1st node comes online with a copy of the database, it distributes it to the other nodes, but then they gets stuck STARTING and neither the studio nor the http api ever respond on the non-original nodes.
Any clues on what it may be? I can't seem to find any documentation on how to move from a single server to a distributed cluster.

I am also observing the same issue. in version 2.1.16 where one server is copying data to 2 other nodes in a 3 node cluster.

@mamoit you're right, I've just added it now here: http://orientdb.com/docs/last/Tutorial-Setup-a-distributed-database.html (it works also for 2.1 branch)
Have you followed these steps?
@nsitanurag are you coming from a standalone server as well?

@andreaiacono Thanks for the doc :+1: it validated my course of action.
I could not unstuck the other nodes of 2.1.16 at all, so I just abandoned it and we are currently evaluating 2.2.0.

@mamoit do you have the same problem with 2.2?

@lvca No. Never happened with 2.2.0 and none of the snapshots that I've tried for the past monthish.

Cool, thanks for the feedback. I'm closing this issue.

authors: andreaiacono flyingrobots laa luigidellaquila lvca mamoit nsitanurag sajid2045


text:
Binary Protocol: recordPos not returned on INSERT

When performing INSERT operations, the recordPos is not returned (OrientDB 2.1.4):
2015-10-25 16:41:27:448 INFO  /127.0.0.1:40719 - Read 124 bytes: 1com.orientechnologies.orient.core.sql.OCommandSQL?INSERT INTO Post (content, timestamp) VALUES ('kj', 1445791287) [OChannelBinaryServer]
2015-10-25 16:41:27:490 FINE  Created record #28:7 v.1 size=25 bytes [OLocalPaginatedStorage]
2015-10-25 16:41:27:491 INFO  /127.0.0.1:40719 - Writing byte (1 byte): 0 [OChannelBinaryServer]
2015-10-25 16:41:27:491 INFO  /127.0.0.1:40719 - Writing int (4 bytes): 4 [OChannelBinaryServer]
2015-10-25 16:41:27:491 INFO  /127.0.0.1:40719 - Writing byte (1 byte): 114 [OChannelBinaryServer]
2015-10-25 16:41:27:491 INFO  /127.0.0.1:40719 - Writing short (2 bytes): 0 [OChannelBinaryServer]
2015-10-25 16:41:27:491 INFO  /127.0.0.1:40719 - Writing byte (1 byte): 100 [OChannelBinaryServer]
2015-10-25 16:41:27:491 INFO  /127.0.0.1:40719 - Writing short (2 bytes): 28 [OChannelBinaryServer]
2015-10-25 16:41:27:491 INFO  /127.0.0.1:40719 - Writing long (8 bytes): -1 [OChannelBinaryServer]

hi @nethertek
what do you mean not returned?
Are you using JAVA API?

Hi @maggiolo00
No, we are directly interfacing with the Binary Protocol on Port 2424. Whilst the ClusterID is correctly returned, we get -1 for the recordPos.

is there any way to get the last inserted RID with a select or similar in the meantime?

hi
@nethertek is there a way to replicate it?
i just tried with java api and everything went as expected

@nethertek the default behavior is to return the last insert rid, and we are not able to reproduce your problem.

@all
The problem appears twofold.
When we run in single mode, the information is returned correctly, however orientdb seems to increment the ClusterID instead of recordPos with each insert:
2015-10-26 19:09:06:273 INFO  {db=backnode} /127.0.0.1:57690 - Read 124 bytes: 1com.orientechnologies.orient.core.sql.OCommandSQL?INSERT INTO Post (content, timestamp) VALUES ('sd', 1445886546) [OChannelBinaryServer]
2015-10-26 19:09:06:275 INFO  {db=backnode} /127.0.0.1:57690 - Writing byte (1 byte): 0 [OChannelBinaryServer]
2015-10-26 19:09:06:275 INFO  {db=backnode} /127.0.0.1:57690 - Writing int (4 bytes): 10 [OChannelBinaryServer]
2015-10-26 19:09:06:275 INFO  {db=backnode} /127.0.0.1:57690 - Writing byte (1 byte): 114 [OChannelBinaryServer]
2015-10-26 19:09:06:275 INFO  {db=backnode} /127.0.0.1:57690 - Writing short (2 bytes): 0 [OChannelBinaryServer]
2015-10-26 19:09:06:275 INFO  {db=backnode} /127.0.0.1:57690 - Writing byte (1 byte): 100 [OChannelBinaryServer]
2015-10-26 19:09:06:275 INFO  {db=backnode} /127.0.0.1:57690 - Writing short (2 bytes): 39 [OChannelBinaryServer]
2015-10-26 19:09:06:275 INFO  {db=backnode} /127.0.0.1:57690 - Writing long (8 bytes): 0 [OChannelBinaryServer]
orientdb {db=backnode}> select from Post
#   |@RID |@CLASS|content|timestamp
----+-----+------+-------+----------
0   |#28:0|Post  |sd     |1445886453
1   |#29:0|Post  |sd     |1445886462
2   |#39:0|Post  |sd     |1445886546
----+-----+------+-------+----------

In distributed mode , orientdb updates the recordPos, but returns -1
2015-10-26 19:14:02:480 INFO  /127.0.0.1:57729 - Read 124 bytes: 1com.orientechnologies.orient.core.sql.OCommandSQL?INSERT INTO Post (content, timestamp) VALUES ('sd', 1445886842) [OChannelBinaryServer]
2015-10-26 19:14:02:532 INFO  /127.0.0.1:57729 - Writing byte (1 byte): 0 [OChannelBinaryServer]
2015-10-26 19:14:02:532 INFO  /127.0.0.1:57729 - Writing int (4 bytes): 2 [OChannelBinaryServer]
2015-10-26 19:14:02:532 INFO  /127.0.0.1:57729 - Writing byte (1 byte): 114 [OChannelBinaryServer]
2015-10-26 19:14:02:533 INFO  /127.0.0.1:57729 - Writing short (2 bytes): 0 [OChannelBinaryServer]
2015-10-26 19:14:02:533 INFO  /127.0.0.1:57729 - Writing byte (1 byte): 100 [OChannelBinaryServer]
2015-10-26 19:14:02:533 INFO  /127.0.0.1:57729 - Writing short (2 bytes): 28 [OChannelBinaryServer]
2015-10-26 19:14:02:533 INFO  /127.0.0.1:57729 - Writing long (8 bytes): -1 [OChannelBinaryServer]
#   |@RID |@CLASS|content|timestamp
----+-----+------+-------+----------
0   |#28:0|Post  |sd     |1445886453
1   |#28:1|Post  |sd     |1445886842
2   |#29:0|Post  |sd     |1445886462
3   |#39:0|Post  |sd     |1445886546
----+-----+------+-------+----------

So please try to reproduce the problem in distributed mode with asynchronous enabled. It is also unclear to me why the cluster id is incremented in single mode, perhaps because the database was initialized as a distributed database?

@nethertek
ok so in distributed mode you get -1 in recordPos, we will try to reproduce it.
For cluster yes should be the distributed mode.

Hi @nethertek,
The  cause of the negative id is due to the asynchronous mode, because the server doesn't wait for the operation to be done, so it cannot know the full id, the only way to get the id is do a query after.

That's ridiculous... Since it's inserting into the local cluster, it is well aware of the recordPos. The replications needs to be asynchronous, not the INSERT.
Furthermore, there is no method to retrieve the last RID.
How on earth can we deploy OrientDB to production like this?

@nethertek I think there is a misunderstanding here. The cluster position is known even during async replication. So there is something wrong in the management of the returned value. Please let me investigate on it.

You were right: the clusterPos wasn't returned correctly in case of async replication. Fixed in 2.1.x and develop branches.

Written also a test case for that.

authors: lvca maggiolo00 nethertek tglman


text:
Can't insert nested Embedded Maps when schema property is defined

Given that we execute the following insert:
CREATE class Test
INSERT INTO Test SET map1 = { 'map2': { 'key': 'value' } }

This results in a "raw" document that looks like this:
{
  "@type": "d",
  "@rid": "#16:3",
  "@version": 1,
  "@class": "Test",
  "map1": {
      "map2": {
          "key": "value"
      }
  }
}

Note that the "map1" field has been created as an EMBEDDEDMAP.  Within the "map1" map, there is another field named "map2".  This has also been created as an EMBEDDEDMAP.  This is as desired.
However, if we use schema to make the "map1" property an EMBEDDEDMAP when we create the class and then do the insert as such:
CREATE class Test
CREATE property Test.map1 EMBEDDEDMAP
INSERT INTO Test SET map1 = { 'map2': { 'key': 'value' } }

Then the document that is created will look like this:
{
  "@type": "d",
  "@rid": "#16:0",
  "@version": 1,
  "@class": "Test",
  "map1": {
      "map2": {
          "@type": "d",
          "@version": 0,
          "key": "value"
      }
  }
}

As you can see "map2" is now an EMBEDDED (ODocument) instead of and EMBEDDEDMAP.  This seems like a bug.  Keep in mind, in the first case where the map1 property was not defined, "map1" was created as an EMBEDDEDMAP.  Why then when I define "map1" as an EMBEDDEDMAP in the schema, all of a sudden does "map2" now become a document instead of an map.
I have traced the issue to the OCommandExecutorSQLInsert class.  Specifically the "parse" method calls parseSetFields (line 158).  The OCommandExecutorSQLSetAware.parseSetFields method eventually calls the "convertValue" method.  On line 102 of OCommandExecutorSQLSetAware the "p != null" is true when the property ("map1") is defined.  The switch statement drops down to line 154 because "map1" is an EMBEDDEDMAP.  The code now loops through the map, and converts all of the maps in "map1" to ODocuments.  If the "map1" property was not defined, the the if statement on line 102 would have been false, and the entire code block would be skipped, leaving "map2" alone.
For the moment, the work around is to define the "map1" property as "ANY" instead of an EMBEDDEDMAP.  Doing this, I can still make the property mandatory, but I can't enforce the type, which should be a map.
I have created a unit test which demonstrates the issue:
https://gist.github.com/mmacfadden/af1fb4ef0f596a7bcc70

Hi @mmacfadden
it seems to be a bug, I'll check it and I'll let you know
Thanks
Luigi

Thanks.  If it turns out to be a bug in your opinion.  I could work on a fix.

authors: luigidellaquila mmacfadden


text:
FR: support of negative numbers in left(), right()

Currently the following queries work perfectly:
select name.left(2) from OUser
select name.right(2) from OUser

But what if I need everything except last X characters? Expected that the following queries will work, but that didn't
select name.left(-2) from OUser
select name.right(-2) from OUser

Moreover (and that's a bug, I think)  the following query doesn't work as expected
select name.substring(0, eval("name.length()-3") ) from OUser

Previous queries with minus just fail with exception, but this one works, but instead of string without last 3 characters it return whole string.
And even more over! The following queries just doesn't work as expected.
select 2+2 as plus from OUser //Should either throw exception or return 4 in column plus
select (2+2) as plus from OUser //Should either throw exception or return 4 in column plus
select eval(2+2) as plus from OUser  //Failing with NullPointerException
select eval("2+2") as plus from OUser //No column plus at all - should fail or evaluate

Hi @PhantomYdn
The enhancement should not be too complex, I'll try to do it as soon as I can.
About the other bugs reported, what I can say is that:

math operations like 2+2 are not supported as simple projections in v 2.2, but they already work fine in v3.0M1
eval() function accepts strings, so eval(2+2) is not valid (but I agree with you that it should not throw NPE)
eval function is very sensitive to spaces, probably eval("2 + 2") will work fine
in general, eval() will be deprecated in v 3.0 as there is no need for that anymore

Thanks
Luigi

@luigidellaquila , thank you for considering enhancement!
I understand regarding spaces. But is that expected behavior or some enhancements are expected?

authors: PhantomYdn luigidellaquila


text:
[v3.0.1] LET block always returns null when used with out function

OrientDB Version: 3.0.1
Java Version: 1.8
OS: Linux
I want to use Let block in my query.
Actual/Expected behavior
When I assign an edge to a variable in LET block and use it in projection, it returns null. But it is expected to return a value.
SELECT $x, name FROM V
let $x = out("E")

SELECT $x, name FROM V
let $x = out("E").name

Result:
{
  "result": [
        {
            "$x": null,
            "name": "A"
        },
        {
            "$x": null,
            "name": "B"
        }
    ],
}

Steps to reproduce
insert into V set id = 1, name = "A"
insert into V set id = 2, name = "B"

create edge E from (select from V where id = 1) to (select from V where id = 2)

SELECT $x, name FROM V
let $x = out("E")

Hi @mehdizarepour
Thank you very much for reporting, I'll check it and let you know
Thanks
Luigi

Hi @mehdizarepour
I pushed fix for this issue. It will be released with version 3.0.2
Thanks,
Marko.


text:
error while installing jpype

I have been trying to install jpype latest version on windows 7 64 bit machine with following
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
python 2.7.11 (v2.7.11:6d1b6a68f775, Dec  5 2015, 20:40:30) [MSC v.1500 64 bit (
AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
I also have microsoft visual C++ 64 bit redistributable being installed.
below is the error i am getting.

collecting jpype1
  Using cached JPype1-0.6.1.tar.gz
Building wheels for collected packages: jpype1
  Running setup.py bdist_wheel for jpype1
  Complete output from command c:\python27\python.exe -c "import setuptools;__fi
le__='c:\\users\\\\appdata\\local\\temp\\pip-build-2lrqdg\\jpype1\\se
tup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exe
c'))" bdist_wheel -d c:\users\appdata\local\temp\tmpvlaj5zpip-wheel-
:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-2.7
  creating build\lib.win-amd64-2.7\jpype
  copying jpype\JClassUtil.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\nio.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\reflect.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\_core.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\_darwin.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\_gui.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\_jarray.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\_jclass.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\_jcollection.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\_jexception.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\_jobject.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\_jpackage.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\_jproxy.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\_jvmfinder.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\_jwrapper.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\_linux.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\_properties.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\_pykeywords.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\_refdaemon.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\_windows.py -> build\lib.win-amd64-2.7\jpype
  copying jpype\__init__.py -> build\lib.win-amd64-2.7\jpype
  creating build\lib.win-amd64-2.7\jpype\awt
  copying jpype\awt\__init__.py -> build\lib.win-amd64-2.7\jpype\awt
  creating build\lib.win-amd64-2.7\jpype\awt\event
  copying jpype\awt\event\WindowAdapter.py -> build\lib.win-amd64-2.7\jpype\awt\
event
  copying jpype\awt\event\__init__.py -> build\lib.win-amd64-2.7\jpype\awt\event

  creating build\lib.win-amd64-2.7\jpypex
  copying jpypex\__init__.py -> build\lib.win-amd64-2.7\jpypex
  creating build\lib.win-amd64-2.7\jpypex\swing
  copying jpypex\swing\AbstractAction.py -> build\lib.win-amd64-2.7\jpypex\swing

  copying jpypex\swing\pyutils.py -> build\lib.win-amd64-2.7\jpypex\swing
  copying jpypex\swing\__init__.py -> build\lib.win-amd64-2.7\jpypex\swing
  running build_ext
  building '_jpype' extension
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "c:\users\\appdata\local\temp\pip-build-2lrqdg\jpype1\setup.
py", line 191, in <module>
      ext_modules=[jpypeLib],
    File "c:\python27\lib\distutils\core.py", line 151, in setup
      dist.run_commands()
    File "c:\python27\lib\distutils\dist.py", line 953, in run_commands
      self.run_command(cmd)
    File "c:\python27\lib\distutils\dist.py", line 972, in run_command
      cmd_obj.run()
    File "c:\python27\lib\site-packages\wheel\bdist_wheel.py", line 179, in run
      self.run_command('build')
    File "c:\python27\lib\distutils\cmd.py", line 326, in run_command
      self.distribution.run_command(command)
    File "c:\python27\lib\distutils\dist.py", line 972, in run_command
      cmd_obj.run()
    File "c:\python27\lib\distutils\command\build.py", line 127, in run
      self.run_command(cmd_name)
    File "c:\python27\lib\distutils\cmd.py", line 326, in run_command
      self.distribution.run_command(command)
    File "c:\python27\lib\distutils\dist.py", line 972, in run_command
      cmd_obj.run()
    File "c:\python27\lib\site-packages\setuptools\command\build_ext.py", line 4
9, in run
      _build_ext.run(self)
    File "c:\python27\lib\distutils\command\build_ext.py", line 339, in run
      self.build_extensions()
    File "c:\users\\appdata\local\temp\pip-build-2lrqdg\jpype1\setup.
py", line 155, in build_extensions
      build_ext.build_extensions(self)
    File "c:\python27\lib\distutils\command\build_ext.py", line 448, in build_ex
tensions
      self.build_extension(ext)
    File "c:\python27\lib\site-packages\setuptools\command\build_ext.py", line 1
74, in build_extension
      _build_ext.build_extension(self, ext)
    File "c:\python27\lib\distutils\command\build_ext.py", line 498, in build_ex
tension
      depends=ext.depends)
    File "c:\python27\lib\distutils\msvc9compiler.py", line 473, in compile
      self.initialize()
    File "c:\python27\lib\distutils\msvc9compiler.py", line 383, in initialize
      vc_env = query_vcvarsall(VERSION, plat_spec)
    File "c:\python27\lib\site-packages\setuptools\msvc9_support.py", line 52, i
n query_vcvarsall
      return unpatched['query_vcvarsall'](version, *args, **kwargs)
    File "c:\python27\lib\distutils\msvc9compiler.py", line 299, in query_vcvars
all
      raise ValueError(str(list(result.keys())))
  ValueError: [u'path']

  ----------------------------------------
  Failed building wheel for jpype1
Failed to build jpype1
Installing collected packages: jpype1
  Running setup.py install for jpype1
    Complete output from command c:\python27\python.exe -c "import setuptools, t
okenize;__file__='c:\\users\\appdata\\local\\temp\\pip-build-2lrqdg
\\jpype1\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read(
).replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\gokul~1.n
ai\appdata\local\temp\pip-ujlr58-record\install-record.txt --single-version-exte
rnally-managed --compile:
    running install
    running build
    running build_py
    running build_ext
    building '_jpype' extension
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "c:\users\\appdata\local\temp\pip-build-2lrqdg\jpype1\setu
p.py", line 191, in <module>
        ext_modules=[jpypeLib],
      File "c:\python27\lib\distutils\core.py", line 151, in setup
        dist.run_commands()
      File "c:\python27\lib\distutils\dist.py", line 953, in run_commands
        self.run_command(cmd)
      File "c:\python27\lib\distutils\dist.py", line 972, in run_command
        cmd_obj.run()
      File "c:\python27\lib\site-packages\setuptools\command\install.py", line 6
1, in run
        return orig.install.run(self)
      File "c:\python27\lib\distutils\command\install.py", line 563, in run
        self.run_command('build')
      File "c:\python27\lib\distutils\cmd.py", line 326, in run_command
        self.distribution.run_command(command)
      File "c:\python27\lib\distutils\dist.py", line 972, in run_command
        cmd_obj.run()
      File "c:\python27\lib\distutils\command\build.py", line 127, in run
        self.run_command(cmd_name)
      File "c:\python27\lib\distutils\cmd.py", line 326, in run_command
        self.distribution.run_command(command)
      File "c:\python27\lib\distutils\dist.py", line 972, in run_command
        cmd_obj.run()
      File "c:\python27\lib\site-packages\setuptools\command\build_ext.py", line
 49, in run
        _build_ext.run(self)
      File "c:\python27\lib\distutils\command\build_ext.py", line 339, in run

- [ ] self.build_extensions()

      File "c:\users\\appdata\local\temp\pip-build-2lrqdg\jpype1\setu
p.py", line 155, in build_extensions
        build_ext.build_extensions(self)
      File "c:\python27\lib\distutils\command\build_ext.py", line 448, in build_
extensions
        self.build_extension(ext)
      File "c:\python27\lib\site-packages\setuptools\command\build_ext.py", line
 174, in build_extension
        _build_ext.build_extension(self, ext)
      File "c:\python27\lib\distutils\command\build_ext.py", line 498, in build_
extension
        depends=ext.depends)
      File "c:\python27\lib\distutils\msvc9compiler.py", line 473, in compile
        self.initialize()
      File "c:\python27\lib\distutils\msvc9compiler.py", line 383, in initialize

        vc_env = query_vcvarsall(VERSION, plat_spec)
      File "c:\python27\lib\site-packages\setuptools\msvc9_support.py", line 52,
 in query_vcvarsall
        return unpatched['query_vcvarsall'](version, *args, **kwargs)
      File "c:\python27\lib\distutils\msvc9compiler.py", line 299, in query_vcva
rsall
        raise ValueError(str(list(result.keys())))
    ValueError: [u'path']

    ----------------------------------------
Command "c:\python27\python.exe -c "import setuptools, tokenize;__file__='c:\\us
ers\\\\appdata\\local\\temp\\pip-build-2lrqdg\\jpype1\\setup.py';exec
(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'),
 __file__, 'exec'))" install --record c:\users\appdata\local\temp\pi
p-ujlr58-record\install-record.txt --single-version-externally-managed --compile
" failed with error code 1 in c:\users\\appdata\local\temp\pip-build-
2lrqdg\jpype1

https://stackoverflow.com/questions/11267463/compiling-python-modules-on-windows-x64

repo: originell/jpype


text:
Pages can't update and del

why the Orion page cannot get updated?i can post the page and also can read it,but I cannot update it
my code:
orion.pages.addTemplate({
    //layout: 'layout',
    template: 'pagesSimple',
    name: 'Simple',
    description: 'Simple template'
}, {
    content: orion.attribute('summernote', {
        label: 'Content'
    }),
    title: {
        type: String,
        label: "Title"
    }
})
orion.pages.addTemplate({
    template: 'pagesDefault',
    name: 'Default',
    description: 'defaultPage'
}, {
    content: orion.attribute('summernote', {
        label: 'Content'
    })
})

my packages versions:
accounts-base@1.2.5
accounts-password@1.1.7
aldeed:autoform@5.8.1
aldeed:collection2@2.9.1
aldeed:collection2-core@1.1.1
aldeed:schema-deny@1.0.1
aldeed:schema-index@1.0.1
aldeed:simple-schema@1.5.3
aldeed:tabular@1.6.1
allow-deny@1.0.3
anti:i18n@0.4.3
autoupdate@1.2.7
babel-compiler@6.6.1
babel-runtime@0.1.7
base64@1.0.7
binary-heap@1.0.7
blaze@2.1.6
blaze-html-templates@1.0.3
blaze-tools@1.0.7
boilerplate-generator@1.0.7
caching-compiler@1.0.3
caching-html-compiler@1.0.5
callback-hook@1.0.7
check@1.1.3
coffeescript@1.0.16
dburles:collection-helpers@1.0.4
dburles:mongo-collection-instances@0.3.5
ddp@1.2.4
ddp-client@1.2.4
ddp-common@1.2.4
ddp-rate-limiter@1.0.3
ddp-server@1.2.5
deps@1.0.11
diff-sequence@1.0.4
ecmascript@0.4.2
ecmascript-runtime@0.2.9
ejson@1.0.10
email@1.0.11
es5-shim@4.5.9
fastclick@1.0.10
fortawesome:fontawesome@4.5.0
geojson-utils@1.0.7
hot-code-push@1.0.3
html-tools@1.0.8
htmljs@1.0.8
http@1.1.4
id-map@1.0.6
jquery@1.11.7
kadira:blaze-layout@2.3.0
kadira:flow-router@2.11.0
lai:collection-extensions@0.2.1_1
launch-screen@1.0.10
less@2.5.7
livedata@1.0.17
localstorage@1.0.8
logging@1.0.11
matb33:collection-hooks@0.8.1
mdg:validation-error@0.5.1
meteor@1.1.13
meteor-base@1.0.3
meteor-platform@1.2.5
meteorhacks:inject-initial@1.0.4
meteortoys:toykit@2.2.1
minifier-css@1.1.10
minifier-js@1.1.10
minimongo@1.0.13
mobile-experience@1.0.3
mobile-status-bar@1.0.11
modules@0.5.2
modules-runtime@0.6.2
momentjs:moment@2.12.0
mongo@1.1.6
mongo-id@1.0.3
msavin:mongol@1.6.2
nicolaslopezj:options@1.0.1
nicolaslopezj:reactive-templates@1.2.1
nicolaslopezj:roles@2.1.2
nicolaslopezj:router-layer@0.0.11
npm-bcrypt@0.7.8_2
npm-mongo@1.4.42
observe-sequence@1.0.10
ordered-dict@1.0.6
orionjs:accounts@1.8.1
orionjs:attributes@1.8.0
orionjs:base@1.8.0
orionjs:bootstrap@1.8.0
orionjs:collections@1.8.0
orionjs:config@1.8.0
orionjs:core@1.8.0
orionjs:dictionary@1.8.0
orionjs:file-attribute@1.8.0
orionjs:filesystem@1.8.0
orionjs:image-attribute@1.8.0
orionjs:lang-en@1.8.0
orionjs:pages@1.8.0
orionjs:summernote@1.8.0
promise@0.6.6
raix:eventemitter@0.1.3
random@1.0.8
rate-limit@1.0.3
reactive-dict@1.1.6
reactive-var@1.0.8
reload@1.1.7
retry@1.0.6
routepolicy@1.0.9
rwatts:orionjs-dashboard@0.1.3
service-configuration@1.0.8
session@1.1.4
sha@1.0.6
softwarerero:accounts-t9n@1.3.3
spacebars@1.0.10
spacebars-compiler@1.0.10
srp@1.0.7
standard-minifier-css@1.0.5
standard-minifier-js@1.0.5
standard-minifiers@1.0.5
summernote:standalone@0.6.16
templating@1.1.8
templating-tools@1.0.3
tmeasday:publish-counts@0.7.3
tracker@1.0.12
twbs:bootstrap@3.3.6
ui@1.0.10
underscore@1.0.7
url@1.0.8
useraccounts:bootstrap@1.13.1
useraccounts:core@1.13.1
vsivsi:file-collection@1.3.3
vsivsi:orion-file-collection@0.2.4
webapp@1.2.7
webapp-hashing@1.0.8

my pic:

+1

I have got the same error.

+1

repo: orionjs/orion


text:
Unable to edit a react file : TypeError: this.tokenizedBuffer.regexForPattern is not a function

TypeError: this.tokenizedBuffer.regexForPattern is not a function
at TextEditor.editor.autoDecreaseIndentForBufferRow (/Users/a545305/.atom/packages/react/lib/atom-react.coffee:51:54)
at Selection.module.exports.Selection.insertText (/Applications/Atom.app/Contents/Resources/app/src/selection.js:499:27)
at /Applications/Atom.app/Contents/Resources/app/src/text-editor.js:1201:35
at /Applications/Atom.app/Contents/Resources/app/src/text-editor.js:1240:34
at TextBuffer.module.exports.TextBuffer.transact (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:953:24)
at TextEditor.module.exports.TextEditor.transact (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:1673:32)
at /Applications/Atom.app/Contents/Resources/app/src/text-editor.js:1234:30
at TextEditor.module.exports.TextEditor.mergeSelections (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:2617:49)
at TextEditor.module.exports.TextEditor.mergeIntersectingSelections (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:2583:41)
at TextEditor.module.exports.TextEditor.mutateSelectedText (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:1232:25)
at TextEditor.module.exports.TextEditor.insertText (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:1198:25)
at TextEditor.object.(anonymous function) [as insertText] (/Applications/Atom.app/Contents/Resources/app/node_modules/underscore-plus/lib/underscore-plus.js:77:33)
at TextEditorComponent.didTextInput (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:1631:28)
Getting this kind of error... Kindly let us know how to resolve....

same prob happened for me,try to update atom and see

repo: orktes/atom-react


text:
Wrong result when “Editing via Latent Mapper”

Thank you for your amazing work.
But when I finish configuring the environment and use the following example：
python train.py --exp_dir ../results/mohawk_hairstyle --no_fine_mapper --description "mohawk hairstyle"
I found clip_ Loss will not decrease，Do you have any advice or help.

Hi @MeowChiu ,
I am happy to hear that you liked our work!
It is normal that the CLIP loss does not vanish, it usually approaches around 0.71 at the end of the training.
How do the results images look? Do you see the desired edit?

Closing for inactivity

authors: MeowChiu orpatashnik

repo: orpatashnik/StyleCLIP


text:
fix: remove readOnly fields from body schema parsing before Zod generation

Status

READY
Description
close #1548

Updated parseBodyAndResponse to apply removeReadOnlyProperties when parsing the body, ensuring that readOnly fields are excluded before generating the Zod schema.
This ensures that only non-readOnly fields are considered for the body schema

Related PRs
List related PRs against other branches:

branch
PR

other_pr_production
link

other_pr_master
link

Todos

[ ] Tests
[ ] Documentation
[ ] Changelog Entry (unreleased)

Steps to Test or Reproduce
Set up the following files and verify that the generated body schema does not include any properties that have readOnly set to true.

orval.config.js
import { defineConfig } from "orval";

export default defineConfig({
  petstore: {
    input: "./petstore.yaml",
    output: {
      client: "zod",
      target: "./src/generated/zod.ts",
      override: {},
    },
  },
});

petstore.yaml
openapi: "3.0.0"
info:
  version: 1.0.0
  title: Simple User API
  license:
    name: MIT
servers:
  - url: http://example.com/v1
paths:
  /users:
    get:
      summary: List all users
      operationId: listUsers
      responses:
        "200":
          description: A list of users
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/User"
    post:
      summary: Create a user
      operationId: createUser
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/User"
      responses:
        "201":
          description: User created successfully
  /users/multiple:
    post:
      summary: Create multiple users
      operationId: createMultipleUsers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: "#/components/schemas/User"
      responses:
        "201":
          description: Users created successfully

components:
  schemas:
    User:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        username:
          type: string
          maxLength: 50
        email:
          type: string
          format: email
        created_at:
          type: string
          format: date-time
          readOnly: true
      required:
        - username
        - email

the output in my environment is as follows:

before the change
/**
 * Generated by orval v7.1.0 🍺
 * Do not edit manually.
 * Simple User API
 * OpenAPI spec version: 1.0.0
 */
import { z as zod } from "zod";

/**
 * @summary List all users
 */
export const listUsersResponseUsernameMax = 50;

export const listUsersResponseItem = zod.object({
  id: zod.string().uuid().optional(),
  username: zod.string().max(listUsersResponseUsernameMax),
  email: zod.string().email(),
  created_at: zod.string().datetime().optional(),
});
export const listUsersResponse = zod.array(listUsersResponseItem);

/**
 * @summary Create a user
 */
export const createUserBodyUsernameMax = 50;

export const createUserBody = zod.object({
  id: zod.string().uuid().optional(),
  username: zod.string().max(createUserBodyUsernameMax),
  email: zod.string().email(),
  created_at: zod.string().datetime().optional(),
});

/**
 * @summary Create multiple users
 */
export const createMultipleUsersBodyUsernameMax = 50;

export const createMultipleUsersBodyItem = zod.object({
  id: zod.string().uuid().optional(),
  username: zod.string().max(createMultipleUsersBodyUsernameMax),
  email: zod.string().email(),
  created_at: zod.string().datetime().optional(),
});
export const createMultipleUsersBody = zod.array(createMultipleUsersBodyItem);

after the change
/**
 * Generated by orval v7.1.0 🍺
 * Do not edit manually.
 * Simple User API
 * OpenAPI spec version: 1.0.0
 */
import { z as zod } from "zod";

/**
 * @summary List all users
 */
export const listUsersResponseUsernameMax = 50;

export const listUsersResponseItem = zod.object({
  id: zod.string().uuid().optional(),
  username: zod.string().max(listUsersResponseUsernameMax),
  email: zod.string().email(),
  created_at: zod.string().datetime().optional(),
});
export const listUsersResponse = zod.array(listUsersResponseItem);

/**
 * @summary Create a user
 */
export const createUserBodyUsernameMax = 50;

export const createUserBody = zod.object({
  username: zod.string().max(createUserBodyUsernameMax),
  email: zod.string().email(),
});

/**
 * @summary Create multiple users
 */
export const createMultipleUsersBodyUsernameMax = 50;

export const createMultipleUsersBodyItem = zod.object({
  username: zod.string().max(createMultipleUsersBodyUsernameMax),
  email: zod.string().email(),
});
export const createMultipleUsersBody = zod.array(createMultipleUsersBodyItem);

❤

repo: orval-labs/orval


text:
chore: update Ory CLI with breaking changes to the format task

https://github.com/ory/cli/pull/257 changed the name of the command to add copyright headers to files.

When Ory CLI v0.1.48 ships, the format task will turn green and you can ship this PR.

repo: ory/keto-node-express-example


text:
"Slack API Tester" -- rename

When I post a message to a channel, it posts it under the name "Slack API Tester". How can I setup it up or rename?

Create a Slack App and authorize it to your Organization's Slack.  Creating the App will let you naming it, etc.  (Authorizing your App will generate a Token, use that in Slacker)
https://api.slack.com/slack-apps
https://api.slack.com/custom-integrations/legacy-tokens

That's true but it raise an exception.

When using slacker.chat.post_message() pass the arugment as_user = True to send it from yourself, or username = "foobar" to set the username.

authors: GildedHonour Neurobion simonsolnes sughodke

repo: os/slacker


text:
iso: be able to build the ISO

Needs: https://github.com/osbuild/images/pull/322

Wait, will bootupd solve this also for this ISO? I don't expect bootupd to be used there.

I just mean used as far as image construction.  Agree it doesn’t make too much sense to have a concept of updating the bootloader of an ISO.
Basically I’m just saying we fixed this papercut for containers and hence when we use containers for the ISO we get this fixed for free.

I wonder if:
diff --git a/test/test_smoke.py b/test/test_smoke.py
index 03e9fd8..0a22471 100644
--- a/test/test_smoke.py
+++ b/test/test_smoke.py
@@ -40,7 +40,7 @@ def build_container_fixture():

 # image types to test
-SUPPORTED_IMAGE_TYPES = ["qcow2", "ami"]
+SUPPORTED_IMAGE_TYPES = ["qcow2", "ami", "iso"]

 class ImageBuildResult(NamedTuple):
@@ -76,6 +76,7 @@ def image_type_fixture(tmpdir_factory, build_container, request):
     artifact = {
         "qcow2": pathlib.Path(output_path) / "qcow2/disk.qcow2",
         "ami": pathlib.Path(output_path) / "image/disk.raw",
+        "iso": pathlib.Path(output_path) / "image/install.iso",
     }
     assert len(artifact) == len(SUPPORTED_IMAGE_TYPES), \
         "please keep artifact mapping and supported images in sync"

works? might be enough to get a "free" simple test

@mvo5 thanks, let's try!

@mvo5 I've backed out the smoke test commit until we resolve the issues with the ISO rebooting and how to handle that in the test case(s).

@mvo5 I've backed out the smoke test commit until we resolve the issues with the ISO rebooting and how to handle that in the test case(s).

Yeah, this will probably need to be a followup. My initial (naive) idea was that we can just re-use the existing tests. But they rely on the fact that the blueprint adds the user to the image. This is not true for the installer image, there is no way to ssh to the installer image (only to the installed image).
So the approach will be:

use QMP in test/vm.py to get qemu events
extend the QEMU to support a "cdrom" in it's constructor
extend QEMU to open a qmp socket and add hook in QEMU class with stop_on="event=RESET"
add start(no_wait_ssh)
run QEMU("test-disk.img", cdrom="installer.iso", snapshot=False), wait for reboot, stop vm
run QEMU("test-disk.img") and check that ssh works there

authors: cgwalters mvo5 supakeen

repo: osbuild/bootc-image-builder


text:
fedora_bot: limit the number of dist-git retries

The previous implementation of dist-git HTTP call retries is very naïve.
There's no retry count limit and we retry even on status codes like 4XX that
usually aren't retryable.
What's even worse is that if we are stuck in an infinite retrying loop,
github actions will kill the script after 6 hours without showing any logs
so we don't even know what went wrong.
This commit overhauls the retrying logic:

maximum of 3 retries
backoff factor was added
retries only on retryable 5XX errors

This is implemented using the handy requests.adapters.Retry adapter,
see https://urllib3.readthedocs.io/en/stable/reference/urllib3.util.html

Force-pushed to fix @martinpitt's suggestions.

repo: osbuild/fedora-bot


text:
Install ostree image failed on RHEL 8.4

On RHEL 8.4, RHEL-Edge image is able to build without error. But it can't be installed and report http://192.168.100.1/repo/summary.sig: [7] Couldn't connect to server (0) error.
The http server works when report this error.
Can't find same issue on RHEL 8.3.1.
anaconda log:
Configuring storage
Creating disklabel on /dev/vda
Creating xfs on /dev/vda2
Creating xfs on /dev/vda1
..
Running pre-installation scripts
.
Running pre-installation tasks
...
Installing.
Starting pull of rhel/8/x86_64/edge from rhel-edge-commit
================================================================================
================================================================================
Error

   The following error occurred while installing.  This is a fatal error and
   installation will be aborted.

   Failed to pull from repository: g-io-error-quark: While fetching
   http://192.168.100.1/repo/summary.sig: [7] Couldn't connect to server (0)

Press ENTER to exit:

@henrywang can you tell us more about your environment? The same test job in CI/latest commit seems to PASS. So what anaconda version, what osbuild-composer/8.4 version you are using to reproduce this ?

@henrywang can you tell us more about your environment? The same test job in CI/latest commit seems to PASS. So what anaconda version, what osbuild-composer/8.4 version you are using to reproduce this ?

@atodorov, I run this test on PSI OpenStack VM with RHEL 8.4 nightly image. The repo (RHEL 8.4 system uses and osbuild-composer uses) is http://download.devel.redhat.com/rhel-8/nightly/RHEL-8/latest-RHEL-8.4.0/compose/BaseOS/x86_64/os/.
anaconda version should be 33.16.4.4, because I use latest-RHEL-8.4.0 as boot image.
osbuild-composer: 20.1-1.el8
ostree and rpm-ostree: 2020.7-1.el8

@atodorov, I run this test on PSI OpenStack VM with RHEL 8.4 nightly image. The repo (RHEL 8.4 system uses and osbuild-composer uses) is http://download.devel.redhat.com/rhel-8/nightly/RHEL-8/latest-RHEL-8.4.0/compose/BaseOS/x86_64/os/.
anaconda version should be 33.16.4.4, because I use latest-RHEL-8.4.0 as boot image.
osbuild-composer: 20.1-1.el8
ostree and rpm-ostree: 2020.7-1.el8

I updated the CI image to today's RHEL 8.4 compose and I still cannot reproduce this issue. Also, I found a newer run on the Jenkins instance you posted and it succeeded:
https://jenkins-cloudci-prod-virt-qe-3rd.cloud.paas.psi.redhat.com/job/rhel-edge/job/rhel840_edge_virt_x86_64/14/console
I'm afraid I cannot do much here without a reproducer.

I updated the CI image to today's RHEL 8.4 compose and I still cannot reproduce this issue. Also, I found a newer run on the Jenkins instance you posted and it succeeded:
https://jenkins-cloudci-prod-virt-qe-3rd.cloud.paas.psi.redhat.com/job/rhel-edge/job/rhel840_edge_virt_x86_64/14/console
I'm afraid I cannot do much here without a reproducer.

@ondrejbudai, I found RHEL-Edge test got passed on my rhel nightly CI since RHEL-8.4.0-202101 15.n.0. I made comparison, the ostree, rpm-ostree, and anaconda are no different, but osbuild-composer got upgraded from 20.1 to 26.1. Is there any different between those two builds? Thanks.

@ondrejbudai, I found RHEL-Edge test got passed on my rhel nightly CI since RHEL-8.4.0-202101 15.n.0. I made comparison, the ostree, rpm-ostree, and anaconda are no different, but osbuild-composer got upgraded from 20.1 to 26.1. Is there any different between those two builds? Thanks.

Yeah, this was a big rebase of osbuild-composer for 8.4.  There were a lot of changes but I'm not aware of any related to building ostree images.
Is it possible that this was a failure of the testing environment? I'm leaning towards closing this issue for now as we cannot reproduce it. Of course, we can reopen it any time if the issue appears again. Does it work for you?

Yeah, this was a big rebase of osbuild-composer for 8.4.  There were a lot of changes but I'm not aware of any related to building ostree images.
Is it possible that this was a failure of the testing environment? I'm leaning towards closing this issue for now as we cannot reproduce it. Of course, we can reopen it any time if the issue appears again. Does it work for you?

Hi, I reproduced this issue in my tes env, followings are my steps:

Install image builder and compose a RHEL edge commit image.

Download and serve edge commit image over httpd at 192.168.100.1/ (on the same machine of step 1)

Sudo virt-install  --initrd-inject="${KS_FILE}"
--extra-args="ks=file:/ks.cfg console=ttyS0,115200"
--name="${IMAGE_KEY}"
--disk path="${LIBVIRT_IMAGE_PATH}",format=qcow2
--ram 3072
--vcpus 2
--network network=integration,mac=34:49:22:B0:83:30
--os-type linux
--os-variant ${OS_VARIANT}
--location  ${REMOTE_BOOT_ISO_IN_NIGHTLY}
--nographics
--noautoconsole
--wait=-1
--noreboot

After installation started, I connected to edge image vm console, I can see the installation started, but it failed with below error message:
Installing.
Starting pull of rhel/8/x86_64/edge from rhel-edge-commit
================================================================================
Error
  The following error occurred while installing.  This is a fatal error and
  installation will be aborted.

  Failed to pull from repository: g-io-error-quark: While fetching
  http://192.168.100.1/repo/summary.sig: [7] Couldn't connect to server (0)

Press ENTER to exit:

Following is what I have tried:

turn off firewall on the machine where edge commit image is served over httpd(in this case its 192.168.100.1), I didn't see this error, installation completed without error.
turn on firewall again, and reproduced this error.

As turning off firewall is not recommended, so I did further investigation:
I turn on firewall, but allow access to httpd service. Run this command "firewall-cmd --add-service=http", and tested that I can access http 80 port,  then I tried again, but still see  this error.
I am still trying to figure out how to configure firewall to make the installation success, does anyone know about this?

@ondrejbudai , can you please take a look?
I am not sure this is an osbuild-composer issue or edge commit image issue.
Maybe we need to suggest customer to add firewall rules before they start to install edge image.

Provide more information:
I have tried today again, and I am pretty sure this issue is caused by firewall, find more log details in following steps.
Steps:

Use image builder to build and download rhel-for-edge image, extracted to /var/www/html/ and served over httpd.
Create a disk to install rhel-for-edge image:
qemu-img create -f qcow2 /var/lib/libvirt/images/t1.qcow2 20G
Turn OFF firewall.
Install rhel-for-edge image.
[root@builder tmp]# virt-install  --initrd-inject=/tmp/tmp.HzO2vAqyhb/ks.cfg --extra-args="ks=file:/ks.cfg console=ttyS0,115200" --name=rhel-edge-commit --disk path=/var/lib/libvirt/images/t1.qcow2,format=qcow2 --ram 3072 --vcpus 2 --network network=integration,mac=34:49:22:B0:83:30 --os-type linux --os-variant rhel8-unknown --location /tmp/boot.iso --nographics --noautoconsole --wait=-1 --noreboot
Connect to console and watch the install progress.
Starting installer, one moment...
anaconda 33.16.4.8-1.el8 for Red Hat Enterprise Linux 8.4 (pre-release) started.

installation log files are stored in /tmp during the installation
shell is available on TTY2
if the graphical installation interface fails to start, try again with the
inst.text bootoption to start text installation
when reporting a bug add logs from /tmp as separate text/plain attachments
08:06:56 Not asking for VNC because of an automated install
08:06:56 Not asking for VNC because text mode was explicitly asked for in kickstart
Starting automated install.
Saving storage configuration...
Checking storage configuration...

================================================================================
================================================================================
Installation

[x] Language settings                 2) [x] Time settings
(English (United States))                (Etc/UTC timezone)
[x] Installation Destination          4) [x] Kdump
(Automatic partitioning                  (Kdump is enabled)
selected)
[x] Network configuration
(Wired (enp1s0) connected)

================================================================================
Progress
.
Setting up the installation environment
Setting up org_fedora_oscap addon
Setting up com_redhat_kdump addon
..
Configuring storage
Creating disklabel on /dev/vda
Creating xfs on /dev/vda2
Creating xfs on /dev/vda1
..
Running pre-installation scripts
.
Running pre-installation tasks
...
Installing.
Starting pull of rhel/8/x86_64/edge from rhel-edge-commit
Receiving objects: 11% (2355/21294) 13.0 MB
Receiving objects: 14% (4287/30150) 21.4 MB
Receiving objects: 17% (5387/30150) 41.7 MB
Receiving objects: 21% (6567/30150) 65.3 MB
Receiving objects: 24% (7530/30150) 82.7 MB
Receiving objects: 28% (8685/30150) 102.6 MB
Receiving objects: 31% (9622/30150) 128.1 MB
Receiving objects: 34% (10405/30150) 149.0 MB
Receiving objects: 36% (10871/30150) 180.0 MB
Receiving objects: 38% (11581/30150) 192.7 MB
Receiving objects: 42% (12667/30150) 215.4 MB
Receiving objects: 44% (13567/30150) 241.7 MB
Receiving objects: 48% (14517/30150) 263.4 MB
Receiving objects: 51% (15461/30150) 284.6 MB
Receiving objects: 53% (16265/30150) 305.4 MB
Receiving objects: 56% (17090/30150) 320.1 MB
Receiving objects: 60% (18233/30150) 339.7 MB
Receiving objects: 63% (19181/30150) 357.0 MB
Receiving objects: 68% (20562/30150) 433.3 MB
Receiving objects: 70% (21207/30150) 463.7 MB
Receiving objects: 71% (21599/30150) 477.5 MB
Receiving objects: 75% (22663/30150) 498.6 MB
Receiving objects: 78% (23557/30150) 527.7 MB
Receiving objects: 80% (24385/30150) 554.1 MB
Receiving objects: 84% (25354/30150) 583.0 MB
Writing objects
Receiving objects: 88% (26672/30150) 621.6 MB
Receiving objects: 92% (27872/30150) 640.4 MB
Receiving objects: 95% (28888/30150) 657.9 MB
Receiving objects: 99% (30021/30150) 678.5 MB
Preparing deployment of rhel/8/x86_64/edge
Deployment starting: rhel/8/x86_64/edge

Installation succeeded.
Cleanup env, and turn ON firewall.
Repeat the steps  to install rhel-for-edge image, connect to console and watch install progress:
Starting installer, one moment...
anaconda 33.16.4.8-1.el8 for Red Hat Enterprise Linux 8.4 (pre-release) started.

installation log files are stored in /tmp during the installation
shell is available on TTY2
if the graphical installation interface fails to start, try again with the
inst.text bootoption to start text installation
when reporting a bug add logs from /tmp as separate text/plain attachments
08:17:10 Not asking for VNC because of an automated install
08:17:10 Not asking for VNC because text mode was explicitly asked for in kickstart
Starting automated install.
Saving storage configuration...
Checking storage configuration...

================================================================================
================================================================================
Installation

[x] Language settings                 2) [x] Time settings
(English (United States))                (Etc/UTC timezone)
[x] Installation Destination          4) [x] Kdump
(Automatic partitioning                  (Kdump is enabled)
selected)
[x] Network configuration
(Wired (enp1s0) connected)

================================================================================
Progress
.
Setting up the installation environment
Setting up org_fedora_oscap addon
Setting up com_redhat_kdump addon
..
Configuring storage
Creating disklabel on /dev/vda
Creating xfs on /dev/vda2
Creating xfs on /dev/vda1
..
Running pre-installation scripts
.
Running pre-installation tasks
...
Installing.
Starting pull of rhel/8/x86_64/edge from rhel-edge-commit
================================================================================
Error
The following error occurred while installing.  This is a fatal error and
installation will be aborted.
Failed to pull from repository: g-io-error-quark: While fetching
http://192.168.100.1/repo/summary.sig: [7] Couldn't connect to server (0)
Press ENTER to exit:
[anaconda]1:main* 2:shell  3:log  4:storage-log >Switch tab: Alt+Tab | Help: F1

Did more research:
Turn on firewall, and add http:80 to firewall. Still failed with same error.
[root@builder tmp.HzO2vAqyhb]# firewall-cmd --add-service=http
Warning: ALREADY_ENABLED: 'http' already in 'public'
success
[root@builder tmp.HzO2vAqyhb]# firewall-cmd --add-port=80/tcp --permanent
Warning: ALREADY_ENABLED: 80:tcp
success
[root@builder tmp.HzO2vAqyhb]# firewall-cmd --list-services
cockpit dhcpv6-client http https ssh
[root@builder tmp.HzO2vAqyhb]# firewall-cmd --list-ports
80/tcp
[root@builder tmp.HzO2vAqyhb]#
@gicmo Can you please help to take a look of this issue?

I reproduced this issue on 8.3.1, the behavior I observed is as same as 8.4  @gicmo

Here is the firewall settings to allow http access from outside.
[root@rhel-831-qcow2-ib edge]# firewall-cmd --get-active-zones
libvirt
interfaces: integration
public
interfaces: eth0
[root@rhel-831-qcow2-ib edge]# firewall-cmd --permanent --zone=libvirt --add-service=http
success
[root@rhel-831-qcow2-ib edge]# firewall-cmd --reload
success
[root@rhel-831-qcow2-ib edge]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2021-03-08 07:11:46 EST; 1h 0min ago
Docs: man:firewalld(1)
This  time, the firewall is active, and edge installation is successful. I also tried to allow http in zone: public, but does not work.
Here is the conclusion of this issue:

On the host machine where edge repo is served over httpd, if firewall is active, the edge installation will fail with error message "Couldn't connect to server (0)", if firewall is inactive, the edge installation will success.
Turn on firewall, and run command to allow http access from outside, the edge installation will success. But need to add http service in the right zone, otherwise edge installation will fail.
In my case, there are two active zones,  adding http service in the public zone does not work, but in zone libvirt, it works.

authors: atodorov eat3xx henrywang ondrejbudai yih-redhat

repo: osbuild/osbuild-composer


text:
org.osbuild.curl: curl: error downloading failed

osbuild-worker[1550]: RuntimeError: org.osbuild.curl: curl: error downloading {'url': 'http://mirrors.neusoft.edu.cn/centos/8-stream/AppStream/x86_64/os/Packages/libxcb-1.13.1-1.el8.x86_64.rpm'}: error code 28
when I  build on x86_64
Is my config something wrong?
And I check env the libxcb is installed.

Error code 28 in curl means operation timeout. You can retry the image build.
The timeout itself can have many different causes ranging from slow internet connection to rate limiting on the server. It is hard to tell, but there is very little to be done on the osbuild-composer side.

authors: msehnout zhangdexin


text:
Build pipeline enforces a runner

osbuild fails when the build pipeline doesn't have a runner set. It should probably use the host runner in that case, similarly to when there's no build pipeline at all.
{
  "build": {
    "pipeline": {
      "stages": [
        {
          "name": "org.osbuild.noop"
        }
      ]
    }
  },
  "assembler": {
    "name": "org.osbuild.noop"
  }
}

Traceback (most recent call last):
  File "/usr/lib64/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib64/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/lars/src/osbuild/osbuild/__main__.py", line 121, in <module>
    sys.exit(main())
  File "/home/lars/src/osbuild/osbuild/__main__.py", line 74, in main
    pipeline = osbuild.load(pipeline, sources_options)
  File "/home/lars/src/osbuild/osbuild/pipeline.py", line 414, in load
    build_pipeline, runner = load_build(build, sources_options)
  File "/home/lars/src/osbuild/osbuild/pipeline.py", line 408, in load_build
    return build_pipeline, description["runner"]
KeyError: 'runner'

I like that they are mandatory, that is why I documented it in osbuild-manifest(5). I was unsure whether that was intentional, though. Hence, if we change it, we definitely have to update the schema as well (or maybe I am misremembering something).
What is the reason to use the host system here? I mean, nothing from host is meant to leak into a pipeline, hence the build-pipeline shouldn't have any semantic connection to the host, should it? Am I missing something?

Am I missing something?

I think so :wink:
Runners describe in which environment a pipeline itself is run in. Removing the build pipeline in the above example makes osbuild choose the runner based on my host. I think the same should apply to build pipelines.
Put another way: if you give me a manifest that has a build pipeline with an org.osbuild.linux runner, it won't work on my fedora system. The idea is that the build pipeline bootstraps from a system with minimal requirements (systemd-nspawn, python3, dnf/rpm) to an environment that the actual build can rely on.

Sorry, I was thoroughly confused. In combination with #289, I thought I was looking at output from a different level pipeline.
I don't know why I thought this is how it worked. Sorry for the noise.

authors: dvdhrm larskarlitski

repo: osbuild/osbuild


text:
Sources generator

During our discussions and brainstorming we talked a lot about source generation and I'm still not completely convinced we have it figured out, or that the implicit solution we landed on is great.
For reference, my initial thought was to have the user list all their collected sources and define them under each source type, almost entirely by hand:
otk.define:
  build-packages:
    otk.external.osbuild-depsolve-dnf:
      include:
        - <build-packages>
      repos:
        - <build-repos>
  os-packages:
    otk.external.osbuild-depsolve-dnf:
      include:
        - <os-packages>
      repos:
        - <os-repos>
  some-file-embed:
     otk.external.file-embed:
       path: /path/to/file

pipelines:
  - name: build
    stages:
      - type: org.osbuild.rpm
        inputs:
           - build-packages.rpms
  - name: os
    stages:
      - type: org.osbuild.rpm
        inputs:
           - os-packages.rpms
       - type: org.osbuild.grub2
         options:
            kernel-version: kernel-ver

sources:
  org.osbuild.curl:
    items:
      otk.join:
        - os-packages.sources
        - build-packages.sources
        - somefiles.sources
  org.osbuild.inline:
     items:
       otk.join:
          - some-file-embed.source
          - kickstart-file-embed.source

This was rejected for being too cumbersome to write, which is understandable.
The alternative idea was to have externals/generators which can implicitly define sources that get added to the sources section automatically:
otk.define:
  build-packages:
    include:
      - <build-packages>
    repos:
      - <build-repos>
  os-packages:
    include:
      - <os-packages>
    repos:
      - <os-repos>

pipelines:
  - name: build
    stages:
      - otk.external.depsolve:
        packges: ${build-packages}
  - name: os
    stages:
      # generates "sources:" implicitly
      - otk.external.depsolve:
        packages: ${os-packages}
        namespace:
      - type: org.osbuild.grub2
        options:
           kernel-version: ${kernel-ver}
      - org.external.osbuild.file-from-path:
        path: ./file

I'm not entirely comfortable with this idea.  While I agree that the first one is cumbersome and requires a lot of knowledge of osbuild and osbuild manifests, I feel that the second one is too automagical.
I think there's a middle solution somewhere that would be perfect.
For one, I think needing a little bit of manifest knowledge to work with otk is acceptable (I'd even say desirable; we don't want to hide so much of osbuild manifests behind otk that users wont know how to work with them).  Secondly, I like things being explicit.  Perhaps we can't reach the ideal of having only pure functions, but we can chase it as far as we can.
I think the middle solution could look something like the GenSources() function in osbuild/images:
https://github.com/osbuild/images/blob/b002d250372ff468a2250ba0e44ed7e45a501e54/pkg/osbuild/source.go#L57-L121
Basically, an external that consumes all the external resources and produces the whole sources section:
otk.define:
  build-packages:
    otk.external.osbuild-depsolve-dnf:
      include:
        - <build-packages>
      repos:
        - <build-repos>
  os-packages:
    otk.external.osbuild-depsolve-dnf:
      include:
        - <os-packages>
      repos:
        - <os-repos>
  some-file-embed:
     otk.external.file-embed:
       path: /path/to/file

pipelines:
  ...

sources:
  otk.external.gen-sources:
    urls:
      - os-packages
      - build-packages
      - somefiles
    inline-files:
      - some-file-embed
      - kickstart-file-embed

This still requires listing every source that gets resolved or defined, but I don't think it's that cumbersome.  A name always needs to be defined to hold the output of an external call (e.g. os-packages) which will presumably be used in multiple locations (stage inputs, external generator arguments), so I don't think needing to add it to one more place (the sources section) in an existing external call is too much to expect.
It requires a bit of knowledge of osbuild manifests, but only as far as knowing that when a stage requires an external resource, it should be defined in the sources, without needing to know much about the types of sources or what the source name is (org.osbuild.curl, org.osbuild.inline, etc).

What does someone writing an omnifest gain by (semi-) explicitly listing sources?

What does someone writing an omnifest gain by (semi-) explicitly listing sources?

Not much, if anything.  Perhaps a tiny bit more visibility into how osbuild manifests are laid out, fewer abstractions, more explicitness.  Whether that's good or bad is debatable (but I generally lean more towards preferring explicitness).
The decision here I think mostly affects maintainability and troubleshooting of externals and source generation.  The implicit source generation makes me worry that it will become difficult for us (developers of otk and most externals) to easily answer the question "where did this particular source come from?", when several externals can be generating, for example, inline sources (it could be an explicit inline source file, a kickstart file or the first-boot activation key blob that we generate internally, etc).  Seeing a list of variables at the bottom of the omnifest makes it much easier to trace the origin of a value that appears in the final manifest.  It makes it very straightforward to reason about the construction of the manifest by knowing that object replacements (through externals or variables) are localised, there are no "remote actions".

We now have sources generators. There has been some discussion on if they have to generate the full map (including the source name) or just the list.

authors: achilleas-k supakeen

repo: osbuild/otk


text:
PLATUI-442: apply accessibility fix for add-to-a-list

Adam Liptrot found that when interacting with the list using JAWS list
items dialog that the subject of each list item AND the labels for the
actions available to operate on that subject would be announced
all together rather than just the label for the subject.
Source of change request:
https://github.com/hmrc/design-patterns/issues/31#issuecomment-799628620

I recreated this pr from hmrc/hmrc-frontend on a fork because as part of this I need to spin up an example so that I can ask for Adam's help retesting this with JAWS and I didn't want to have to do anything manual to share that with him, so in this fork I've setup netlify deploy previews https://github.com/oscarduignan/hmrc-frontend/commit/06bf70f428f6febc800213c5909745e79399a3fa and if you click the "details" link next to the deploy/netlify check above then you'll get taken to a deploy preview of this PR that was built by netlify. This is something that might be a good candidate to the brought into hmrc-frontend because GDS also use netlify deploy previews as part of their workflow for the style guide, for example: https://github.com/alphagov/govuk-design-system/pull/1632#issuecomment-826740080

closed because of the noise from the force pushes while resolving issues with netlify wget config and deployment rules

repo: oscarduignan/hmrc-frontend