Fail to build shared libs and OpenCL not detected with static lib - libamdocl64.a: invalid ELF header

Hi there
I don't succeed to build rocm-clr with BUILD_SHARED_LIBS=ON
So, I used:
cmake \
    -Wno-dev \
    -S "." \
    -B build \
    -DCMAKE_C_COMPILER=%{install_prefix}/llvm/bin/clang \
    -DLLVM_DIR=%{install_prefix}/llvm/lib/cmake/llvm \
    -DCLR_BUILD_OCL=ON \
    -DROCM_PATH=%{_usr} \
    -DClang_DIR=%{install_prefix}/llvm/lib/cmake/clang \
    -DLLD_DIR=%{install_prefix}/llvm/lib/cmake/lld \
    -DBUILD_SHARED_LIBS=OFF

with install_prefix = /usr/lib64/rocm
The build runs fine and libamdocl64.a is created (no .so is created, obviously).
I created /etc/OpenCL/vendors/amdocl64.icd with /usr/lib64/rocm//libamdocl64.a into it.
rocminfo finds my GPU:
ROCk module is loaded
=====================
HSA System Attributes
=====================
Runtime Version:         1.1
System Timestamp Freq.:  1000.000000MHz
Sig. Max Wait Duration:<PHONE_NUMBER>3709551615 (0xFFFFFFFFFFFFFFFF) (timestamp count)
Machine Model:           LARGE
System Endianness:       LITTLE
Mwaitx:                  DISABLED
DMAbuf Support:          YES

==========
HSA Agents
==========
*******
Agent 1
*******
  Name:                    AMD Ryzen 9 5900X 12-Core Processor
  Uuid:                    CPU-XX
  Marketing Name:          AMD Ryzen 9 5900X 12-Core Processor
  Vendor Name:             CPU
  Feature:                 None specified
  Profile:                 FULL_PROFILE
  Float Round Mode:        NEAR
  Max Queue Number:        0(0x0)
  Queue Min Size:          0(0x0)
  Queue Max Size:          0(0x0)
  Queue Type:              MULTI
  Node:                    0
  Device Type:             CPU
  Cache Info:
    L1:                      32768(0x8000) KB
  Chip ID:                 0(0x0)
  ASIC Revision:           0(0x0)
  Cacheline Size:          64(0x40)
  Max Clock Freq. (MHz):   3700
  BDFID:                   0
  Internal Node ID:        0
  Compute Unit:            24
  SIMDs per CU:            0
  Shader Engines:          0
  Shader Arrs. per Eng.:   0
  WatchPts on Addr. Ranges:1
  Features:                None
  Pool Info:
    Pool 1
      Segment:                 GLOBAL; FLAGS: FINE GRAINED
      Size:                    32782820(0x1f439e4) KB
      Allocatable:             TRUE
      Alloc Granule:           4KB
      Alloc Alignment:         4KB
      Accessible by all:       TRUE
    Pool 2
      Segment:                 GLOBAL; FLAGS: KERNARG, FINE GRAINED
      Size:                    32782820(0x1f439e4) KB
      Allocatable:             TRUE
      Alloc Granule:           4KB
      Alloc Alignment:         4KB
      Accessible by all:       TRUE
    Pool 3
      Segment:                 GLOBAL; FLAGS: COARSE GRAINED
      Size:                    32782820(0x1f439e4) KB
      Allocatable:             TRUE
      Alloc Granule:           4KB
      Alloc Alignment:         4KB
      Accessible by all:       TRUE
  ISA Info:
*******
Agent 2
*******
  Name:                    gfx1032
  Uuid:                    GPU-XX
  Marketing Name:          AMD Radeon RX 6600
  Vendor Name:             AMD
  Feature:                 KERNEL_DISPATCH
  Profile:                 BASE_PROFILE
  Float Round Mode:        NEAR
  Max Queue Number:        128(0x80)
  Queue Min Size:          64(0x40)
  Queue Max Size:          131072(0x20000)
  Queue Type:              MULTI
  Node:                    1
  Device Type:             GPU
  Cache Info:
    L1:                      16(0x10) KB
    L2:                      2048(0x800) KB
    L3:                      32768(0x8000) KB
  Chip ID:                 29695(0x73ff)
  ASIC Revision:           0(0x0)
  Cacheline Size:          64(0x40)
  Max Clock Freq. (MHz):   2750
  BDFID:                   2304
  Internal Node ID:        1
  Compute Unit:            28
  SIMDs per CU:            2
  Shader Engines:          2
  Shader Arrs. per Eng.:   2
  WatchPts on Addr. Ranges:4
  Features:                KERNEL_DISPATCH
  Fast F16 Operation:      TRUE
  Wavefront Size:          32(0x20)
  Workgroup Max Size:      1024(0x400)
  Workgroup Max Size per Dimension:
    x                        1024(0x400)
    y                        1024(0x400)
    z                        1024(0x400)
  Max Waves Per CU:        32(0x20)
  Max Work-item Per CU:    1024(0x400)
  Grid Max Size:<PHONE_NUMBER>(0xffffffff)
  Grid Max Size per Dimension:
    x<PHONE_NUMBER>(0xffffffff)
    y<PHONE_NUMBER>(0xffffffff)
    z<PHONE_NUMBER>(0xffffffff)
  Max fbarriers/Workgrp:   32
  Packet Processor uCode:: 109
  SDMA engine uCode::      76
  IOMMU Support::          None
  Pool Info:
    Pool 1
      Segment:                 GLOBAL; FLAGS: COARSE GRAINED
      Size:                    8372224(0x7fc000) KB
      Allocatable:             TRUE
      Alloc Granule:           4KB
      Alloc Alignment:         4KB
      Accessible by all:       FALSE
    Pool 2
      Segment:                 GLOBAL; FLAGS:
      Size:                    8372224(0x7fc000) KB
      Allocatable:             TRUE
      Alloc Granule:           4KB
      Alloc Alignment:         4KB
      Accessible by all:       FALSE
    Pool 3
      Segment:                 GROUP
      Size:                    64(0x40) KB
      Allocatable:             FALSE
      Alloc Granule:           0KB
      Alloc Alignment:         0KB
      Accessible by all:       FALSE
  ISA Info:
    ISA 1
      Name:                    amdgcn-amd-amdhsa--gfx1032
      Machine Models:          HSA_MACHINE_MODEL_LARGE
      Profiles:                HSA_PROFILE_BASE
      Default Rounding Mode:   NEAR
      Default Rounding Mode:   NEAR
      Fast f16:                TRUE
      Workgroup Max Size:      1024(0x400)
      Workgroup Max Size per Dimension:
        x                        1024(0x400)
        y                        1024(0x400)
        z                        1024(0x400)
      Grid Max Size:<PHONE_NUMBER>(0xffffffff)
      Grid Max Size per Dimension:
        x<PHONE_NUMBER>(0xffffffff)
        y<PHONE_NUMBER>(0xffffffff)
        z<PHONE_NUMBER>(0xffffffff)
      FBarrier Max Size:       32
*** Done ***

but clinfo from the ROCm package fails with:
dlerror: /usr/lib64/rocm/libamdocl64.a: invalid ELF header
ERROR: clGetPlatformIDs(-1001)

I am afraid to be in a catch22 situation: libamdocl64.so seems to be required in the  amdocl64.icd but I can only get a libamdocl64.a from the build.
What is the way to get out of that? I have not been able to find any hints in https://rocm.docs.amd.com/en/latest/
Thanks for your support!

Can you share the failure details you saw while building with SHARED_LIBS ON

Can you share the failure details you saw while building with SHARED_LIBS ON

Hi. It is numerous undefined reference errors during the link step, like:
[100%] Linking CXX shared library libamdocl64.so
cd /builddir/build/BUILD/clr-rocm-5.7.1/build/opencl/amdocl && /usr/bin/cmake -E cmake_link_script CMakeFiles/amdocl.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -DNDEBUG -pthread -Wl,--as-needed -Wl,--no-undefined -Wl,-z,relro -Wl,-O1 -Wl,--build-id=sha1 -Wl,--enable-new-dtags -shared -Wl,-soname,libamdocl64.so -o libamdocl64.so CMakeFiles/amdocl.dir/cl_command.cpp.o CMakeFiles/amdocl.dir/cl_context.cpp.o CMakeFiles/amdocl.dir/cl_counter.cpp.o CMakeFiles/amdocl.dir/cl_d3d9.cpp.o CMakeFiles/amdocl.dir/cl_d3d10.cpp.o CMakeFiles/amdocl.dir/cl_d3d11.cpp.o CMakeFiles/amdocl.dir/cl_device.cpp.o CMakeFiles/amdocl.dir/cl_event.cpp.o CMakeFiles/amdocl.dir/cl_execute.cpp.o CMakeFiles/amdocl.dir/cl_gl.cpp.o CMakeFiles/amdocl.dir/cl_icd.cpp.o CMakeFiles/amdocl.dir/cl_kernel_info_amd.cpp.o CMakeFiles/amdocl.dir/cl_memobj.cpp.o CMakeFiles/amdocl.dir/cl_p2p_amd.cpp.o CMakeFiles/amdocl.dir/cl_pipe.cpp.o CMakeFiles/amdocl.dir/cl_platform_amd.cpp.o CMakeFiles/amdocl.dir/cl_profile_amd.cpp.o CMakeFiles/amdocl.dir/cl_program.cpp.o CMakeFiles/amdocl.dir/cl_sampler.cpp.o CMakeFiles/amdocl.dir/cl_sdi_amd.cpp.o CMakeFiles/amdocl.dir/cl_svm.cpp.o CMakeFiles/amdocl.dir/cl_thread_trace_amd.cpp.o  -Wl,-rpath,/usr/lib64/rocm/llvm/lib: -Wl,-Bsymbolic -Wl,--version-script=/builddir/build/BUILD/clr-rocm-5.7.1/opencl/amdocl/amdocl.map ../../rocclr/librocclr.a -lrt /usr/lib64/libamd_comgr.a /usr/lib64/rocm/llvm/lib/liblldELF.so.17git /usr/lib64/rocm/llvm/lib/liblldCommon.so.17git /usr/lib64/rocm/llvm/lib/libLLVMAMDGPUCodeGen.so.17git /usr/lib64/rocm/llvm/lib/libLLVMAMDGPUAsmParser.so.17git /usr/lib64/rocm/llvm/lib/libLLVMAMDGPUDisassembler.so.17git /usr/lib64/rocm/llvm/lib/libLLVMAMDGPUDesc.so.17git /usr/lib64/rocm/llvm/lib/libLLVMAMDGPUInfo.so.17git /usr/lib64/rocm/llvm/lib/libLLVMAMDGPUUtils.so.17git /usr/lib64/rocm/llvm/lib/libLLVMNVPTXCodeGen.so.17git /usr/lib64/rocm/llvm/lib/libLLVMNVPTXDesc.so.17git /usr/lib64/rocm/llvm/lib/libLLVMNVPTXInfo.so.17git /usr/lib64/rocm/llvm/lib/libLLVMX86CodeGen.so.17git /usr/lib64/rocm/llvm/lib/libLLVMX86AsmParser.so.17git /usr/lib64/rocm/llvm/lib/libLLVMX86Desc.so.17git /usr/lib64/rocm/llvm/lib/libLLVMX86Disassembler.so.17git /usr/lib64/rocm/llvm/lib/libLLVMX86Info.so.17git /usr/lib64/rocm/llvm/lib/libclangFrontendTool.so.17git /usr/lib64/rocm/llvm/lib/libLLVMSymbolize.so.17git /usr/lib64/rocm/llvm/lib/libLLVMDebugInfoDWARF.so.17git /usr/lib64/libhsa-runtime64.so.1.11.0 /usr/lib64/libnuma.so -Wl,-rpath-link,/usr/lib64/rocm/llvm/lib
/usr/bin/ld: /usr/lib64/libamd_comgr.a(comgr-compiler.cpp.o): in function `std::default_delete<llvm::Module>::operator()(llvm::Module*) const [clone .part.0]':
(.text+0x55): undefined reference to `llvm::Module::~Module()'
/usr/bin/ld: /usr/lib64/libamd_comgr.a(comgr-compiler.cpp.o): in function `llvm::SmallVectorImpl<char>::operator=(llvm::SmallVectorImpl<char>&&) [clone .isra.0]':
(.text+0x198): undefined reference to `llvm::SmallVectorBase<unsigned long>::grow_pod(void*, unsigned long, unsigned long)'
/usr/bin/ld: /usr/lib64/libamd_comgr.a(comgr-compiler.cpp.o): in function `llvm::Error::operator=(llvm::Error&&) [clone .isra.0]':
(.text+0x2b5): undefined reference to `llvm::Error::fatalUncheckedError() const'
/usr/bin/ld: /usr/lib64/libamd_comgr.a(comgr-compiler.cpp.o): in function `llvm::SmallVectorImpl<char>::operator=(llvm::SmallVectorImpl<char> const&) [clone .isra.0]':
(.text+0x358): undefined reference to `llvm::SmallVectorBase<unsigned long>::grow_pod(void*, unsigned long, unsigned long)'
/usr/bin/ld: /usr/lib64/libamd_comgr.a(comgr-compiler.cpp.o): in function `COMGR::logArgv(llvm::raw_ostream&, llvm::StringRef, llvm::ArrayRef<char const*>)':
(.text+0x88c): undefined reference to `llvm::raw_ostream::write(char const*, unsigned long)'
/usr/bin/ld: (.text+0x8e7): undefined reference to `llvm::raw_ostream::write(char const*, unsigned long)'

I had to build ROCm-compilersupport with SHARED_LIBS ON already:
https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/issues/59
Full log here:
rocm-amd-opencl-5.7.1-1.7-mga9-testing.log
Thanks for your support!

Hi, sorry, I provided the wrong link regarind the issue leading to build ROCm-compilersupport witn SHARED_LIBS OFF, here it is:
https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/issues/55

I have now succeeded to build ROCm-compilersupport with SHARED_LIBS ON; explained in https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/issues/55
Meaning, I can also now build rocm-clr with SHARED_LIBS ON
However, my RX6600 aka gfx1032 is not found to get opencl active. Here is the output of ROCm clinfo, showing 0 device found in the platform:
Number of platforms:                             1
  Platform Profile:                              FULL_PROFILE
  Platform Version:                              OpenCL 2.1 AMD-APP (3590.0)
  Platform Name:                                 AMD Accelerated Parallel Processing
  Platform Vendor:                               Advanced Micro Devices, Inc.
  Platform Extensions:                           cl_khr_icd cl_amd_event_callback

  Platform Name:                                 AMD Accelerated Parallel Processing
Number of devices:                               0

darktable-cltest confirms OpenCL is not active:
     0,0313 [dt_get_sysresource_level] switched to 1 as `default'
     0,0313   total mem:       32014MB
     0,0313   mipmap cache:    4001MB
     0,0313   available mem:   16007MB
     0,0313   singlebuff:      250MB
     0,0313   OpenCL tune mem: OFF
     0,0313   OpenCL pinned:   OFF
[opencl_init] opencl related configuration options:
[opencl_init] opencl: ON
[opencl_init] opencl_scheduling_profile: 'default'
[opencl_init] opencl_library: 'default path'
[opencl_init] opencl_device_priority: '*/!0,*/*/*/!0,*'
[opencl_init] opencl_mandatory_timeout: 400
[opencl_init] opencl library 'libOpenCL' found on your system and loaded
[opencl_init] found 1 platform
[opencl_init] no devices found for Advanced Micro Devices, Inc. (vendor) - AMD Accelerated Parallel Processing (name)
[opencl_init] found 0 device
[opencl_init] FINALLY: opencl is NOT AVAILABLE and NOT ENABLED.

What am I still missing?
Thanks!
Note: romcinfo finds my GPU (output on the first post)

Hi.
By build rocm-llvm with SHARED_LIBS OFF, I have been able to build ROCm-compilersupport (https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/issues/55) with SHARED_LIBS ON AND clr as well.
By that, I have OpenCL activated with my GPU gfx1032 (RX6600).
So, all is good now. Even if it is not explained why it was not working with static libs from ROCm-compilersupport and clr.
Thanks all for your insights!


Windows Mobile Reference can be removed as Windows Mobile is no longer a supported platform

There a quite some references towards "Windows Mobile" in the basic mobility and security documents. As Windows Mobile is no longer supported It might be good to reflect the documentation with that.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1a33db0b-45cf-2903-3c71-f68d56f520ea
Version Independent ID: fd9e9be2-14ca-ee49-b634-d654bd141a8a
Content: Overview of Basic Mobility and Security for Microsoft 365 - Microsoft 365 admin
Content Source: microsoft-365/admin/basic-mobility-security/overview.md
Service: o365-administration
GitHub Login: @KwekuA
Microsoft Alias: kwekua

@fvanrijt Thank you for your feedback. We have made changes to the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/7926
Once the author approves, the changes will be live.
Thanks
Sri

@msbemba Thank you very much for the contribution and updating the documentation with PR. @fvanrijt Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Comparison with eddflrs's meteor-ddp

Hi @pscanf,
I was looking at the Meteorpedia list of DDP clients implemented in JavaScript and saw Asteroid along with @eddflrs's meteor-ddp. Since meteor-ddp already existed when you started this project, I was wondering what the reasons were for creating a new implementation, and how Asteroid compares with Meteor-DDP.
Thanks,
Dan

I can see at least one difference (that matters for me): Asteroid supports basic MongoDB-like selectors, while you're limited to getting documents by their IDs in meteor-ddp.


How to define which terminal is opened by default?

I couldn't find any hint about this in the documentation and I am not sure if it is already in the features or not. Thus the pretty open question. Whatever I do, my Terminal always start on a Powershell Window. Even when I remove the Powershell Profile from the settings (a default one then gets created upon launch).
Is there a way to make it another terminal the default one?
Thanks!

@wertzui damn it, that was too easy :D thanks!
Now that I know what to search for, I also find it in the doc. Somehow it didn't click before...


artifactoryPublish fails if configuration on demand is enabled

Expected behaviour
Executing ./gradlew artifactoryPublish publishes artefacts. Output:
13:20:53: Executing task 'artifactoryPublish'...

Executing tasks: [artifactoryPublish]

:library:generatePomFileForAarPublication
:library:artifactoryPublish
:artifactoryDeploy
Deploying artifact: http://localhost:8081/artifactory/gradle-dev-local/gradle-android-example/library/1.0-SNAPSHOT/library-1.0-SNAPSHOT.aar
Deploying artifact: http://localhost:8081/artifactory/gradle-dev-local/gradle-android-example/library/1.0-SNAPSHOT/library-1.0-SNAPSHOT.pom
Deploying build descriptor to: http://localhost:8081/artifactory/api/build
Build successfully deployed. Browse it in Artifactory under http://localhost:8081/artifactory/webapp/builds/gradle-android-example/1530098455348

BUILD SUCCESSFUL in 2s
3 actionable tasks: 3 executed
13:20:56: Task execution finished 'artifactoryPublish'.

Actual behaviour
Executing ./gradlew artifactoryPublish doesn't publish any artefacts. Output:
13:22:48: Executing task 'artifactoryPublish'...

Executing tasks: [artifactoryPublish]

Configuration on demand is an incubating feature.
:library:artifactoryPublish

BUILD SUCCESSFUL in 1s
1 actionable task: 1 executed
13:22:50: Task execution finished 'artifactoryPublish'.

Steps to reproduce

Checkout gradle-android-example
Add org.gradle.configureondemand=true to gradle.properties

Configuration on demand is an often (1, 2, 3) recommended build performance optimization for larger projects with multiple modules.
Finding the cause of this issue burned quite a few hours. There should be at least a warning or error message if the artifactory plugin can't work properly with that flag enabled.

Just lost some hours because of this issue. I added configuration on demand together with some other Gradle changes and it was not clear at all that this was the cause as the problem is completely silent.

Wow, this is still not supported after 3 years?
If I run these commands one after the other, the group of the -domain dependency is not resolved and it's wrong
./gradlew :ble:generatePomFileForAarPublication
./gradlew :ble-domain:generatePomFileForAarPublication

Snippet from generated pom for ble module
    <dependency>
      <groupId>ProjectName.ble</groupId>
      <artifactId>ble-domain</artifactId>
      <version>0.3.0</version>
    </dependency>

The group is resolved as expected if you run one after the oner
./gradlew :ble:generatePomFileForAarPublication :ble-domain:generatePomFileForAarPublication

And now, the group is correct
    <dependency>
      <groupId>my.company</groupId>
      <artifactId>ble-domain</artifactId>
      <version>0.3.0</version>
    </dependency>

Come on JFrog, give some ❤  to this plugin!


Occasional segfault soon-after-startup for UDP client

UDP Server: https://gist.github.com/992d3e599fdf4cae164296d2aabcf5a5
UDP Client: https://gist.github.com/1fd3260168f28212e8867c161e75d01e
OSX 10.11.6, pony version 0.13.1-874c0f8 [release] compiled with: llvm 3.9.1 -- Apple LLVM version 8.0.0 (clang-8<IP_ADDRESS>) (but this also occurred under pony 0.11.x)
When you start a server (a simple UDP reflector) and then the client (a simple UDP spammer), then occasionally, you get a segmentation fault.  This seems to generally occur 'early' (after only a few thousand packets have been sent); if it doesn't occur early, the process appears to be able to run forever.  There looks to be a long pause right before the crash, although that may be due to the core file being written (or it could be a threading deadlock).  The output of the client at that time looks like this:
[...]
3854
3855
3856
[1]    40929 segmentation fault (core dumped)
and lldb says:
lldb) bt

thread #1: tid = 0x0000, 0x00007fffa17c210a libsystem_kernel.dylib`__semwait_signal + 10, stop reason = signal SIGSTOP

frame #0: 0x00007fffa17c210a libsystem_kernel.dylib__semwait_signal + 10 frame #1: 0x00007fff8e235787 libsystem_pthread.dylibpthread_join + 444
frame #2: 0x0000000100013ddc boltthrowerpony_start + 572 frame #3: 0x00007fffa1c695ad libdyld.dylibstart + 1

I'm not familiar enough with debugging under lldb/osx to be able to be much help further, but I'll happily help however I can.

Adding to this: if the printed counter advances beyond around 30k, I haven't seen it crash after that (and have run it to 600k+).  However, if you ^C the process and restart it, it fails about 5-10% of the time.  One doesn't need to restart or otherwise touch the reflection server once it's running, the bug is entirely triggered by the client.

@Cloven which segfaults, the client or the server?

Client only.

@Cloven how many CPUs does your machine have?

@Cloven also what type of CPU? Info about the type of Apple computer might be helpful.

@Cloven the pause is most likely the OSX giving something else access to the CPU, i get it without a crash from time to time and it appears to be the client being momentarily paused by OSX ( from what I can see).
I'm on 10.11.6
Mid 2015 Macbook Pro.
LLVM 3.9.1
Same ponyc version you are using
I have 4 cpus so both the server and the client are running with 4 ponythreads.
I was about to hit comment on this as I had run about 100 times with no segfault but I just got one. No pause though and it was up to 67843 when it happened.

@Cloven can you build the client using --debug and see if you still get the problem?

I was able to recreate in the debugger. This is going to look familiar to some folks:
Process 29460 stopped
* thread #2: tid = 0x2d9c10, 0x000000010001232d client`ponyint_gc_release + 157, stop reason = EXC_BAD_ACCESS (code=1, address=0x8)
    frame #0: 0x000000010001232d client`ponyint_gc_release + 157
client`ponyint_gc_release:
->  0x10001232d <+157>: subq   %rcx, 0x8(%rax)
    0x100012331 <+161>: cmpq   $0x0, 0x18(%r14)
    0x100012336 <+166>: je     0x1000123ab               ; <+283>
    0x100012338 <+168>: movq   0x20(%r14), %rcx
(lldb) bt
* thread #2: tid = 0x2d9c10, 0x000000010001232d client`ponyint_gc_release + 157, stop reason = EXC_BAD_ACCESS (code=1, address=0x8)
  * frame #0: 0x000000010001232d client`ponyint_gc_release + 157
    frame #1: 0x000000010000b5a7 client`handle_message + 263
    frame #2: 0x0000000100016450 client`run_thread + 720
    frame #3: 0x00007fff9249099d libsystem_pthread.dylib`_pthread_body + 131
    frame #4: 0x00007fff9249091a libsystem_pthread.dylib`_pthread_start + 168
    frame #5: 0x00007fff9248e351 libsystem_pthread.dylib`thread_start + 13
(lldb)

That box is a 2012 macbook air (dual-core 2.0GHz Intel Core i7 (Turbo Boost
up to 3.2GHz) with 4MB shared L3 cache) with 8G of RAM.  I'll build with
debug when I can.  It's interesting that you're getting the bug more rarely
than I am.
On Thu, Apr 27, 2017 at 4:14 PM, Sean T Allen<EMAIL_ADDRESS>wrote:

@Cloven https://github.com/Cloven can you build the client using --debug
and see if you still get the problem?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ponylang/ponyc/issues/1872#issuecomment-297864449,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAeOrxZ6nKcBobqAlb3wQ1hFHkK-Qn5xks5r0SFVgaJpZM4NK23S
.

I'm seem to be able to make this happen far more consistently with 2 threads rather than 4.

Different segfault this time and yeah, running with 2 ponythreads seems to be the key to easily reproducing for me:
Process 30082 stopped
* thread #2: tid = 0x2dc05d, 0x0000000100010eb7 client`ponyint_gc_recvobject + 599, stop reason = EXC_BAD_ACCESS (code=1, address=0x10)
    frame #0: 0x0000000100010eb7 client`ponyint_gc_recvobject + 599
client`ponyint_gc_recvobject:
->  0x100010eb7 <+599>: movq   0x10(%rax), %rcx
    0x100010ebb <+603>: movq   0xa8(%r13), %rdx
    0x100010ec2 <+610>: cmpl   %edx, %ecx
    0x100010ec4 <+612>: je     0x10001109c               ; <+1084>
(lldb) bt
* thread #2: tid = 0x2dc05d, 0x0000000100010eb7 client`ponyint_gc_recvobject + 599, stop reason = EXC_BAD_ACCESS (code=1, address=0x10)
  * frame #0: 0x0000000100010eb7 client`ponyint_gc_recvobject + 599
    frame #1: 0x00000001000012b8 client`net_UDPSocket_Dispatch + 376
    frame #2: 0x000000010000b6b2 client`handle_message + 530
    frame #3: 0x0000000100016450 client`run_thread + 720
    frame #4: 0x00007fff9249099d libsystem_pthread.dylib`_pthread_body + 131
    frame #5: 0x00007fff9249091a libsystem_pthread.dylib`_pthread_start + 168
    frame #6: 0x00007fff9248e351 libsystem_pthread.dylib`thread_start + 13

And another slightly different:
src/libponyrt/gc/gc.c:163: recv_local_object: Assertion `obj != NULL` failed.

Backtrace:
  0   client                              0x000000010001d421 ponyint_assert_fail + 161
  1   client                              0x00000001000143ad recv_local_object + 125
  2   client                              0x00000001000142f9 ponyint_gc_recvobject + 137
  3   client                              0x0000000100017140 pony_traceunknown + 96
  4   client                              0x0000000100001bde net_UDPSocket_Dispatch + 286
  5   client                              0x000000010000bdfb ponyint_actor_run + 283
  6   client                              0x000000010001e188 run + 168
  7   client                              0x000000010001def9 run_thread + 57
  8   libsystem_pthread.dylib             0x00007fff9249099d _pthread_body + 131
  9   libsystem_pthread.dylib             0x00007fff9249091a _pthread_body + 0
  10  libsystem_pthread.dylib             0x00007fff9248e351 thread_start + 13
Process 32707 stopped
* thread #2: tid = 0x2df049, 0x00007fff9a257f06 libsystem_kernel.dylib`__pthread_kill + 10, stop reason = signal SIGABRT
    frame #0: 0x00007fff9a257f06 libsystem_kernel.dylib`__pthread_kill + 10
libsystem_kernel.dylib`__pthread_kill:
->  0x7fff9a257f06 <+10>: jae    0x7fff9a257f10            ; <+20>
    0x7fff9a257f08 <+12>: movq   %rax, %rdi
    0x7fff9a257f0b <+15>: jmp    0x7fff9a2527cd            ; cerror_nocancel
    0x7fff9a257f10 <+20>: retq
(lldb) bt
warning: could not load any Objective-C class information. This will significantly reduce the quality of type information available.
* thread #2: tid = 0x2df049, 0x00007fff9a257f06 libsystem_kernel.dylib`__pthread_kill + 10, stop reason = signal SIGABRT
  * frame #0: 0x00007fff9a257f06 libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fff924934ec libsystem_pthread.dylib`pthread_kill + 90
    frame #2: 0x00007fff889db6df libsystem_c.dylib`abort + 129
    frame #3: 0x000000010001d513 client`ponyint_assert_fail(expr="obj != NULL", file="src/libponyrt/gc/gc.c", line=163, func="recv_local_object") + 403 at ponyassert.c:60
    frame #4: 0x00000001000143ad client`recv_local_object(ctx=0x0000000108fff848, p=0x0000000120e35580, t=0x000000010002c690, mutability=1) + 125 at gc.c:163
    frame #5: 0x00000001000142f9 client`ponyint_gc_recvobject(ctx=0x0000000108fff848, p=0x0000000120e35580, t=0x000000010002c690, mutability=1) + 137 at gc.c:457
    frame #6: 0x0000000100017140 client`pony_traceunknown(ctx=0x0000000108fff848, p=0x0000000120e35580, m=1) + 96 at trace.c:117
    frame #7: 0x0000000100001bde client`net_UDPSocket_Dispatch + 286
    frame #8: 0x000000010000c139 client`handle_message(ctx=0x0000000108fff848, actor=0x0000000118fffc00, msg=0x0000000120efaec0) + 457 at actor.c:103
    frame #9: 0x000000010000bdfb client`ponyint_actor_run(ctx=0x0000000108fff848, actor=0x0000000118fffc00, batch=100) + 283 at actor.c:158
    frame #10: 0x000000010001e188 client`run(sched=0x0000000108fff800) + 168 at scheduler.c:287
    frame #11: 0x000000010001def9 client`run_thread(arg=0x0000000108fff800) + 57 at scheduler.c:338
    frame #12: 0x00007fff9249099d libsystem_pthread.dylib`_pthread_body + 131
    frame #13: 0x00007fff9249091a libsystem_pthread.dylib`_pthread_start + 168
    frame #14: 0x00007fff9248e351 libsystem_pthread.dylib`thread_start + 13

with 2 ponythreads, debug compiler, debug client I can seemingly reproduce all the time.

It appears that anytime this happens, we've recently gone through this branch in hash.c search:
    if(p_length >
        (oi_p_length = get_probe_length(map, elem_hash, index, mask))) {
      // our probe length is greater than the elements probe length
      // we would normally have swapped so return this position
      *pos = index;
      *probe_length = p_length;
      *oi_probe_length = oi_p_length;
      return NULL;
    }

big question: is there a bug in the hash implementation, are we doing a double free, or are we deleting from the object map early?

there's a bug in hash.c

So what I am regularly seeing and I need @dipinhora's assistance with:
The map size is always 64.
The index that we start from is always near the map size (60,61 etc)
The item we want is in the map. It seems always 2 away from the index we start at:
for example, index is 61
the value we want (for example<PHONE_NUMBER>696014013) is at bucket 63.
get_probe_length(map, elem_hash, index, mask) returns a number lower than p_length before we get to the value in the bucket (in the above case after the index 62 lookup) so we never get the item we are looking for.

A couple updates. The map size has always been 64 for I see this.
The item is always in the hash but its just after an element that should be higher than it based on probe_length. ie
the item is at index 63
but there;s an item at 62
where when you run the probe length, our item when checked at 62 has a higher probe length than the item at 62.

@dipinhora thinks its a memory clobbering issue as we can't as yet reproduce with 1 thread and if you get rid of the actor that does the printing, the problem also goes away. its odd because the object map that hits the error looks fine except for being out of order.
very odd.

I picked this up this morning while talking to sylvan. Same binaries as the other night and can't get a consistent crash anymore.

AND i just determined that if zoom isnt running, it happens

With some teamwork amongst @sylvanc, @dipinhora and myself, we appear to have found the source of the problem. Working on a fix.

Fix for this has been released as part of 0.14.0


BUG: RuntimeWarning from overflow in _beta_ppf

Describe your issue.
I'm inconsistently getting a RuntimeWarning from scipy, seemingly only after running a matplotlib plotting function. This isn't really a problem for me, but it is weird and I didn't see it referenced anywhere so I figured I would at least raise an issue.
I don't get the runtime error if I just run beta.pdf(xs, 1.2, 1.8) outside the plotting function. In general the error seems to appear inconsistently, and I'm not entirely sure how to characterise the conditions accurately.
This is possibly related to #13364, since this comment has the same error from some tests. I am also on an M1 mac, and using the miniforge version of scipy).
Reproducing Code Example
import matplotlib.pyplot as plt
from scipy.stats import beta
import numpy as np

xs = np.linspace(0, 1, 100)
plt.plot(xs, beta.pdf(xs, 1.2, 1.8))
beta.ppf(0.01, 1.2, 1.8)

Error message
/opt/homebrew/Caskroom/miniforge/base/envs/smokey/lib/python3.9/site-packages/scipy/stats/_continuous_distns.py:624: RuntimeWarning: overflow encountered in _beta_ppf
  return _boost._beta_ppf(q, a, b)

SciPy/NumPy/Python version information
1.7.0 1.21.2 sys.version_info(major=3, minor=9, micro=6, releaselevel='final', serial=0)

Thank you for the report @NixGD. This issue is a duplicate of gh-14901 now, which has more info - so I'll close this one. We'll try to fix this for 1.7.3 (first release with arm64 macOS wheels).


Correct PgConnectOptions to MySql in mysql docs

I'm using this library for the first time, and I noticed this small oversight in the docs.

Thanks!


supporting improper lists

gosh, sorry, i was trying to raise these 2 bits of functionality as separate PRS, but realised it doesn't make sense separate, will go back to the single PR with both in from my master


Fix undefined input values

Oops, wrong browser profile, that was me merging 😄
I was confused about this earlier, what is the difference between InputValuePropertyChangeList and InputValueAttributeChangeList? I mean I know what they do differently, but when are each of those used?

Hm I missed it earlier, can you test updating also?

Ah yes InputValueAttributeChangeList can go away it's effectively dead code. Will follow up with another PR.

Basically following INUR


Added Font-awesome 5

Added font-awesome 5. I updated the default calendar to use 5 with shims to 4. Updated example.
Didn't remove font-awesome 4 for backward compatibility.
Fixes: #1345 & #1344 .
Possible change: remove font-awesome 4 completely and substitute it with the shim.

Thanks for your contribution! Sorry for the slow response. I've been on a holiday for a while.


Quote config_file in Mono ENV Options

This should fix an issue when there's a space in the path where OmniSharp is installed.

See https://twitter.com/Nick_Craver/status/1315008491812270085?s=19

Hello, I'm affected by the same bug. It seems that even latest release (v1.37.10) still doesn't contain the fix. How is it possible?
You can download https://github.com/OmniSharp/omnisharp-roslyn/releases/download/v1.37.10/omnisharp-linux-x64.zip and open the run file, and the content is:
export MONO_ENV_OPTIONS="--assembly-loader=strict --config ${config_file}"


create_attachment not working

Hi!
I have started recently using your youtrack rest-api python client and I am currently having problems running the create_attachment() method to attach a binary file to an issue. I am using a command which is similar to the one I was using for the python 2.7 library, namely:
connectionobject.create_attachment("issueid", name='file.png', content=open('file.png','rb'),authorLogin="username")
I get an error "can't concat bytes to string".
Could you inform me if this method is working and, of possible, what is wrong with the command I am using? Thanks you!

The same error on Python 3

Sorry, but the current method does not seem to work correctly with the examle you've provided.
The problem is clearly on our end.
Unfortunately, we did not find time to investigate the problem just yet.
We will let you know when we make any progress.


add GO:0008275 part_of GO:0000931

cc @ValWood
The gamma-tubulin small complex is part of the gamma-tubulin ring complex
From PMID:35622906

From this review: https://link.springer.com/article/10.1007/s00709-016-1070-z

In the ref PMID:35622906, "In addition, there is also evidence for differential localization of γ-TuSC and γ-TuRC complexes (Gao et al. 2019). The combined effect could translate into molecularly distinct MTOCs with differential microtubule nucleation potential, leading to unique microtubule arrays in different regions of a cell. "
Doesn't this mean that NOT all γ-TuSC is in γ-TuRC? In other words, the relation should probably be γ-TuRC HAS_PART γ-TuSC (all γ-TuRC contains some γ-TuSC).

Doesn't this mean that NOT all γ-TuSC is in γ-TuRC?

Hello @raymond91125. In this case, it does not mean that those gamma-turcs don't have gamma-tusc in them.
From the reference metioned there (Gao et al. 2019)

Three components, γ-tubulin, GCP2 and GCP3, constitute the core structure of the γ-TuRC and are termed the γ-tubulin small complex (γ-TuSC).

The main conclusion from that publication is:

Our data suggest that SPBs consist of γ-tubulin small complexes (γ-TuSCs) at the outer plaque, and larger γ-tubulin ring complexes (γ-TuRC) at the inner plaque.

Several gamma-tusc complexes can assemble into a ring-link structure that is not the cannonical gamma-turc, and also nucleate microtubules. That's what the authors mean when they are saying that they have differential localization, that there are structures that have gamma-tusc complexes but are not canonical gamma-turcs.
From the same publication, the different structures they describe:

Gamma-tusc is the complex of 2 γ-tubulins, 1 GCP2 and 1 GCP3 (2 pink balls, 1 blue oval, 1 purple oval), so you can see it is present in all types of structures.

@manulera Sorry that I did not say it clearly. Yes, it makes sense to me. And as @ValWood said, the has_part relation is the correct one. That is γ-TuRC has_part γ-TuSC.
From http://geneontology.org/docs/ontology-relations/:
The part of relation is used to represent part-whole relationships. part of has a specific meaning in GO, and a part of relation would only be added between A and B if B is necessarily part of A: wherever B exists, it is as part of A, and the presence of the B implies the presence of A. However, given the occurrence of A, we cannot say for certain that B exists.
The logical complement to the part of relation is has part, which represents a part-whole relationship from the perspective of the parent. As with part of, the GO relation has part is only used in cases where A always has B as a part, i.e. where A necessarily has part B. If A exists, B will always exist; however, if B exists, we cannot say for certain that A exists. i.e. all A have part B; some B part of A.

Oh I see now. I had misunderstood. So then yes, has_part it is!

Thanks @raymond91125 A better explanation!


Use qs instead of querystring

querystring doesn't support nested properties and arrays, so this example below doesn't work using querystring, but works using qs.
unirest.query({   names: [1,2,3] })
https://github.com/hapijs/qs
If you agree on the idea, I'd be happy to make a PR.

Mostly due to no real specification on how to support them and many support varying ways of it:

names[]=1&names[]=2
names=1&names=2
names=1,2,3

Etc... Not really sure what to do about this, except let the end user decide via:
unirest.query(qs({ ... }))

since it supports string as well...

Actually using unirest.query(qs(..)) doesn't work as expected because it seems unirest encodes the input, so names[]=2 becomes names%5B%5D%3D2.
qs supports almost every variation, so I think it would be a good idea to use it, probably like this:
unirest.query({ params }, { qsOptions });


Profil name not reset when I logout

profile persist after logout application.
It must be reset when logout button is cliqued

MR #74


Add Cosmic CMS Guide

What kind of changes does this PR include?

New or updated content

Description

What does this PR change? Adds a CMS integration guide for Cosmic and Astro
Did you change something visual? No.

Cool to see another CMS being added to the docs! I'll take a look at this as soon as I have a chance!
Thanks so much for your PR @stefkudla!

Sounds good @ElianCodes !  Thank you for taking a look.

Hey there! Heads up that i'm reviewing this one today!

Hi @ElianCodes!
Thank you for all the edits so far!
I went ahead and removed/updated references to the old Astro/Image integration and committed the suggestions.
Let me know if you need anything else from me and I'll be on the lookout for more revisions!

Hey @stefkudla! Thanks for updating and adding changes!
I do have some concerns about using react-markdown in this guide. I think this might make the guide to difficult to follow for newer users. Since TailwindCSS is used anyway; I would prefer the guide to use the Tailwind Typography plugin. That way, we can get rid of a lot of difficult code. I feel like adding another package overcomplicates the guide and might even be out of scope for a CMS guide. We want to guide people through how the CMS works with Astro, not necessarily on how the content looks.
Once people understand how to fetch the content from Cosmic, they will branch of and use their own preferred packages anyways.

Hi @ElianCodes, regarding your concerns of using react-markdown - I understand that the extra mental step may confuse users. I would still like to keep the individual blog post pages and style them with Tailwind Typography. Considering that Cosmic doesn't have a built in markdown renderer in the SDK, I propose that we instead use the Rich-text html editor in the CMS and use set:html to render the blog post content. This way, we could completely get rid of the react-markdown section and file entirely.

Hey @sarah11918 , thank you for tuning in here! Still outstanding is removing the react-markdown section for more clarity in the guide, and I will do that by using set:html where we parse the markdown in the code. Aside from that, there are a few edits I will merge in from the other maintainers! I will get these edits done and ping you when it's all ready for you.

Hi @sarah11918! Thank you for your patience on these updates. I made some further changes to the guide, such as merging in some previous suggestions from @TheOtterlord and some clean up and simplification to the guide itself. To summarize, I removed the implementation of react-markdown and date-fns as they did not support the core implementation of Astro and Cosmic. Aligning with what @ElianCodes mentioned, removing these third parties improved the overall focus of the guide.
Note that I am still using Tailwind CSS to apply some basic layout styles. If these are still too distracting, please let me know and I will simplify the layout of the components displaying the content from the CMS and remove most of the CSS.
Thank you guys for all of the edits so far, looking forward to getting this out there!

Hi @stefkudla ! This is looking nicely focused now! I'm going to take an editing pass at it over the weekend to add things like ordered steps and to tighten up some of the language, but after a quick scan it looks reasonable! Assuming I don't find anything too strange when I look more closely, this should be good to go soon!  :raised_hands:

Hi @stefkudla !
I've edited the post and am quite happy with it! Please review the latest version here and let me know if you spot any errors or problems.  Thank you so much for making edits on this over this last weekend. I looked over it this morning and don't have any further edits. It is even more direct, focused and looking good to ship! I'm happy with it, so please let me know if you have any further questions or tasks for me to do. 🙌

Great, thanks so much for checking back in @stefkudla! If you're happy, I'm happy, so let's get this puppy merged and published!! 🚀
Will just run our final checks and check the deploy preview, and hope this will be live soon! Thank you again for such a substantial contribution, especially for your FIRST Docs PR! And thank you for engaging in our process... which I know is a bit demanding at times.  😅 We really do appreciate having this guide for our docs!

@sarah11918 Wohooo! Thanks for merging this in. I appreciate the collaboration process a lot with everyone and thought it was really straightforward. I enjoyed contributing and will be keeping my eye out for more opportunities in the docs.


Flattening a Linked List

AIM
Given a Linked List of size N, where every node represents a sub-linked-list and contains two pointers:
(i) a next pointer to the next node,
(ii) a bottom pointer to a linked list where this node is head.
Each of the sub-linked-list is in sorted order.
Flatten the Link List such that all the nodes appear in a single level while maintaining the sorted order.
Note: The flattened list will be printed using the bottom pointer instead of next pointer.
Please Assign Me Under LGMSOC . I will be doing in C++ language
Programming language

[ ] C
[ ] C++
[ ] Java
[ ] Python

I guess this one is already present in the GFG folder.

Kindly assign me this
I have immense intersect in coding


Update FAQ.md

Grammar error :) 👍

Hi. Appreciate the edits, but the current phrasing is correct as-is.


Add 'UI Card for Better Thermostat' to exceptions

Add 'UI Card for Better Thermostat' to exceptions.
When using the slider to change the temperature it activates the swipe navigation. I'm not entirely sure why this happens only to the 'Better Thermostat' and not the default. Also there is some strange behavior on the default one (swiping right works, left not), which is unrelated imo.
I recorded a short clip to demonstrate the behavior:
https://user-images.githubusercontent.com/43964592/209462382-59132f04-f13e-469e-93a9-ab65d009a848.mp4
Signed-off-by: Christos Sidiropoulos<EMAIL_ADDRESS>

The default thermostat is already ignored, but only as long as the swipe occurs on the slider.
If you start dragging from outside the slider (and thus not moving it), the tabs changes, and this is the expected behavior.

I took the liberty of rewording your commit message to make it compliant with conventional commits. I hope it's not a problem.

By the way, thank you very much for your contribution! =)

Everything should be published on v1.9.0.
Let me know if everything is solved.
Thanks again! =)

Everything should be published on v1.9.0.
Let me know if everything is solved.
Thanks again! =)

Just updated and it worked as aspected.
Thanks :) !


update the composite actions

link to demo deployment of your smk based app is
https://smk-fap-fcb-rt-b16795-dev.apps.silver.devops.gov.bc.ca
Verify that it looks good, if so merge the pull request which will trigger a prod deployment, otherwise close the pull request without merging
mentions / notifications: @GuyTheFlower, @NicoledeGreef, @franTarkenton

The Vanity URL for the dev deploy is https://smk-fap-fcb-api-gov-bc-ca.test.apsgw.xyz
If this is a dev deploy,  verify that it looks good, then merge the pull request to trigger prod deployment.
If this is a prod deployment, view your prod deploy at the url above :)
mentions / notifications: @GuyTheFlower, @NicoledeGreef, @franTarkenton

The Vanity URL for the dev deploy is https://smk-fap-fcb-api-gov-bc-ca.test.apsgw.xyz
If this is a dev deploy,  verify that it looks good, then merge the pull request to trigger prod deployment.
If this is a prod deployment, view your prod deploy at the url above :)
mentions / notifications: @GuyTheFlower, @NicoledeGreef, @franTarkenton


UITextFieldDelegate bug

Hi,
After adding 'SwiftValidator', :git => 'https://github.com/jpotts18/SwiftValidator.git', :branch => 'swift-3' to my podfile, I am unable to add any actions from any Text Fields, it just shows Outlet and Outlet Collection. I needed the "swift-3" because the RegexRule class isn't 'open' and needed to extend it.
HELP!

I'm not going to lie this project took off and I'm pretty overwhelmed by it. I no longer actively code in Swift and I need help from more contributors in order to keep this project relevant. I'd like to find someone to transition as lead maintainer or help this codebase find a happy home with a company.
The codebase for this project is relatively small and focused project for who is looking to contribute. It does one thing, and does it pretty well. It has pretty high test coverage and good adoption. I think my ideal maintainer / contributor would work for a company that actively uses SwiftValidator in their production application.
If you're interested in helping out please comment on #204


⚠ ClamAV has degraded performance

In 1cdab84, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 77 ms

Resolved: ClamAV performance has improved in efbf6d5.


Infinite loop with custom list_item_pattern

Mistune 2.x here.
I'm trying to add the character • (bullet, unicode u2022) as a list item marker :
mistune.BlockParser.LIST_START = re.compile('( {0,3})([\\*\\+\\u2022\\-]|\\d{1,9}[.)])(?:[ \\t]*|[ \\t][^\\n]+)\\n+')

This ends with an infinite loop in the methode _create_list_item_pattern, since it doesn't match any of the default markdown markers :
# mistune/block_parser.py:320
        if marker == '*':
            prefix = prefix + r'\*'
        elif marker == '+':
            prefix = prefix + r'\+'
        else:
            prefix = prefix + r'-'

I finally made it work with the following else case :
# mistune/block_parser.py:320
        if marker == '*':
            prefix = prefix + r'\*'
        elif marker == '+':
            prefix = prefix + r'\+'
        else:
            prefix = prefix + rf'{marker}'

Is there any risk to use a variable into the generated regex ? Is there any chance this change to be included in Mistune 2.x ?

Actually this if else is not required:
prefix + re.escape(marker)

is enough

v2.0.5 is released.


[HUDI-1495] Upgrade Flink version to 1.12.0

What is the purpose of the pull request
Upgrade the Flink version to 1.12.0 to have better compatibility for Flink new features.
Brief change log

Modify hudi and hudi-flink-bundle module Flink version to 1.12.0

Verify this pull request
Existing tests.
Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@danny0405 Did you verify the functionality after bumping the version?

Codecov Report

Merging #2384 (c4c989e) into master (6cdf59d) will decrease coverage by 42.18%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             master    #2384       +/-   ##
=============================================
- Coverage     52.23%   10.04%   -42.19%
+ Complexity     2662       48     -2614
=============================================
  Files           335       52      -283
  Lines         14981     1852    -13129
  Branches       1506      223     -1283
=============================================
- Hits           7825      186     -7639
+ Misses         6533     1653     -4880
+ Partials        623       13      -610

Flag
Coverage Δ
Complexity Δ

hudicli
?
?

hudiclient
100.00% <ø> (ø)
0.00 <ø> (ø)

hudicommon
?
?

hudihadoopmr
?
?

huditimelineservice
?
?

hudiutilities
10.04% <ø> (-59.62%)
0.00 <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Yes, i actually had a promotion PR locally for the hoodie-flink, there are some UT and IT that tests with Flink 1.12.0.

@danny0405 Did you verify the functionality after bumping the version?

Yes, i actually had a promotion PR locally for the hoodie-flink, there are some UT and IT that tests with Flink 1.12.0.

welcome those prs, sounds good~

Hi @vinothchandar Can we merge this PR, or pending it until cutting the RC branch?

I think this is good to go. small PR . Please merge when ready


Integration with kitty's icat for previewing images?

[x] I have read through the manual page (man fzf)
[x] I have the latest version of fzf
[x] I have searched through the existing issues

Info

OS

[ ] Linux
[x] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[x] bash
[ ] zsh
[ ] fish

Problem / Steps to reproduce
The kitty terminal emulator implements its own protocol for rendering graphics, called icat. It is possible to render images using the command kitty +kitten icat $image.png.
However, when running the follwing it does not work:
fzf -q .png --preview="kitty +kitten icat {}"
It results in the Preview pane just displaying "Loading.." .
Alongside the fact that neither iTerm's imgcat is supported (https://github.com/junegunn/fzf/issues/1102) or the sixel format (https://github.com/junegunn/fzf/issues/2544), there doesn't seem to be any way to preview images in fzf on MacOS, except the low fidelity (ASCII) catimg/chafa/etc.

FWIW, I'm on linux (NixOS) & zsh

Facing the same issue on Ubuntu 22.04.2 LTS with fish shell. icat works fine on its own, and even with lf.

It used to work with kitty's icat a while ago but it broke after the last update to the icat function. Its much faster now but now it cant figure out Fzf.  I've been looking for a solution for over a month now.
Currently Fzf mangles the escape codes for drawing sixel and icat has an issue with IO (I think it cant determine that the little fzf window is something supported by icat)
The only solution that I've been using in the intermediate is using Ueberzug, or sending the command to a different Kitty window via fzf using the remote control functionality. I'd love to hear if anyone finds anything better or maybe knows a way to get it to work with Fzf. I tried to do it with version 0.1.0 and 0.7.1 hoping it would be easier to understand but I'm not skilled enough lol

This repo is also relevant, this guy forked kitty to work with fzf and he highlights a couple of the reasons why. I havent tried it out yet though https://github.com/sergei-grechanik/tupimage

Might I interest you in this project of mine?. https://github.com/jstkdng/ueberzugpp
It is a drop-in replacement for ueberzug but with sixel and kitty support. I have made a basic fzf integration script and so far it works fine on my end. https://github.com/jstkdng/ueberzugpp/blob/master/scripts/fzfub
It is pretty barebones right now and only takes into account a vanilla preview window so... PRs are welcome :)

The timg image (and video) previewer does work quite well with fzf, albeit producing blurry images (block graphics).
Based on a discussion with the timg developer (here), fzf is probably failing to decode the scape codes that kitty uses for images.

I feel it, thats great and all but why even go through all this work to iron out a Terminal Graphics Protocol, just to use ASCII blocks? Kitty plays videos and images really fast and with really high quality, Sixel is more widely supported but lower quality and easier to implement but they all basically do the same things.
It would be great if we could turn off processing in fzf so that we could render images using the various image protocols that use escape sequences. I made a very simple mock  up interface that uses kitty in bash and another in Python https://github.com/sweetbbak/catnip that sort of gives off the general idea but its clearly far behind what fzf is and Im far less skilled.
I really like the idea of a CLI image picker for TUI's and tools so you can easily make programs that select books, manga, music, youtube videos, movies etc... and it seems kinda nuts to still be using ascii blocks when we have a wealth of tools that have since been created to handle images.

@sweetbbak thanks for this interesting prototype.
For the record, I am not enthusiastic about Sixel: its technical deficiencies aside, it is practically unsupported on the Mac (Kitty, Alacritty, or Term.app).

Facing the same issue on MacOS & zsh, fzf version is 0.42.0

I tried to edit Fzf to allow for it to just not process the preview but it's a little too abstract for me.

I have same question

With this commit, I can get icat working with fzf
https://github.com/kovidgoyal/kitty/commit/fc1331cfdc673c89eee711acd958ea09c0db8600
fzf -q .png --preview='kitten icat --clear --transfer-mode=memory --stdin=no --place=20x20@20x1 {} > /dev/tty'

You of course need to adjust --place for your preview window though ideally FZF should set some env vars specifying the geometry of the preview window. Also there is a little display corruption, the cursor seems to end up on the wrong line in fzf, no idea whats going on with that, the icat kitten will leave the cursor at the top left of the image, maybe fzf is making some other assumptions about the cursor position. If so the command above could be modified to add some cursor movement escape codes after icat to position the cursor where fzf would like.

Just built it and tested it from that commit and it worked wonderfully! Thanks, that's so awesome.

Also there is a little display corruption, the cursor seems to end up on the wrong line in fzf, no idea whats going on with that, the icat kitten will leave the cursor at the top left of the image, maybe fzf is making some other assumptions about the cursor position. If so the command above could be modified to add some cursor movement escape codes after icat to position the cursor where fzf would like.

I can reproduce something like this and it makes the solution unworkable (fzf lines are duplicated and line selection becomes unreliable).

You are welcome. Yes, as I said this needs to be addressed by someone familiar with fzf codebase. It would take me too long to figure out the root cause. My guess is, fzf is relying on some invariant about the cursor position after the preview process runs, which is no longer true.

Many thanks, @kovidgoyal, for addressing this on the kitty end.

Also there is a little display corruption, the cursor seems to end up on the wrong line in , no idea whats going on with that, the icat kitten will leave the cursor at the top left of the image, maybe  is making some other assumptions about the cursor position. If so the command above could be modified to add some cursor movement escape codes after icat to position the cursor where  would like.

I can reproduce something like this and it makes the solution unworkable (lines in the fzf output are duplicated, and line selection becomes unreliable).

I also wrote this in Go, you could give it a try.
https://github.com/sweetbbak/fzf-img
My next step is to import or emulate the Go code that icat uses to directly process images (instead of calling "kitten icat" using os/exec and printing to stdout over the fzf). I tested it on my Arch desktop with the latest Kitty. It's a dead simple proof of concept but it could be a good stop-gap for now as I was unable to do anything with the fzf code base. It doesn't actually use Fzf, but a portable re-make of fzf that you can import in Go.

@kovidgoyal
Thanks, I like the approach in that fzf doesn't have to implement a custom protocol.

ideally FZF should set some env vars specifying the geometry of the preview window

I can help you with that. I should built kitty from source to test this, right?

On Sun, Sep 24, 2023 at 06:50:22PM -0700, Junegunn Choi wrote:

@kovidgoyal
Thanks, I like the approach in that fzf doesn't have to implement a custom protocol.

ideally FZF should set some env vars specifying the geometry of the preview window

I can help you with that. I should built kitty from source to test this, right?

No, you can use a nightly build
https://github.com/kovidgoyal/kitty/releases/tag/nightly
If you do want to build from source, it's very easy https://sw.kovidgoyal.net/kitty/build/

Okay, the problem with the approach is that fzf runs the preview command in the background asynchronously and it is possible that kitty and fzf are both printing to /dev/tty at the same time causing unexpected rendering issues. So it looks like we do need a special mechanism from fzf's side anyway.

A special preview mode that redirects the output from the preview command to /dev/tty

fzf --preview-raw 'kitty ... '
--preview-destination /dev/tty
...
This is the easiest option, but there will be few other use cases for it other than this

Make fzf understand kitty protocol and redirect the image part to /dev/tty

\e_G to \e\\
This would allow a preview command that prints both image and text. But it would be hard for fzf to properly support such commands because the preview window of fzf is scrollable.

Or ... ?

If you want the most robust asynchronous preview option, I would suggest
the following:

Pass a temp dir to the preview script, possibly as an env var
If the preview script wants to output images it should write them as
PNG files in the that dir with names like 1.png, 2.png, ...
The preview script should output some simple escape code or
unicode placeholder char in its output text
When fzf sees that char/escape code it should read the next PNG image from the
dir and output it on the current line
Probably pass the preview window size in cells and pixels as env vars
so that the preview script can output correctly sized PNGs to avoid fzf
having to resize them.
When the preview area is cleared pass the escape code to clear any
images to the terminal.

This will require fzf to support basic image output but it preserves the
properties of asynchronicity and robustness.
Outputting a PNG image using the kitty protocol is dead simple, there
are 10 line bash and python scripts that do this here:
https://sw.kovidgoyal.net/kitty/graphics-protocol/#a-minimal-example
Or you can just use the icat kitten to do it for you since it is no
longer asynchronous.
You will need to be a little more sophisticated to place the image in
the preview window area, but that will just be a couple of lines more of
code.
There are further complications that I suggest you dont need to worry
about for a MVP. Namely tmux, which if you want to support you will need
to use the unicode placeholders method of the kitty graphics protocol
(which icat supports) and also there are a few terminals that support only
sixels but not kitty.
On Sun, Sep 24, 2023 at 11:00:38PM -0700, Junegunn Choi wrote:

Okay, the problem with the approach is that fzf runs the preview command in the background asynchronously and it is possible that kitty and fzf are both printing to /dev/tty at the same time causing unexpected rendering issues. So it looks like we do need a special mechanism from fzf's side anyway.

A special preview mode that redirects the output from the preview command to /dev/tty

fzf --preview-raw 'kitty ... '
--preview-destination /dev/tty
...
This is the easiest option, but there will be few other use cases for it other than this

Make fzf understand kitty protocol and redirect the image part to /dev/tty

\e_G to \e\\
This would allow a preview command that prints both image and text. But it would be hard for fzf to properly support such commands because the preview window of fzf is scrollable.

Or ... ?

--
Reply to this email directly or view it on GitHub:
https://github.com/junegunn/fzf/issues/3228#issuecomment-1732972484
You are receiving this because you were mentioned.
Message ID: @.***>

--

Dr. Kovid Goyal
https://www.kovidgoyal.net
https://calibre-ebook.com

Also there is the issue of animated image previews like GIF files or video thumbnails. icat transparently handles GIF but for video thumbnails life will be a bit harder, maybe just use the cover image.

Oh and given fzf is in Go I should mention there are existing go libraries to output kitty graphics, a quick google should them, for instance https://github.com/dolmen-go/kittyimg

Thanks for the detailed comment. The thing is, I'm not sure if I want to incorporate a non-standard protocol into fzf, even if it's easy and simple. For now, something like --preview-destination /dev/tty appears to be the most versatile solution, supporting not only Kitty but also Imgcat of iTerm2 and Sixel. I need to do more research though.

Well the major downside of that is you lose both asynchronicity (you have to block fzf while the preview script is running) and you cant scroll the preview window any more. And it wont work inside tmux.
Another option which gives you all of asynchronicity, scrolling and tmux support without fzf having to understand the kitty protocol is use
icat --unicode-placeholder
this will cause icat to output a bunch of PUA unicode characters in the image area (i.e. normal text) that will be replaced by the image. All fzf then needs to do is passthrough any graphics escape code to the tty which is easily done with a simple regex. Scrolling works just as with normal text since that is all there is.
Now fzf doesnt understand anything about the graphics protocol other than the start and end chars of the escape code. It just deals with plain text which it can scroll and have the image scroll normally. Even deleting the image is unnecessary as deleting the text will take care of it automatically.

Anyway, its your project I just got involved to fix the icat not working at all issue. Hope you find a good solution, all the best.

you lose both asynchronicity

No, the preview of fzf is asynchronous by nature. fzf doesn't block on long preview process.
# Displaying streaming data
fzf --preview 'while true; do sleep 0.01; date; done' --preview-window follow

The idea is to run the preview command in the background,  take the output, and print it to /dev/tty instead of displaying it inside the preview window of fzf.

icat --unicode-placeholder

I'll take a look at that, thanks.
I'm not sure though how it would enable scrolling inside the preview window of fzf which is a small region of the screen that is separately scrollable.

On Mon, Sep 25, 2023 at 01:37:05AM -0700, Junegunn Choi wrote:

you lose both asynchronicity

No, the preview of fzf is asynchronous by nature. fzf doesn't block on long preview process.

If the preview script is writing to /dev/tty then fzf has to not write
to it which means it has to block at least is UI rendering thread.

# Displaying streaming data
fzf --preview 'while true; do sleep 0.01; date; done' --preview-window follow

The idea is to run the preview command in the background,  take the output, and print it to /dev/tty instead of displaying it inside the preview window of fzf.

icat --unicode-placeholder

I'll take a look at that, thanks.
I'm not sure though how it would enable scrolling inside the preview window of fzf which is a small region of the screen that is separately scrollable.

The same way the fzf scrolls text in the preview window, as far as fzf
is concerned the image placeholder is just normal text.

If the preview script is writing to /dev/tty

No, we are going to remove > /dev/tty from the preview command and let fzf capture the output and redirect it to /dev/tty later in a safe way.

the image placeholder is just normal text.

I see. I wonder if fzf can see how many lines the image will take so that it can properly cut off the lines that are beyond the visible area. I'll have to find out.

Image preview now works with the latest update kitty update (0.30.1). The following script can dynamically update the window size but changing fzf's preview-window direction will need changes in icat's --place value.
Using fish:
EXTERNAL_COLUMNS=$COLUMNS \
fzf \
--preview='kitten icat --clear --transfer-mode=memory --place="$COLUMNS"x"$LINES"@(math $EXTERNAL_COLUMNS-$COLUMNS)x0 --align center --stdin=no {} > /dev/tty' \
--preview-window "right,50%,border-left"

Using bash:
EXTERNAL_COLUMNS=$COLUMNS \
fzf --preview='kitten icat --clear --transfer-mode=memory --place="$COLUMNS"x"$LINES"@"$(($EXTERNAL_COLUMNS-$COLUMNS))"x0 --align center --stdin=no {} > /dev/tty' \
--preview-window "right,50%,border-left"

zsh doesn't update $COLUMNS env var, but it works with hard-coded --place values.

Please see the commit message of d8188fce7b7bea982e7f9050c35e488e49fb8fd0.
It works for me, but more tests are welcome.

Thank you so much! It's working really well. I've been testing all the image formats kitty can usually do and they all work. There is also no corruption of the lines and rows that fzf is made up of. I'll keep testing it out but its been great from what I've tested.

Also there is a little display corruption, the cursor seems to end up on the wrong line in fzf, no idea whats going on with that, the icat kitten will leave the cursor at the top left of the image, maybe fzf is making some other assumptions about the cursor position. If so the command above could be modified to add some cursor movement escape codes after icat to position the cursor where fzf would like.

Has anyone found a solution for this problem?
I have been playing around with it for a while and got pretty close to getting the image to display properly wherever the preview window is without breaking fzf's layout, but there is still an issue I can't solve.
data=$(kitty icat \
    --clear \
    --transfer-mode=memory \
    --align center \
    --stdin=no \
    --unicode-placeholder \
    --place=${FZF_PREVIEW_COLUMNS}x${FZF_PREVIEW_LINES}@0x0 \
    {})
printf "$(sed "s/\x1b7.*$//" <<< $data)"
printf "\x1b7$(sed "s/^.*\x1b7//" <<< $data)" 1> /dev/tty

The idea is to use icat's --unicode-placeholder and print the placeholder characters (everything from \x1b7) to the preview window and the graphics data (everything before) directly to /dev/tty.
With this the image is well-aligned in the preview window and fzf doesn't get messed up. The only issue that's left now is that the area of the terminal where the image would appear normally (i.e. at 0x0) is blacked out. We can slightly mitigate this by placing the image at ((${COLUMNS} - ${FZF_PREVIEW_COLUMNS}))x0 for a position=right preview window instead so that it often ends up unnoticeable but this is not a proper solution, just a bad hack.

@jannis-baum
Try something like this instead:
fd . ~/ssd/gallery-dl -e png | fzf --preview='kitty icat --clear --transfer-mode=memory --stdin=no --place=${FZF_PREVIEW_COLUMNS}x${FZF_PREVIEW_LINES}@0x0 {}'

--align center and --place are incompatible options if I remember correctly. The new PR that was merged detects the escape sequence for images and lets it pass through to the preview window unchanged. If you are dead set on using unicode placeholders for some reason then maybe check out tupimage but idk you would do that now.

Does anyone else have the issue where once displayed the kitty image preview doesn't disappear, either when a different non-image file is selected, or when fzf is exited? It looks like you can clear the image with kitty icat --clear, but I couldn't find a clean way to do this; trying to bind it to the focus event or even just adding kitty icat --clear > /dev/null && bat -n --color=always {} to the non-image part of the preview command appeared to cause strange behavior like non-image previews never loading. I'm using the preview command suggested in the docs.

Try something like this instead:

Ah, thank you so much! I guess I must have never tried without deleting the last line with sed like the docs suggest; doing this leaves me with no image at all so I figured the solution doesn't work. Like this it's perfect!

Does anyone else have the issue where once displayed the kitty image preview doesn't disappear, both when a different non-image file is selected, or when fzf is exited? It looks like you can clear the image with kitty icat --clear, but I couldn't find a clean way to do this; trying to bind it to the focus event or even just adding kitty icat --clear > /dev/null && bat -n --color=always {} to the non-image part of the preview command appeared to cause strange behavior like non-image previews never loading.

@prurph I also had this issue but was able to fix it: I checked what icat prints to remove the image on --clear, which is "\x1b_Ga=d,d=A\x1b\\". So if you just add the line
printf "\x1b_Ga=d,d=A\x1b\\"

to the unconditional section of your preview command instead of kitty icat --clear you will be good :)

Thanks @jannis-baum that worked! How'd you figure that out? echo $(kitty icat --clear) | cat -v?
Note that if you exit FZF with the preview up, it will still show. That could be avoided by binding the appropriate FZF keys and actions to print the appropriate characters as well as do what they're supposed to.

Thanks @jannis-baum that worked! How'd you figure that out? echo $(kitty icat --clear) | cat -v?

I used Python: kitty icat --clear | python3 -c 'import sys; print(repr(sys.stdin.read()))' but your way is nicer; you can also drop the echo and just use kitty icat --clear | cat -v :)

Note that if you exit FZF with the preview up, it will still show. That could be avoided by binding the appropriate FZF keys and actions to print the appropriate characters as well as do what they're supposed to.

I open my fzf-finder with a keybinding and just always print the characters to clear images after running fzf. It's in my fzf-dotfiles in case you're interested :)

Hi! I'm trying this feature. The following works:
fd --type f --hidden --follow --exclude .git --color=always | fzf --ansi --multi --preview='
if file --mime-type {} | grep -qF image/; then
    kitty icat --clear --transfer-mode=memory --stdin=no --place=${FZF_PREVIEW_COLUMNS}x${FZF_PREVIEW_LINES}@0x0 {} | sed \$d
else
    bat --color always --style numbers --theme TwoDark --line-range :200 {}
fi'

but if I write it like
fd --type f --hidden --follow --exclude .git --color=always | FZF_DEFAULT_OPTS="--ansi --multi --preview='
if file --mime-type {} | grep -qF image/; then
    kitty icat --clear --transfer-mode=memory --stdin=no --place=${FZF_PREVIEW_COLUMNS}x${FZF_PREVIEW_LINES}@0x0 {} | sed \$d
else
    bat --color always --style numbers --theme TwoDark --line-range :200 {}
fi'" fzf

it doesn't work due to a sed error. Any pointers? Thanks in advance

this is old but I just wanted to say that in all of my testing, "sed $d" or sed '$d' isnt needed. At least on Linux, I was unable to test this on Mac.

Hi @sweetbbak, without the sed bit I get the following error: Error: strconv.Atoi: parsing "": invalid syntax

See the current discussion in #3567


Wrong lightness of textures with alpha channel and translucent pixels on Android

Godot version:
Head on Branch 3.2: 89f57ae12244f3269c9e3fe4684e16ec1fd2c989
Reproduced on 3.2.3beta1, too. Probably older version are affected, too
OS/device including version:
GLES2, Android. Tested with Galaxy S7 Edge and Amazon Fire HD 8
Issue description:
Please read carefully. Issue description may sound strange, but it's an annoying and often subtle bug. Attached is a sample project to easily reproduce the problem on Android.
When adding a textured quad mesh with an alpha channel where at least on pixel has an alpha != 1.0 to a 3D scene. The quads on Android are rendered too dark (see screenshots below).
The "funny" part is:

If the quads are scaled from 1.0 to 2.0 the problem nearly disappears (This has caused me some headaches).
The problem is independently if "Transparent" is enabled in the spatial material or disabled.
If the png file of the texure has an alpha channel with all pixels completely opaque the problem disapears (The png may still have an alpha channel)

The problem is probably unrelated to the quad mesh and more related to dealing with textures on Andoird in general.
The screenshots below contain two pngs: One completely opaque, but with alpha channel. One with some transparent pixels.
Android Small (Here the problem is visible):

Linux Small:

Android Large:

Linux Large:

Steps to reproduce:
Best use attached sample project.
Create new 3D scene. Add camera. Add Light. Add two quad meshes. In on mesh use a texture with alpha channel and some transparent pixels in the other mesh us a texture completely opaque with alpha channel, too. Quads have to be the correct size (usually relative small) to  reproduce the bug. On Android the two quad will have different lightness. On Linux and browser both quad will have the same lightness.
Minimal reproduction project:
GodotAlphaBug.zip

I forget: This problems occurs, even if the materials are declared Unshaded (!!!).
=> This seems a pure texture problem unrelated to the lightning
Attached is another screenshot from Android with materials set to "Unshaded". If you look closely you will recognize it is different to the other Android screenshot with shading enabled, but the problem persists, anyway: All textures should have the same lighness.

@Ralf12358 Double-check that the textures is imported with sRGB enabled. Also, does this occur if you change its compression mode to Uncompressed or Lossless in the Import dock?

@Calinou: That's it! I set the Compress mode manually to "Uncompressed" and the problem is, gone! Thank's. I think you can close the issue. It might be worth considering to automatically import textures with alpha pixels != 1.0 as uncompressed on GLES2, but that's up to you.
Thank's again.

@Ralf12358 Alright, I'll close this as a duplicate of #26211 then.


Re

added assay_type code, seqFISH_lab_processed, for processed (derived dataset) seqFISH data coming from a TMC
removed portal_uploaded_protocol_files attributes to default index, any protocol information will come from the protocol_url attribute which contains a protocols.io DOI URL.

@mccalluc The CI tests always seem to fail when I make changes in this repo, but I don't think there are any problems with the simple changes that I'm making.

(Our convention has been to leave it to the original author to merge the PR, in case they want to make last minute adjustments.)


Build issues

I used VS 2022 to compile the projects and followed instrunctions in README but still got problems to compile. I tried to build X64.
cximage, libpng and id3lib would fail as below. I think you missed some global variable such as ZLIBSRC for libpng, etc.
D:\emule\eMule-build\eMule-id3lib-3.9.1\src\io_decorators.cpp(35,10): fatal error C1083: 无法打开包括文件: “zlib.h”: No such
file or directory [D:\emule\eMule-build\eMule-id3lib-3.9.1\libprj\id3lib.vcxproj]
“D:\emule\eMule-build\eMule-CxImage-7.02\CxImage\cximage.vcxproj”(Clean;Build 目标) (1) ->
(ClCompile 目标) ->
D:\emule\eMule-build\eMule-libpng-1.5.30\png.h(355,13): fatal error C1083: 无法打开包括文件: “pnglibconf.h”: No such file or
directory [D:\emule\eMule-build\eMule-CxImage-7.02\CxImage\cximage.vcxproj]

It is likely this step that is not working for you 002_create_symlinks.cmd
Can you try running it in a command prompt and check the result?
The result should be a directory named eMule-zz-deps-links with symlinks inside, like so
 Directory of eMule-build\eMule-zz-deps-links

24/08/2022  11:27    <DIR>          .
24/08/2022  11:27    <DIR>          ..
24/08/2022  11:27    <SYMLINKD>     cryptopp [..\eMule-cryptopp-8.4.0]
24/08/2022  11:27    <SYMLINKD>     CxImage [..\eMule-CxImage-7.02\CxImage]
24/08/2022  11:27    <SYMLINKD>     id3 [..\eMule-id3lib-3.9.1\include\id3]
24/08/2022  11:27    <SYMLINKD>     mbedtls [..\eMule-mbedtls-2.28\include\mbedtls]
24/08/2022  11:27    <SYMLINKD>     miniupnpc [..\eMule-miniupnp-2.2.3\miniupnpc\include]
24/08/2022  11:27    <SYMLINKD>     ResizableLib [..\eMule-ResizableLib\ResizableLib]
24/08/2022  11:27    <SYMLINKD>     zlib [..\eMule-zlib-1.2.12]

I had run the file at that time and checked. Everything looks good. I don't know why. I managed to build it successfully though.


Consider: Use UIGraphicsImageRenderer

in data-collection/data-collection/Extensions/UIKit/UIImage+Extensions.swift

@philium thank you for your contribution in https://github.com/Esri/data-collection-ios/pull/132
Would you also be interested in converting the other UIImage render extension?
func circularThumbnail(ofSize diameter: CGFloat, stroke: (color: UIColor, weight: CGFloat)?) -> UIImage?

Sure thing.

Thank you for your help @philium. Closing this issue.

https://github.com/Esri/data-collection-ios/pull/135


feat: replace references to "master" branch with "main"

fix #77
Please ensure your pull request adheres to the following guidelines:

[ ] make sure to link the related issues in this description
[ ] when merging / squashing, make sure the fixed issue references are visible in the commits, for easy compilation of release notes

Related Issues
Thanks for contributing!

:tada: This PR is included in version 1.8.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


ws in controller sample

Fixes https://github.com/dotnet/AspNetCore.Docs/issues/22747
@Rick-Anderson added a sample for .net 6

@trampster please review.


Refreshing an already checked out doc yields an empty Editor

[x] Make a New Edit that was saved bring up the new content after its first save (and checkout).  It's currently going blank.
[ ] Detect Refresh
[ ] Autosave on refresh
[ ] Save to the state that a refresh occurred (flag)
[ ] After refresh, if that flag is true, pull the content back into the CKEditor

Fix was simple: Just hoist the setHtml() function from the ScribeEditor to ScribeToolbar.


Configurable module import dependency resolution error

Bug Report
Describe the Bug
[Nest] 21260  - 20/07/2023, 9:57:29 pm   ERROR [ExceptionHandler] Nest can't resolve dependencies of the TwilioService (?). Please make sure that the argument CONFIGURABLE_MODULE_OPTIONS[fabf635f2b63dc62a1ece] at index [0] is available in the TwilioModule context.
Potential solutions:

Is TwilioModule a valid NestJS module?
If CONFIGURABLE_MODULE_OPTIONS[fabf635f2b63dc62a1ece] is a provider, is it part of the current TwilioModule?
If CONFIGURABLE_MODULE_OPTIONS[fabf635f2b63dc62a1ece] is exported from a separate @Module, is that module imported within TwilioModule?
@Module({
imports: [ /* the Module containing CONFIGURABLE_MODULE_OPTIONS[fabf635f2b63dc62a1ece] */ ]
})

Error: Nest can't resolve dependencies of the TwilioService (?). Please make sure that the argument CONFIGURABLE_MODULE_OPTIONS[fabf635f2b63dc62a1ece] at index [0] is available in the TwilioModule context.
Potential solutions:

Is TwilioModule a valid NestJS module?
If CONFIGURABLE_MODULE_OPTIONS[fabf635f2b63dc62a1ece] is a provider, is it part of the current TwilioModule?
If CONFIGURABLE_MODULE_OPTIONS[fabf635f2b63dc62a1ece] is exported from a separate @Module, is that module imported within TwilioModule?
@Module({
imports: [ /* the Module containing CONFIGURABLE_MODULE_OPTIONS[fabf635f2b63dc62a1ece] */ ]
})

How to Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

Add TwilioModule.forRootAsync... as defined in app.module.ts
Add TwilioService to the constructor of a service
Import TwilioModule in the *.module.ts for that service

Expected Behavior
No dependency injection error
Error
Error resulted by the potential bug.
Your Environment

OS: Windows
Version of nestjs-twilio: v3.2.0

Error reproducing steps
Please explain how did your error ocurr, you can also leave gists, repos or any kind of codebase.
Additional Information
Any other information about the problem here.

What version of Nestjs are you using?

Nestjs version 10.1.7
On Tue, Jul 25, 2023 at 10:10 PM Lazar Karić @.***>
wrote:

What version of Nestjs are you using?
—
Reply to this email directly, view it on GitHub
https://github.com/lkaric/nestjs-twilio/issues/60#issuecomment-1650177957,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARBYN7QBXNL2A4NWXAT6BO3XR7ZH5ANCNFSM6AAAAAA2RV3EYQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Can you provide an implementation (just redact secrets and/or any sensitive business logi), I can't get the issue to reproduce


feat: working pretraining

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #710

PR #708

PR #705

PR #714

PR #715

PR #716   👈

This stack of pull requests is managed by Graphite.

Merge activity

Jan 17, 10:36 AM: Graphite rebased this pull request as part of a merge.


This package does not compile

I am getting the following error on running the complete package:
2017-06-11 12:54:12.973  INFO 25961 --- [           main] org.mongodb.driver.cluster               : No server chosen by WritableServerSelector from cluster description ClusterDescription{type=UNKNOWN, connectionMode=SINGLE, serverDescriptions=[ServerDescription{address=localhost:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.ConnectException: Connection refused (Connection refused)}}]}. Waiting for 30000 ms before timing out
I suspect it is related to this stackoverflow post: https://stackoverflow.com/questions/31933821/cant-connect-to-local-monogodb-from-java.
So essentially your code has a race condition between the mongodb database and the code (which is an error that is not always reproducible, as it depends on the speed and operating environment of the users computer). I have had the same issue with your other mongodb tutorial and so will be opening an issue there as well. It looks like to solve this it will require a refactor, but as I am new to java it is something that I cannot do on my own. Please fix!

Works for me, and we have a CI build (actually 2 now) that is also green. What was the command that you ran, and where? Was mongodb running last calls on the normal port?

Ok.
So what I did was to git clone the repo, cd into the "complete directory", and then in terminal ran "mvn clean package". After that I got the error described above. If I run other examples that you have put up then I get compiled and working code, so I am pretty sure that my environment is set up correctly. If it helps at all here is a link to my terminal code: https://hastebin.com/ojunexawos.scala
The errors start on 326 to 333, and are explained in more detail in the rest of the output (the surefire error logs are the same). I do not see anything in the tutorial on doing any special configuring for the paths of the mongodb connections, so I assumed that they should run out of the box, but they do not. I am not sure what I am doing wrong, but it seems like it is not compiling as it should.

It looks like you just haven't started mongodb on port 27017 to me.

I apologize, you are right. Please close and thanks for the replies.


Cask request: Telegram (not the Telegram Desktop version)

Cask details
(Please fill out as much as possible)
Name - Telegram
Homepage - https://itunes.apple.com/us/app/telegram/id747648890?mt=12
License -
Download URL - https://itunes.apple.com/us/app/telegram/id747648890?mt=12
Description - There are 2 versions of telegram on the Mac Appstore. There already exists a Cask for the Telegram Desktop version, but not the Telegram version, even though the Cask is called Telegram. Perhaps call this other Telegram Mac in the Cask?

We can’t add Mac App Store apps. There’s no way to get them.


TODO: Extensible::remove_extension - add support for removing extensions with parameters

Description
Extensible::remove_extension - add support for removing extensions with parameters.
Note: I'm not sure that this issue is still does matter, since it exist from 2016.
See: https://github.com/silverstripe/silverstripe-framework/blob/cf78a9d785b9959a92dfb52c2a456bea80a4c567/src/Core/Extensible.php#L220

It's not even clear what "parameters" means in this context. I agree, doesn't seem relevant anymore.


Support (LLVM) libc++ on other platforms such as linux

See https://github.com/mlua-rs/luau-src-rs/blob/main/src/lib.rs#L243
LLVM libc++ is currently only supported on apple platforms.
I get a bunch of linking errors due to this:
  ld.lld: error: undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::append(char const*)
          >>> referenced by string:1361 (/home/theo/src/llvm-builds/install/bin/../include/c++/v1/string:1361)
          >>>               93bf4816e2ff97ae-Compiler.o:(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::operator+=[abi:ne200000](char const*)) in archive /home/theo/src/car-thing-tools/target/debug/deps/libmlua_sys-905d254762e6b864.rlib

Could you try the latest release (0.640), or if it does not work, steps how to reproduce the issue?

Hmm it did work but I had to add -Clink-arg=-lc++abi to RUSTFLAGS for some reason.


Add basic support for reporting application installation status

Adding basic support for reporting application's installation status
Problem
In case app is installed, there's no mechanism to report the current installation status.
Change overview

Added Method to App Installation Service to Retrieve App's installation Status
Hooked the GetInstallationStatusOfApp with ContentAppFactory
Added Shell support so developers can test the method

Tests

Build the TV app using command:
scripts/examples/gn_build_example.sh examples/tv-app/linux out/debug/

Build the TV casting app using command:
scripts/examples/gn_build_example.sh examples/tv-casting-app/linux out/debug/

Start TV App
out/debug/chip-tv-app

Start TV Casting App
out/debug/chip-tv-casting-app

On TV App: Uninstall the app
app uninstall 65521 32769

On TV Casting App: Send casting request to the tv-app using
cast request 0

On TV App: Accepted the Cast request from the tv-casting app
controller ux ok

Note that you'll see the error 13, which stands for kAppInstallConsentPending

On TV App: Once TV app confirmed there is no Content App, try and set other app installation statuses for example:
app setinstallerrorstatus 65521 32769 15

Try to connect to the TV app again and after you enter controller ux ok you'll see error :
[1716811631946] [62904:4025232] [SVR] ---- Commissioner Declaration Start ----
[1716811631946] [62904:4025232] [SVR] 	error code: 15
[1716811631946] [62904:4025232] [SVR] ---- Commissioner Declaration End ----

I will follow up with new PR soon.


Add download to MockDataLoaderManager

Hi, I'm working on adding a dataset and ran into an error due to download not being defined on MockDataLoaderManager, but being defined in nlp/utils/download_manager.py. The readme step running this: RUN_SLOW=1 pytest tests/test_dataset_common.py::DatasetTest::test_load_real_dataset_localmydatasetname triggers the error. If I can get something to work, I can include it in my data PR once I'm done.

usually you can replace download in your dataset script with download_and_prepare() - could you share the code for your dataset here? :-)

I have an initial version here: https://github.com/EntilZha/nlp/tree/master/datasets/qanta Thats pretty close to what I'll do as a PR, but still want to do some more sanity checks/tests (just got tests passing).
I figured out how to get all tests passing by adding a download command and some finagling with the data zip https://github.com/EntilZha/nlp/blob/master/tests/utils.py#L127

I'm quite positive that you can just replace the dl_manager.download() statements here: https://github.com/EntilZha/nlp/blob/4d46443b65f1f756921db8275594e6af008a1de7/datasets/qanta/qanta.py#L194 with dl_manager.download_and_extract() even though you don't extract anything. I would prefer to avoid adding more functions to the MockDataLoadManager and keep it as simple as possible (It's already to complex now IMO).
Could you check if you can replace the download() function?

I might be doing something wrong, but swapping those two gives this error:
>       with open(path) as f:
E       IsADirectoryError: [Errno 21] Is a directory: 'datasets/qanta/dummy/mode=first,char_skip=25/2018.4.18/dummy_data-zip-extracted/dummy_data'

src/nlp/datasets/qanta/3d965403133687b819905ead4b69af7bcee365865279b2f797c79f809b4490c3/qanta.py:280: IsADirectoryError

During handling of the above exception, another exception occurred:

So it seems like the directory name is getting passed. Is this not functioning as expected, or is there some caching happening maybe? I deleted the dummy files and re-ran the import script with no changes. I'm digging a bit in with a debugger, but no clear reason yet

From what I can tell here: https://github.com/huggingface/nlp/blob/master/tests/utils.py#L115

data_url is the correct http link
path_to_dummy_data is a directory, which is causing the issue

That path comes from download_dummy_data, which I think assumes that the data comes from the zip file, but isn't aware of individual files. So it seems like it data manager needs to be aware if the url its getting is for a file or a zip/directory, and pass this information along. This might happen in download_dummy_data, but probably better to happen in download_and_extract? Maybe a simple check to see if os.path.basename returns the dummy data zip filename, if not then join paths with the basename of the url?

I think the dataset script works correctly. Just the dummy data structure seems to be wrong. I will soon add more commands that should make the create of the dummy data easier.
Also please make sure that the Version is in the format 1.0.0 (three numbers separated by two points) - not a date.
If you manage to load the dataset correctly via:
nlp.load_dataset("./datasets/qanta")

then feel free to open a PR and we will look into the dummy data problem together :-)

The script loading seems to work fine so I'll work on getting a PR open after a few sanity checks on the data.
On version, we currently have it versioned with YYYY.MM.DD scheme so it would be nice to not change that, but will it cause issues?

The script loading seems to work fine so I'll work on getting a PR open after a few sanity checks on the data.
On version, we currently have it versioned with YYYY.MM.DD scheme so it would be nice to not change that, but will it cause issues?

It would cause issues for sure for the tests....not sure if it would also cause issues otherwise. What is your opinion regarding the version here @lhoestq @mariamabarham @thomwolf ?

Maybe use the YYYY.MM.DD as the config name ? That's what we are doing for wikipedia

Maybe use the YYYY.MM.DD as the config name ? That's what we are doing for wikipedia

I'm not sure if this will work because the name should be unique and it seems that he has multiple config name in his data with the same version.
As @patrickvonplaten  suggested, I think  you can add a comment about the version in the data description.

Actually maybe our versioning format (inherited from tfds) is too strong for what we use it for?
We could allow any string maybe?

I'm good with either putting it in description, adding it to the config, or loosening version formatting. I mostly don't have a full conceptual grasp of what each identifier ends up meaning in the datasets code so hard to evaluate the best approach.
For background, the multiple formats is a consequence of:

Each example is one multi-sentence trivia question
For training, its better to treat each sentence as an example
For evaluation, should test on: (1) first sentence, (2) full question, and (3) partial questions (does the model get the question right having seen the first half)

We use the date format for version since: (1) we expect some degree of updates since new questions come in every year and (2) the timestamp itself matches the Wikipedia dump that it is dependent on (so similar to the Wikipedia dataset).
perhaps this is better discussed in https://github.com/huggingface/nlp/pull/169 or update title?


Masthead L0 mega-menu UX designs

spbokma created the following on Dec 13:
User story
As a user of IBM.com I need way to see a number of related topics within a navigation section so that I can quickly see what type of content and information I will find within that section of the website.
Deliverables

wireframes
principles for specific models
governance

Notes
Exploring different mega-menu options to support different offerings, topics, content types and structural models
IBM.com homepage team has offered support to build/update the masthead navigation and mega-menus for the homepage for user testing and deployment on the live EN-US site.
Tasks
define:

[ ] structural model(s)
[ ] define pattern(s) to support content types
[ ] create wireframes
[ ] define standards, governance & usage

Original issue: https://github.ibm.com/webstandards/digital-design/issues/400

On Mar 25, Wonil-Suh1 commented:
I'll take a look at the design. Thanks!

On Mar 25, Wonil-Suh1 commented:
I feel that w need to look at the typography and layout a bit. Asked for the Sketch file.

On Mar 25, Wonil-Suh1 commented:

On Mar 25, Wonil-Suh1 commented:
Updated to reflect IDL specs better.
@LARAHANL @Olivia-Flory @chsanche please take a look and let me know.

On Mar 26, Olivia-Flory commented:
I think they're looking good!
Would we use IDL colors for something like this? Or would we use the gray we have available in v18 or v19a? I don't mean to muddy the convo around color, but just want to make sure we're using them in the right places.

On Mar 26, Wonil-Suh1 commented:
Sketch file here: https://ibm.box.com/s/xofyf8ujffuu5booj2df5byhew1o0zu2

On Mar 26, Wonil-Suh1 commented:
@spbokma you expressed concerns around the text length. Can you get samples? Best case and worst?

On May 13, spbokma commented:
Testing happening on the ibm.com homepage starting 5/13 for two weeks to
staging:
http://wwwstage-ext.ibm.com.cs186.net/thought-leadership/prototypes/project-masthead/
user: staging
password: IBM19Jul
---From Irina Lubenskaya (Art Director for homepage)---
we are planning to run it live serving to 50% of the audience (IBM homepage)

Here are our KPI for the masthead and footer. Basically, it’s CTRs
https://ibm.ent.box.com/file/449565386095  that’s our monthly analysis (see pages 9 and 10 related to the masthead specifically). We have years of these data.
We can run a survey and look at NPS comments as well

Notes:
we have seen a steady decline in CTRs MtM
our hope is that the new masthead will change it
people tend to use search and also the masthead megamenues are not the best experience
we are tagging the links differently from the current tagging

On Mar 27, LARAHANL commented:
Looks good @Wonil-Suh1 !
I prefer the white background option.
I wonder what it would be like if the left 'side bar' was gray 90 similar to L1 designs?
For example:

Also would there be a need to include sub sections or headings within the mega menu?
For example (old exploration):

On Sep 24, spbokma commented:
User data I received/got walked through from William Tang & Rajeshwari J Nagaraj on 9/20/19, showing clicks/visit within ibm.com homepage mega-menus. As well as a recommendation for future mega-menus, which align towards a version currently in exploration…but needs dev evaluation for rendering time and making sure it doesn't slow down the display of menus.
IBM Mega Menu - Dropdown Enhancement - V3 - 092019.pptx

@jeffchew I thought that we had bumped up the stalebot to 60 days.

@jeffchew I thought that we had bumped up the stalebot to 60 days.

It has been configured to 60 days, but the messaging was still old. I updated the message to now say 60 days.

The work Olivia is doing with the Reboot team replaces Scott's work.  Closing this issue.


NullReferenceException on closing settings

Steps to reproduce:

Start ChocolateyGUI
Go to settings
Go to About
Go back to Options
Click < Button

Error message

Version
ChocolateyGUI Version: v0.14.0-unstable0144

In which release should this be fixed? I still get the same exception in v0.14.0-unstable0147

Weird. I'l continue to look into it.

I can't reproduce on the latest develop.

@RichiCoder1 Is there any difference between v0.14.0-unstable0147 available from https://www.myget.org/F/packages_develop/api/v2 and develop? Couldn't you also reproduce with v0.14.0-unstable0147?

After uninstalling all ChocolateyGUI instances from Program & Features and running choco install again this is fixed.