[lldb-dap] Fix runInTerminal error message serialization (#221504)
`RunInTerminalMessageError::ToJSON()` serializes the error message using
the `"value"` field, while `ParseJSONMessage()` expects the `"error"`
field.
When the runInTerminal launcher fails, the debug adapter cannot
deserialize the launcher error and reports an `Incorrect JSON message`
error instead of preserving the original diagnostic.
This patch makes the serialized field name match the parser and adds a
round-trip test covering launcher error propagation.
Signed-off-by: cuishuang <imcusg at gmail.com>
[mlir][python] Register linalg.ElementwiseOp wrapper as op view
The hand-written ElementwiseOp wrapper subclassed the generated OpView but
was not registered in the op-view registry, so ops reconstructed from the
registry (e.g. Operation.opview) were instances of the generated base class
rather than the publicly exported subclass. This made
isinstance(op.opview, linalg.ElementwiseOp) and match/case dispatch return
False for real linalg.elementwise ops.
Register the wrapper with replace=True (as pdl.py does) so the exported
class is the one the registry instantiates.
Fixes #223673
[LLVMABI] Add CanBeFlattened to abi::ArgInfo (#220558)
Mirror `clang::CodeGen::ABIArgInfo::CanBeFlattened` on `abi::ArgInfo` so
a classifier can keep a Direct record coercion in one piece, as
AAPCS-VFP homogeneous aggregates, AMDGPU direct aggregates and x86
vectorcall HVAs require. The bit defaults to true, so existing
classifiers are unchanged. It is exposed through `getCanBeFlattened()`
and a chainable `setCanBeFlattened()`, both Direct-only like the classic
accessor.
The MLIR `ArgClassification::canFlatten` and the CIR rewriter already
honour the flag; the CIR bridge will read the new bit with the first
classifier that clears it.
graphics/py-kaleido: Generate static images for Plotly
Kaleido is a cross-platform library for generating static images for
Plotly's visualization library. After installing it, you can use
fig.write_image("filename.png") to save a plot to a file.
www/py-choreographer: Remote browser control
Choreographer allows remote control of browsers from Python. It was
created to support image generation from browser-based charting tools,
but can be used for other purposes as well.
iflib: Clear simple-TX quiescence before publishing admission
Initialization publishes RUNNING and enables interrupts before clearing
the simple-TX producer barrier. A transmitter admitted in that window
still sees IFLIB_TXQ_QUIESCING and drops its packet with ENETDOWN. A TX
completion task can likewise return without draining deferred packets.
Clear the barrier on every TX queue after driver initialization and RX
buffer setup succeed, before publishing admission. Keep failed init
paths closed and retain the existing stop, interrupt and timer ordering.
This changes only initialization; no work is added to the packet path.
Reviewed by: iflib (gallatin)
Sponsored by: BBOX.io
Differential Revision: https://reviews.freebsd.org/D59690
e1000: Express TSO restart policy without OACTIVE
After a link speed change updates TSO capabilities, request a restart
when iflib is running or the interface is administratively up. Leave
an administratively down, stopped interface to apply the change at its
next initialization.
Do not infer initialization from IFF_DRV_OACTIVE, which also remains
set after stop and failed initialization. Use iflib_is_running() for
software admission and IFF_UP for intent; iflib retains responsibility
for quiescing any partially initialized queues before restarting.
This also permits a restart request for an administratively up
interface before its first initialization attempt.
Reviewed by: iflib (gallatin)
MFC after: 2 weeks
Sponsored by: BBOX.io
Differential Revision: https://reviews.freebsd.org/D59599
NAS-143796 / 26.0.0 / Account for `CLOCK_REALTIME_COARSE` (by themylogin) (#19754)
Original PR didn't fix this fully; there still was a rare race condition
(1/300 on my machine) due to ZFS timestamps not being `CLOCK_REALTIME`.
Original PR: https://github.com/truenas/middleware/pull/19752
Co-authored-by: themylogin <themylogin at gmail.com>
NAS-143802 / 26.0.0 / Make ZFSPathInvalidException take a path like its siblings (by yocalebo) (#19755)
The class took only a message while every other path exception in the
file takes the path first. It now takes the path and an optional reason
and builds the message from both, so callers keep using e.message and no
longer repeat the path in their own text. Both raise sites pass the path
and a short reason.
pool.snapshot.create now catches it and raises a ValidationError instead
of leaking the raw exception when every dataset is excluded.
Original PR: https://github.com/truenas/middleware/pull/19753
---------
Co-authored-by: caleb <yocalebo at gmail.com>
[RelLookupTableConverter][NFC] Fix typo GlovalVarOp -> GlobalVarOp (#223555)
Fixes the misspelling of GlovalVarOp with a 'v' in
shouldConvertToRelLookupTable.
NAS-143802 / 27.0.0-BETA.1 / Make ZFSPathInvalidException take a path like its siblings (#19753)
The class took only a message while every other path exception in the
file takes the path first. It now takes the path and an optional reason
and builds the message from both, so callers keep using e.message and no
longer repeat the path in their own text. Both raise sites pass the path
and a short reason.
pool.snapshot.create now catches it and raises a ValidationError instead
of leaking the raw exception when every dataset is excluded.
NAS-143796 / 27.0.0-BETA.1 / Account for `CLOCK_REALTIME_COARSE` (#19752)
Original PR didn't fix this fully; there still was a rare race condition
(1/300 on my machine) due to ZFS timestamps not being `CLOCK_REALTIME`.
math/py-colormath2: Fork of abandoned py-colormath
Colormath2 is an actively maintained fork of the colormath project
which has been archived upstream. Dependent ports will be switched
to colormath2 and py-colormath will be deprecated.
PR: 298324
Make ZFSPathInvalidException take a path like its siblings
The class took only a message while every other path exception in the
file takes the path first. It now takes the path and an optional reason
and builds the message from both, so callers keep using e.message and
no longer repeat the path in their own text. Both raise sites pass the
path and a short reason.
pool.snapshot.create now catches it and raises a ValidationError instead
of leaking the raw exception when every dataset is excluded.
NAS-143800 / 26.0.0-RC.1 / Decouple snapshot versions from S3 versions (by anodos325) (#19751)
Recent changes in licensing setup made it so that the versions field
requires license in order to be modified. This commit decouples
ZFS-snapshot based versioning from the S3 protocol versioning feature so
that community / non-licensed S3 consumers can still choose to surface
previous versions of objects that are contained in ZFS snapshots to S3
clients.
Original PR: https://github.com/truenas/middleware/pull/19748
Co-authored-by: Andrew Walker <andrew.walker at truenas.com>
NAS-143800 / 26.0.0 / Decouple snapshot versions from S3 versions (by anodos325) (#19750)
Recent changes in licensing setup made it so that the versions field
requires license in order to be modified. This commit decouples
ZFS-snapshot based versioning from the S3 protocol versioning feature so
that community / non-licensed S3 consumers can still choose to surface
previous versions of objects that are contained in ZFS snapshots to S3
clients.
Original PR: https://github.com/truenas/middleware/pull/19748
Co-authored-by: Andrew Walker <andrew.walker at truenas.com>
[Clang] Reject overflow behavior types on _Atomic (#222179)
atomic read-modify-write operations aren't instrumented for overflow. `counter++` on an `_Atomic` object lowers to a single `atomicrmw`, and this is true for plain atomic types under `-fsanitize=signed-integer-overflow` too.
That's a problem for `__ob_trap`, which is supposed to be checked no matter what the global flags say:
```c
typedef int __ob_trap trapping_int;
_Atomic trapping_int counter;
int x = counter + 1; // checked
counter++; // not checked
```
A guarantee that only holds for some expressions is worse than none, so reject the combination outriht. Let's also reject `__ob_wrap` too so the rule doesn't depend on the behavior kind... wrap has minimal use here anyways.
Applying an OBT specifier over an atomic type was already an error, though it unhelpfully reported `_Atomic(int)` as a non-integer type even though it is. Applying `_Atomic` over an existing OBT was accepted, which is where the unchecked read-modify-write came from... this was a bug that is now fixed because we are no longer trying to apply OBT on top of `_Atomic`. This is all made more clear by better diagnostics too :)
We can relax this later if someone needs it. I think instrumenting checked atomic rmws would mean lowering to a cmpxchg/CAS loop.
Assisted-by: claude
Signed-off-by: Justin Stitt <justinstitt at google.com>
[flang][cuda] Implicitly attribute ALLOCATABLE/POINTER components as managed
Under -gpu=mem:managed, resolve-names implicitly attributes allocatables and
pointers declared in an ordinary scope as managed.
Apply the same attribution to components in Post(ComponentDecl). An explicitly
attributed component keeps its own attribute, and a translation unit without
CUDA Fortran enabled is left alone.