[MS] MSUnmerged has been restarting in the t2t3 replica

Impact of the bug
MSUnmerged
Describe the bug
While checking the MSUnmerged logs, Todor noticed that the t2t3 replica has been having some random service restarts, note that it's not the POD getting recreated, but the service restarts inside the same POD.
Reason is still unclear, and the only thing we can extract from the service logs is [1]
NOTE: this causes that MSUnmerged replica to keep cleaning up the same RSEs over and over, since the service cache gets wiped out during the restart process.
UPDATE: the t1 POD service also gets restarted when FNAL is enabled.
How to reproduce it
Not clear yet! Note that 2 replicas work with no issues, only this t2t3 is having these problems.
Expected behavior
Investigate the reason for these service/CherryPy restarts and fix the MSUnmerged code; or whatever is making that replica unstable.
One comment that I made to Todor though, is that it would be interesting to log the amount of files retrieved from the Rucio ConMon, just so we know how many files need to be parsed in advanced.
Additional context and error message
[1]
2021-08-02 02:19:42,617:WARNING:MSUnmerged: Error while cleaning RSE: T2_BR_UERJ. Will retry in the next cycle. Err: globus_ftp_client: the server responded with an error 550 550-GlobusError: v=1 c=PATH_NOT_FOUND  550-GridFTP-Errno: 2  55
0-GridFTP-Reason: System error in stat  550-GridFTP-Error-String: No such file or directory  550 End.
2021-08-02 02:19:42,632:DEBUG:MSUnmerged:
RSE: T2_BR_UERJ
DELETING: /store/unmerged/SAM/testSRM/SAM-gridftp.hepgrid.uerj.br.
PFN list with: 15415 entries:
    gsiftp://gridftp.hepgrid.uerj.br:2811/mnt/hadoop/cms/store/unmerged/SAM/testSRM/SAM-gridftp.hepgrid.uerj.br
    gsiftp://gridftp.hepgrid.uerj.br:2811/mnt/hadoop/cms/store/unmerged/SAM/testSRM/SAM-gridftp.hepgrid.uerj.br/lcg-util/testfile-put-nospacetoken-1557824813-6d2024e5235c.txt
    gsiftp://gridftp.hepgrid.uerj.br:2811/mnt/hadoop/cms/store/unmerged/SAM/testSRM/SAM-gridftp.hepgrid.uerj.br/lcg-util/testfile-put-nospacetoken-1557865488-9e5949b3c90b.txt
    gsiftp://gridftp.hepgrid.uerj.br:2811/mnt/hadoop/cms/store/unmerged/SAM/testSRM/SAM-gridftp.hepgrid.uerj.br/lcg-util/testfile-put-nospacetoken-1557867358-4acd14b37e4a.txt
    ...

[02/Aug/2021:02:19:44]  WATCHDOG: server exited with exit code signal 11 (core dumped)... restarting
[02/Aug/2021:02:19:44]  INFO: final CherryPy configuration: {'engine.autoreload.on': False,
...

### and another restart
2021-08-02 04:05:47,963:WARNING:MSUnmerged: Error while cleaning RSE: T2_CN_Beijing. Will retry in the next cycle. Err: globus_ftp_client: the server responded with an error 550 550-GlobusError: v=1 c=PATH_NOT_FOUND  550-GridFTP-Errno: 2
 550-GridFTP-Reason: System error in name  550-GridFTP-Error-String: No such file or directory  550 End.
2021-08-02 04:05:47,981:DEBUG:MSUnmerged:
RSE: T2_CN_Beijing
DELETING: /store/unmerged/SAM/testSRM/SAM-srm.ihep.ac.cn/lcg-util.
PFN list with: 15296 entries:
    gsiftp://ccsrm.ihep.ac.cn:2811/dpm/ihep.ac.cn/home/cms/store/unmerged/SAM/testSRM/SAM-srm.ihep.ac.cn/lcg-util/testfile-put-nospacetoken-1603812057-d43e8b99c21d.txt
    gsiftp://ccsrm.ihep.ac.cn:2811/dpm/ihep.ac.cn/home/cms/store/unmerged/SAM/testSRM/SAM-srm.ihep.ac.cn/lcg-util/testfile-put-nospacetoken-1604034358-5dbc61d69427.txt
    gsiftp://ccsrm.ihep.ac.cn:2811/dpm/ihep.ac.cn/home/cms/store/unmerged/SAM/testSRM/SAM-srm.ihep.ac.cn/lcg-util/testfile-put-nospacetoken-1605627798-1b14ee8202a1.txt
    gsiftp://ccsrm.ihep.ac.cn:2811/dpm/ihep.ac.cn/home/cms/store/unmerged/SAM/testSRM/SAM-srm.ihep.ac.cn/lcg-util/testfile-put-nospacetoken-1607445255-faf41de51a14.txt
    ...

[02/Aug/2021:04:05:49]  WATCHDOG: server exited with exit code signal 11 (core dumped)... restarting
[02/Aug/2021:04:05:50]  INFO: final CherryPy configuration: {'engine.autoreload.on': False,

As we enabled T1_US_FNAL_Disk to be taken into consideration by the MSUnmerged service, we also started seeing the t1 webserver crashing as well. This time, it seems to be consistent and it happens with the same directory:
2021-08-04 22:13:45,185:DEBUG:MSUnmerged:
RSE: T1_US_FNAL_Disk
DELETING: /store/unmerged/RunIIAutumn18FSPremix/PMSSM_set_2_prompt_2_TuneCP2_13TeV-pythia8/AODSIM/GridpackScan_102X_upgrade2018_realistic_v15-v2.
PFN list with: 15409 entries:
    https://cmsdcadisk.fnal.gov:2880/dcache/uscmsdisk/store/unmerged/RunIIAutumn18FSPremix/PMSSM_set_2_prompt_2_TuneCP2_13TeV-pythia8/AODSIM/GridpackScan_102X_upgrade2018_realistic_v15-v2/140000/D3A5937B-BDDF-524C-BBD8-A7CAA2AD2DFF.root
    https://cmsdcadisk.fnal.gov:2880/dcache/uscmsdisk/store/unmerged/RunIIAutumn18FSPremix/PMSSM_set_2_prompt_2_TuneCP2_13TeV-pythia8/AODSIM/GridpackScan_102X_upgrade2018_realistic_v15-v2/270000/017BC22D-8F2F-3341-8334-8D31E208359D.root
    https://cmsdcadisk.fnal.gov:2880/dcache/uscmsdisk/store/unmerged/RunIIAutumn18FSPremix/PMSSM_set_2_prompt_2_TuneCP2_13TeV-pythia8/AODSIM/GridpackScan_102X_upgrade2018_realistic_v15-v2/270000/01F9113C-A3D4-C849-89DC-1850B01EA812.root
    https://cmsdcadisk.fnal.gov:2880/dcache/uscmsdisk/store/unmerged/RunIIAutumn18FSPremix/PMSSM_set_2_prompt_2_TuneCP2_13TeV-pythia8/AODSIM/GridpackScan_102X_upgrade2018_realistic_v15-v2/270000/023934EC-8A34-E94E-A2B3-237C034229B6.root
    ...

[04/Aug/2021:22:13:49]  WATCHDOG: server exited with exit code signal 11 (core dumped)... restarting

2021-08-04 22:22:00,236:DEBUG:MSUnmerged:
RSE: T1_US_FNAL_Disk
DELETING: /store/unmerged/RunIIAutumn18FSPremix/PMSSM_set_2_prompt_2_TuneCP2_13TeV-pythia8/AODSIM/GridpackScan_102X_upgrade2018_realistic_v15-v2.
PFN list with: 15409 entries:
    https://cmsdcadisk.fnal.gov:2880/dcache/uscmsdisk/store/unmerged/RunIIAutumn18FSPremix/PMSSM_set_2_prompt_2_TuneCP2_13TeV-pythia8/AODSIM/GridpackScan_102X_upgrade2018_realistic_v15-v2/140000/D3A5937B-BDDF-524C-BBD8-A7CAA2AD2DFF.root
    https://cmsdcadisk.fnal.gov:2880/dcache/uscmsdisk/store/unmerged/RunIIAutumn18FSPremix/PMSSM_set_2_prompt_2_TuneCP2_13TeV-pythia8/AODSIM/GridpackScan_102X_upgrade2018_realistic_v15-v2/270000/017BC22D-8F2F-3341-8334-8D31E208359D.root
    https://cmsdcadisk.fnal.gov:2880/dcache/uscmsdisk/store/unmerged/RunIIAutumn18FSPremix/PMSSM_set_2_prompt_2_TuneCP2_13TeV-pythia8/AODSIM/GridpackScan_102X_upgrade2018_realistic_v15-v2/270000/01F9113C-A3D4-C849-89DC-1850B01EA812.root
    https://cmsdcadisk.fnal.gov:2880/dcache/uscmsdisk/store/unmerged/RunIIAutumn18FSPremix/PMSSM_set_2_prompt_2_TuneCP2_13TeV-pythia8/AODSIM/GridpackScan_102X_upgrade2018_realistic_v15-v2/270000/023934EC-8A34-E94E-A2B3-237C034229B6.root
    ...

[04/Aug/2021:22:22:04]  WATCHDOG: server exited with exit code signal 11 (core dumped)... restarting

One can also observe that all these crashes happened when we had >= 15k files to be deleted under the same directory.
I'm going to skip T1_US_FNAL_Disk RSE once again, and if possible, leave it up to Todor to investigate this issue post-vacation.

Probably can add a debug printout of the number of pfns at:
https://github.com/dmwm/WMCore/blob/a0cd584ca04878af84475e150d261c6461ee1215/src/python/WMCore/MicroService/MSUnmerged/MSUnmerged.py#L304
likely there is some buffer in gfal2 that is overflowing and causing a segfault if the list is sufficiently large. Once running with the printout we can see what the largest non-crashing value is and maybe pick a chunk size of half that or so. For context, rucio does them one at a time:
https://github.com/rucio/rucio/blob/a45f685af1963c8f1bd60bbbfe3e207e7df7e903/lib/rucio/rse/protocols/gfal.py#L473

Thanks  @amaltaro  @nsmith- , I am taking this issue now and will start investigating on what is the thing that is breaking. I agree, this indeed seems like a buffer overflow at the gfal client.

Now since we have the deletions in slices we are  sure that  the gfall buffer is not overflowing an yet we  can see the same case happening, but now with an extremely small directories - only 37 entries last time:
  13550 2021-09-16 12:47:46,965:DEBUG:MSUnmerged:
  13551 RSE: T1_US_FNAL_Disk
  13552 DELETING: /store/unmerged/RunIISummer20UL16RECOAPV/TTToHadronic_mtop171p5_TuneCP5_13TeV-powheg-pythia8/AODSIM/106X_mcRun2_asymptotic_preVFP_v8-v2.
  13553 PFN list with: 37 entries:
  13554     https://cmsdcadisk.fnal.gov:2880/dcache/uscmsdisk/store/unmerged/RunIISummer20UL16RECOAPV/TTToHadronic_mtop171p5_TuneCP5_13TeV-powheg-pythia8/AODSIM/106X_mcRun2_asymptotic_preVFP
  13555     https://cmsdcadisk.fnal.gov:2880/dcache/uscmsdisk/store/unmerged/RunIISummer20UL16RECOAPV/TTToHadronic_mtop171p5_TuneCP5_13TeV-powheg-pythia8/AODSIM/106X_mcRun2_asymptotic_preVFP
  13556     https://cmsdcadisk.fnal.gov:2880/dcache/uscmsdisk/store/unmerged/RunIISummer20UL16RECOAPV/TTToHadronic_mtop171p5_TuneCP5_13TeV-powheg-pythia8/AODSIM/106X_mcRun2_asymptotic_preVFP
  13557     https://cmsdcadisk.fnal.gov:2880/dcache/uscmsdisk/store/unmerged/RunIISummer20UL16RECOAPV/TTToHadronic_mtop171p5_TuneCP5_13TeV-powheg-pythia8/AODSIM/106X_mcRun2_asymptotic_preVFP
  13558     ...
  13559
  13560 [16/Sep/2021:12:47:52]  WATCHDOG: server exited with exit code signal 11 (core dumped)... restarting

While fairly big ones does seem to go through without any problems, but a little bit of delay only:
   8679 2021-09-16 11:50:26,660:DEBUG:MSUnmerged:
   8680 RSE: T1_US_FNAL_Disk
   8681 DELETING: /store/unmerged/RunIISummer15GS/DYjetstotautau_01234jets_Pt-0ToInf_13TeV-sherpa/GEN-SIM/QCDEWNLO_correct_MCRUN2_71_V1-v1.
   8682 PFN list with: 9041 entries:
   8683     https://cmsdcadisk.fnal.gov:2880/dcache/uscmsdisk/store/unmerged/RunIISummer15GS/DYjetstotautau_01234jets_Pt-0ToInf_13TeV-sherpa/GEN-SIM/QCDEWNLO_correct_MCRUN2_71_V1-v1/110012/2
   8684     https://cmsdcadisk.fnal.gov:2880/dcache/uscmsdisk/store/unmerged/RunIISummer15GS/DYjetstotautau_01234jets_Pt-0ToInf_13TeV-sherpa/GEN-SIM/QCDEWNLO_correct_MCRUN2_71_V1-v1/110012/7
   8685     https://cmsdcadisk.fnal.gov:2880/dcache/uscmsdisk/store/unmerged/RunIISummer15GS/DYjetstotautau_01234jets_Pt-0ToInf_13TeV-sherpa/GEN-SIM/QCDEWNLO_correct_MCRUN2_71_V1-v1/110012/E
   8686     https://cmsdcadisk.fnal.gov:2880/dcache/uscmsdisk/store/unmerged/RunIISummer15GS/DYjetstotautau_01234jets_Pt-0ToInf_13TeV-sherpa/GEN-SIM/QCDEWNLO_correct_MCRUN2_71_V1-v1/20002/28
   8687     ...
   8688
   8689 [16/Sep/2021:11:50:27] ms-unmer-t1-5985d7b69b-nvkb8 <IP_ADDRESS> "GET /ms-unmerged/data/status HTTP/1.1" 200 OK [data: 302 in 133 out 773 us ] [auth: OK "" "" ] [ref: "" "Go-http-client
....
   8801 [16/Sep/2021:12:08:27] ms-unmer-t1-5985d7b69b-nvkb8 <IP_ADDRESS> "GET /ms-unmerged/data/status HTTP/1.1" 200 OK [data: 302 in 133 out 786 us ] [auth: OK "" "" ] [ref: "" "Go-http-client
   8802 2021-09-16 12:08:36,908:DEBUG:MSUnmerged: RSE: T1_US_FNAL_Disk, Dir: /store/unmerged/RunIISummer15GS/DYjetstotautau_01234jets_Pt-0ToInf_13TeV-sherpa/GEN-SIM/QCDEWNLO_correct_MCRUN2_7
   8803 2021-09-16 12:08:36,908:DEBUG:MSUnmerged: Purging dirEntry: https://cmsdcadisk.fnal.gov:2880/dcache/uscmsdisk/store/unmerged/RunIISummer15GS/DYjetstotautau_01234jets_Pt-0ToInf_13TeV-

If the global python logging level is debug, I know gfal prints some more detailed information about its internal operations. It might hint at what is going wrong

Actually back then it was printing way too many stuff and I have separated the python log level from the gfal log level and now  we have python in DEBUG and gfal in WARNING: https://gitlab.cern.ch/cmsweb-k8s/services_config/-/blob/prod/reqmgr2ms-unmerged/config-unmerged.py#L91
I will set it back to debug and see what is going to happen.

Increasing the gfal log level did not give us too much [1]. It is basically suddenly receiving a signal 11 from outside and the process simply dies in the middle of the execution.  I still suspect the thing which would give us a clue is somewhere outside the service logs. We had a short iteration with Imran for checking the system logs in the machine running the pods, but those were clean, at least in the part Imran provided.
[1]
2021-09-17 17:20:01,688:DEBUG:MSUnmerged: Davix: > DELETE /dcache/uscmsdisk/store/unmerged/CMSSW_11_3_0_pre5/RelValZTT_14TeV/MINIAODSIM/PU_113X_mcRun4_realistic_v6_2026D76PU200_RECOo
nly-v1/00000/fadd9323-7d5e-4e7c-a53a-1f3de6b22509.root HTTP/1.1
> User-Agent: gfal2/2.18.2 neon/0.0.29
> TE: trailers
> Host: cmsdcadisk.fnal.gov:2880
>

2021-09-17 17:20:01,688:DEBUG:MSUnmerged: Davix: Sending request-line and headers:
2021-09-17 17:20:01,688:DEBUG:MSUnmerged: Davix: Request sent; retry is 1.
2021-09-17 17:20:01,798:DEBUG:MSUnmerged: Davix: < HTTP/1.1 404 Not Found
2021-09-17 17:20:01,799:DEBUG:MSUnmerged: Davix: < Date: Fri, 17 Sep 2021 15:20:01 GMT
2021-09-17 17:20:01,799:DEBUG:MSUnmerged: Davix: < Server: dCache/5.2.35-SNAPSHOT
2021-09-17 17:20:01,799:DEBUG:MSUnmerged: Davix: < Strict-Transport-Security: max-age=31536000
2021-09-17 17:20:01,799:DEBUG:MSUnmerged: Davix: < Access-Control-Allow-Credentials: true
2021-09-17 17:20:01,799:DEBUG:MSUnmerged: Davix: < Access-Control-Allow-Origin: *
2021-09-17 17:20:01,799:DEBUG:MSUnmerged: Davix: < Content-Type: text/html
2021-09-17 17:20:01,799:DEBUG:MSUnmerged: Davix: < Transfer-Encoding: chunked
2021-09-17 17:20:01,799:DEBUG:MSUnmerged: Davix: <
2021-09-17 17:20:01,799:DEBUG:MSUnmerged: Davix: End of headers.
2021-09-17 17:20:01,799:DEBUG:MSUnmerged: Davix: Running post_headers hooks
2021-09-17 17:20:01,799:DEBUG:MSUnmerged: Davix:  <- negotiateRequest
2021-09-17 17:20:01,799:DEBUG:MSUnmerged: Davix: Bad server answer: Content-Length Invalid, impossible to determine answer size
2021-09-17 17:20:01,799:DEBUG:MSUnmerged: Davix: NEON Read data flow
2021-09-17 17:20:01,799:DEBUG:MSUnmerged: Davix: [chunk] < 1293

2021-09-17 17:20:01,800:DEBUG:MSUnmerged: Davix: Got chunk size: 4755
2021-09-17 17:20:01,800:DEBUG:MSUnmerged: Davix: Reading 4755 bytes of response body.

2021-09-17 17:20:01,800:DEBUG:MSUnmerged: Davix: Got 3825 bytes.
2021-09-17 17:20:01,800:DEBUG:MSUnmerged: Davix: NEONRequest::readBlock read 3825 bytes
2021-09-17 17:20:01,800:DEBUG:MSUnmerged: Davix: NEON Read data flow
2021-09-17 17:20:01,800:DEBUG:MSUnmerged: Davix: Reading 930 bytes of response body.

2021-09-17 17:20:01,800:DEBUG:MSUnmerged: Davix: Got 930 bytes.
2021-09-17 17:20:01,800:DEBUG:MSUnmerged: Davix: NEONRequest::readBlock read 930 bytes
2021-09-17 17:20:01,800:DEBUG:MSUnmerged: Davix: NEON Read data flow
2021-09-17 17:20:01,800:DEBUG:MSUnmerged: Davix: [chunk] < 0

2021-09-17 17:20:01,800:DEBUG:MSUnmerged: Davix: Got chunk size: 0
2021-09-17 17:20:01,800:DEBUG:MSUnmerged: Davix: NEONRequest::readBlock read 0 bytes
2021-09-17 17:20:01,800:DEBUG:MSUnmerged: Davix: <
2021-09-17 17:20:01,801:DEBUG:MSUnmerged: Davix: End of headers.
2021-09-17 17:20:01,801:DEBUG:MSUnmerged: Davix: Running post_send hooks
2021-09-17 17:20:01,801:DEBUG:MSUnmerged: Davix:  <- executeRequest
2021-09-17 17:20:01,801:DEBUG:MSUnmerged: Davix: Destroy HttpRequest
2021-09-17 17:20:01,801:DEBUG:MSUnmerged: Davix: Running destroy hooks.
2021-09-17 17:20:01,801:DEBUG:MSUnmerged: Davix: Request ends.
2021-09-17 17:20:01,801:DEBUG:MSUnmerged: Davix: add old session to cache httpscmsdcadisk.fnal.gov:2880
2021-09-17 17:20:01,801:DEBUG:MSUnmerged: Davix:  davix_unlink <-
[17/Sep/2021:17:20:06]  WATCHDOG: server exited with exit code signal 11 (core dumped)... restarting

@todor-ivanov: Signal 11 is usually indicative of a segmentation violation which occurs when a program attempts to access an invalid bit of memory.  I would be surprised if this is something that is being generated from outside the MSUnmerged/gfal process.  It would be consistent with an overflow of either memory or array index in a list.  Can you retrieve the cord dump and view the stack trace?

Hi @klannon  that's absolutely correct. I did not elaborate too much but yes, by:

receiving signal 11

I meant by the kernel, exactly because of the reasons you explained very well. So that's the reason why I was expecting the core dump to be in the system logs instead of the service logs. This is the big disappointment I was talking about when I requested the logs from the machine running the pods, which were willingly provided by Imran, and were absolutely clear. The only thing I can see there are the periodic records from containerd:  [1].
The core dump is again a misleading message, because it is basically a message which WMCore logs from [2], based on some bitwise operations with the object returned from the system to the Cherrypy thread (line 470 at [2]). All of them operations seem to be fair (I double checked them), but noting from this piece of code gives a clue where the core should be. I expect it to be in the system logs though.
Some more hints I find  in the old bugs related to gfal2 while digging into their repository and old versions: [3] I even checked the PR supposed to solve this. But this is a different direction of investigation. It is a bug referring to the creation of a ctx instance (the gfal context manager). Which somehow overlaps with my latest observation - since we applied the fix with which we are splitting the chunks of files to be sent to gfal in sizes of 100 tops, I noticed that this bug reveals itself with random directory sizes, rather than our first assumption, that it is related to a memory overflow and is happening only for bug lists.
Things are getting messier and messier unfortunately :(
[3]
https://github.com/cern-fts/gfal2/blob/90bc0a58587b986a0d7335f244fd4cfe3079b72f/RELEASE-NOTES#L570
[2]
https://github.com/dmwm/WMCore/blob/cccb247edd1579adf9a58988d9a01eb376044e2d/src/python/WMCore/REST/Main.py#L470-L475
[1]
ep 16 08:54:57 cmsweb-k8s-services--zone-b-azdbnihnhw2p-node-0 containerd[888]: time="2021-09-16T08:54:57.397579484Z" level=info msg="ExecSync for \"689d307c14864383c95fc27c38c4218e41f36e74
Sep 16 08:54:58 cmsweb-k8s-services--zone-b-azdbnihnhw2p-node-0 containerd[888]: time="2021-09-16T08:54:58.086028766Z" level=info msg="ExecSync for \"c65bbf2fb6fb24c78e32a0d04c98d74295e6c3d6
Sep 16 08:55:07 cmsweb-k8s-services--zone-b-azdbnihnhw2p-node-0 containerd[888]: time="2021-09-16T08:55:07.397692219Z" level=info msg="ExecSync for \"689d307c14864383c95fc27c38c4218e41f36e74
Sep 16 08:55:08 cmsweb-k8s-services--zone-b-azdbnihnhw2p-node-0 containerd[888]: time="2021-09-16T08:55:08.085933904Z" level=info msg="ExecSync for \"c65bbf2fb6fb24c78e32a0d04c98d74295e6c3d6
Sep 16 08:55:17 cmsweb-k8s-services--zone-b-azdbnihnhw2p-node-0 containerd[888]: time="2021-09-16T08:55:17.397919906Z" level=info msg="ExecSync for \"689d307c14864383c95fc27c38c4218e41f36e74
Sep 16 08:55:18 cmsweb-k8s-services--zone-b-azdbnihnhw2p-node-0 containerd[888]: time="2021-09-16T08:55:18.086020586Z" level=info msg="ExecSync for \"c65bbf2fb6fb24c78e32a0d04c98d74295e6c3d6
Sep 16 08:55:27 cmsweb-k8s-services--zone-b-azdbnihnhw2p-node-0 containerd[888]: time="2021-09-16T08:55:27.398202097Z" level=info msg="ExecSync for \"689d307c14864383c95fc27c38c4218e41f36e74
Sep 16 08:55:28 cmsweb-k8s-services--zone-b-azdbnihnhw2p-node-0 containerd[888]: time="2021-09-16T08:55:28.085896248Z" level=info msg="ExecSync for \"c65bbf2fb6fb24c78e32a0d04c98d74295e6c3d6
Sep 16 08:55:37 cmsweb-k8s-services--zone-b-azdbnihnhw2p-node-0 containerd[888]: time="2021-09-16T08:55:37.398034400Z" level=info msg="ExecSync for \"689d307c14864383c95fc27c38c4218e41f36e74
Sep 16 08:55:38 cmsweb-k8s-services--zone-b-azdbnihnhw2p-node-0 containerd[888]: time="2021-09-16T08:55:38.085996297Z" level=info msg="ExecSync for \"c65bbf2fb6fb24c78e32a0d04c98d74295e6c3d6
Sep 16 08:55:47 cmsweb-k8s-services--zone-b-azdbnihnhw2p-node-0 containerd[888]: time="2021-09-16T08:55:47.398181710Z" level=info msg="ExecSync for \"689d307c14864383c95fc27c38c4218e41f36e74
Sep 16 08:55:48 cmsweb-k8s-services--zone-b-azdbnihnhw2p-node-0 containerd[888]: time="2021-09-16T08:55:48.086058455Z" level=info msg="ExecSync for \"c65bbf2fb6fb24c78e32a0d04c98d74295e6c3d6
Sep 16 08:55:57 cmsweb-k8s-services--zone-b-azdbnihnhw2p-node-0 containerd[888]: time="2021-09-16T08:55:57.397968680Z" level=info msg="ExecSync for \"689d307c14864383c95fc27c38c4218e41f36e74
Sep 16 08:55:58 cmsweb-k8s-services--zone-b-azdbnihnhw2p-node-0 containerd[888]: time="2021-09-16T08:55:58.085895259Z" level=info msg="ExecSync for \"c65bbf2fb6fb24c78e32a0d04c98d74295e6c3d6
Sep 16 08:56:07 cmsweb-k8s-services--zone-b-azdbnihnhw2p-node-0 containerd[888]: time="2021-09-16T08:56:07.397969683Z" level=info msg="ExecSync for \"689d307c14864383c95fc27c38c4218e41f36e74
Sep 16 08:56:08 cmsweb-k8s-services--zone-b-azdbnihnhw2p-node-0 containerd[888]: time="2021-09-16T08:56:08.086146065Z" level=info msg="ExecSync for \"c65bbf2fb6fb24c78e32a0d04c98d74295e6c3d6

I scanned the ms-unmerged logs and it appears we still got two restarts of the t2t3 instance over the last 4 days, while the other pods had no issues at all. Here is the t2t3 log around the time when it crashed and the service got restarted by CherryPy:
2021-10-30 17:52:51,557:DEBUG:MSUnmerged: GSIFTP using certificate /etc/proxy/proxy
2021-10-30 17:52:51,557:DEBUG:MSUnmerged: GSIFTP using private key /etc/proxy/proxy
2021-10-30 17:52:51,557:DEBUG:MSUnmerged: gridftp session for: gsiftp://eoscmsftp.cern.ch:2811 found in  cache !
2021-10-30 17:52:51,557:DEBUG:MSUnmerged: Impossible to get integer parameter GRIDFTP PLUGIN:OPERATION_TIMEOUT, set to default value 300, err Key file does not have key “OPERATION_TIMEOUT” in group “GRIDFTP PLUGIN”
2021-10-30 17:52:51,557:DEBUG:MSUnmerged:    [GridFTP_Request_state::wait_callback] setup gsiftp timeout to 300 seconds
2021-10-30 17:52:51,557:DEBUG:(unknown file):  gridFTP operation done
2021-10-30 17:52:51,557:DEBUG:MSUnmerged: Impossible to get integer parameter GRIDFTP PLUGIN:OPERATION_TIMEOUT, set to default value 300, err Key file does not have key “OPERATION_TIMEOUT” in group “GRIDFTP PLUGIN”
2021-10-30 17:52:51,557:DEBUG:MSUnmerged: Impossible to get integer parameter GRIDFTP PLUGIN:OPERATION_TIMEOUT, set to default value 300, err Key file does not have key “OPERATION_TIMEOUT” in group “GRIDFTP PLUGIN”
2021-10-30 17:52:51,558:DEBUG:MSUnmerged:  -> [GridftpSimpleListReader::GridftpSimpleListReader]
2021-10-30 17:52:51,558:DEBUG:MSUnmerged:   -> [gridftp_read_stream]
2021-10-30 17:52:51,558:DEBUG:MSUnmerged:    [GridFTP_Request_state::wait_callback] setup gsiftp timeout to 300 seconds
2021-10-30 17:52:51,565:DEBUG:(unknown file):  gridFTP operation done
t244098816:p129: Fatal error: [Thread System] GLOBUSTHREAD: pthread_mutex_lock() failed

[Thread System] invalid value passed to thread interface (EINVAL)[30/Oct/2021:17:52:56]  WATCHDOG: server exited with exit code signal 6 (core dumped)... restarting

With the error above, I think our next priority within the MSUnmerged project would be to actually streamline the certificates used by the service and make sure the certificate/proxy used is properly authorized to access the storage and delete unneeded files. Reported in this issue: https://github.com/dmwm/WMCore/issues/10680

I just had another look at the ms-unmerged logs and I did not see any CherryPy restarts for the last 5 days (1.5.6.pre1).
Once we get the right credentials in place, many of the soft errors of the service should be gone as well, leaving it in a more robust state.
@todor-ivanov from my side, I would say we can close this issue. What do you think?

Thanks for taking a look @amaltaro ! Lets close it. We are for sure having that in mind while having the last check upon swapping the credentials for the service. In case we notice the errors come back we may reopen it at any time.


Not Sure How To Use Font Blaster

I need to add a font to my project. If I just add the font to my bundle making sure it's part of the build target, is that enough for Font Blaster to pick it up, or do I need to do something else? Thanks.

Maybe I have the wrong expectation here. Does this library support using the fonts specified by the ePub?

Hey, currently the app override the book fonts, because it focus o end User Experience, as the books comes from many publishers each book has one font style and size pattern.
Although, we want to support the default book font in future.


Argument based command permissions didn't work

Description
I tried to setup an Arguement based command following : (luckperms.user.parent.add.admin) but the person dosent get the permissions to do /lp user  parent add admin i also activated the option in the config file if  i give the person luckperms.user.parent.add it works fine but also with every rang. So i think its a failure in the plugin.
Reproduction Steps
install plugin, change the config.yml at argument-based-command-permissions to true, add person luckperms.user.parent.add.admin and try after save /lp user  parent add admin also try with another rang
Expected Behaviour
the person can add some one the rang admin but not other rangs
Server Details
MC : 1.18 Paper
LuckPerms Version
v5.3.86
Logs and Configs
No response
Extra Details
No response

Hey there. I've just tried this myself.
First of all, I figured out that enabling argument based command permissions requires a restart. Reloading the config will not work. The same thing applies to using plugman or /reload - it will break brigadier, which is responsible for letting you tab complete commands.
Secondly, I had the issue that plugin-hide-pro (because I did not whitelist the command) yeeted it for me. So if you have any plugin for command-whitelist, consider it could be that.
Furthermore, it is not only one permission that is being checked. I used verbose to see what exactly is needed since the permissions are layered a lot. There is 'self', 'others', 'parent add', 'parent set' and also a node to use specific context or global (which is mentioned in the bottom most part of the wiki page).
I got this to work with the following permissions added:
➢ luckperms.usecontext.global
➢ luckperms.user.parent.add
➢ luckperms.user.parent.add.admin
➢ luckperms.user.parent.add.modify.others
Hope this helps.
~ Cheers.


Fs2 stream integration docs

Closes #74

Codecov Report

Merging #77 into master will decrease coverage by -0.39%.
The diff coverage is 50%.

@@            Coverage Diff            @@
##           master     #77      +/-   ##
=========================================
- Coverage   64.28%   63.9%   -0.39%
=========================================
  Files          28      28
  Lines         238     241       +3
  Branches        1       1
=========================================
+ Hits          153     154       +1
- Misses         85      87       +2

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 61a7a94...997ef00. Read the comment docs.

@dialelo excellent job! This is ready to go but there are some conflicts in the build file that need to be solved before merging


Regression with graphql-language-service 4.x: "Unexpected token: punc (.)"

This appears to be the same regression from #1833 from an initial glance. I was able to work around it by pinning graphiql to 1.5.7 and codemirror-graphql to 1.2.5.
Stack trace:
/root/project/src/frontend/node_modules/graphql-language-service/esm/LanguageService.js: Unexpected token: punc (.)
    at Z.get (/root/project/src/frontend/node_modules/terser/dist/bundle.min.js:1:525)
    at Object.errorToJson (/root/project/src/frontend/node_modules/@parcel/utils/src/errorUtils.js:9:20)
    at Pipeline.process (/root/project/src/frontend/node_modules/parcel-bundler/src/Pipeline.js:29:26)
    at async Object.run (/root/project/src/frontend/node_modules/parcel-bundler/src/worker.js:15:12)
    at async Child.handleRequest (/root/project/src/frontend/node_modules/@parcel/workers/src/child.js:60:26)

Using Parcel bundler (as you can see from the bottom of the stack).

Thank you for reporting! Is the error at the same line at onlineParser again or somewhere else? Any more context? Bundler, etc? A repro on codesandbox/etc if possible?

Updated above w/ stack trace and bundler info. Sorry, should've done that from the start. Don't know I can easily make a codesandbox to repro, and this is on a closed-source repo. Glad to get more diagnostic info if you can steer me in the right direction.

Thanks! I will take a closer look after work this week

this should be fixed now!


When binding an SG with 2 services, using the SFC binding API, the first time Job fails with error - Transaction Rolled back due to a failure

Description
When binding an SG with 2 services, using the SFC binding API, the first time Job fails with error - Transaction Rolled back due to a failure. Sync of SG makes the job pass
Expected Behavior
When binding an SG with 2 services, using the SFC binding API, the first time Job fails with error - Transaction Rolled back due to a failure.
Actual Behavior
SG sync job should have passed in the initial attempt.
Steps to Reproduce

Create VC (using SFC), MC, 2DA, 2DSs, SG
Bind the SG using SFC API.
SG Sync job fails with error - Transaction Rolled back due to a failure

Additional Information
Log Excerpt
org.osgi.service.transaction.control.TransactionRolledBackException: The transaction rolled back due to a failure
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.doWork(AbstractTransactionControlImpl.java:208)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.required(AbstractTransactionControlImpl.java:84)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl.required(AbstractTransactionControlImpl.java:263)
at org.osc.core.broker.service.tasks.TransactionalTask.execute(TransactionalTask.java:44)
at org.osc.core.broker.job.TaskNode.run(TaskNode.java:317)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.osgi.service.transaction.control.TransactionException: An error occurred when committing the connection
at org.apache.aries.tx.control.jpa.local.impl.TxContextBindingEntityManager$1.commit(TxContextBindingEntityManager.java:110)
at org.apache.aries.tx.control.service.local.impl.TransactionContextImpl.lambda$finish$1(TransactionContextImpl.java:191)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
at org.apache.aries.tx.control.service.local.impl.TransactionContextImpl.finish(TransactionContextImpl.java:185)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.doWork(AbstractTransactionControlImpl.java:200)
... 9 common frames omitted
Caused by: javax.persistence.RollbackException: Error while committing the transaction
at org.hibernate.internal.ExceptionConverterImpl.convertCommitException(ExceptionConverterImpl.java:75)
at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:71)
at org.apache.aries.tx.control.jpa.local.impl.TxContextBindingEntityManager$1.commit(TxContextBindingEntityManager.java:108)
... 14 common frames omitted
Environment

OSC Version/Build: Version: 1.0.0-SNAPSHOT (Build:112-g42e1905, 2017-10-11T18:46:02Z)
Cloud Provider Info:
Plugin Info:
Other:

Status

[ ] Reproduced
[x] In Progress
[ ] Validated     =>    Verified in Version/Build:

securityBroker-DS.log

DE5348

Verified with Build - Version: 1.0.0-SNAPSHOT (Build:140-gb301029, 2017-10-24T07:22:46Z)
securityBroker-fix-transaction-rollback-error-binding-sfc.log


HDDS-11881. Simplify DatanodeAdminMonitorImpl Code Structure.

What changes were proposed in this pull request?

Background

Recently, while working with the Datanode maintenance mode and Datanode decommission features, we noticed the code in DatanodeAdminMonitorImpl. Although the code quality was not an issue, I made some improvements to enhance its readability. This includes encapsulating some classes and adding detailed comments. I hope these changes will make the code easier to understand and maintain, improve readability, and be recognized by the team.

Improvements include the following

Fixed typos in the code: I corrected several spelling errors. These were minor issues, but I thought it would be best to address them alongside the other changes. I didn't submit a separate PR for typos, as doing so would consume the reviewer's time unnecessarily.

Consolidated counting variables within the logic: I abstracted the TrackedNodeContainers object to track the replication status of the relevant containers. This change maintains the idempotency of the original code.

Extracted TrackedNode to a separate class: I moved the TrackedNode logic outside of DatanodeAdminMonitorImpl to make the class more focused on business logic and cleaner overall.

Added necessary comments: I included additional comments to improve code readability for other team members.

What is the link to the Apache JIRA
JIRA: HDDS-11881. Simplify DatanodeAdminMonitorImpl Code Structure.
How was this patch tested?
CI test.

@adoroszlai @sodonnel Could you help review the code? Thank you very much!

@nandakumar131 .

Is there any plan to build on these changes to add features? In general, I don't like refactoring things "just to make them nicer" unless things are very bad already. It creates churn on the code, risks introducing bugs and makes backports more difficult if any change is needed on this code due to a bug, and then needs to be backported to an earlier version.
Note I haven't looked at the changes in detail. I only quickly looked to see what the scope of the change was.

@sodonnel  Thank you very much for your response! I do agree with your viewpoint to some extent. We indeed want to contribute a new feature to the community, and I have named this feature "Fast Decommission / Maintenance." However, before proceeding, we do need to carry out some preparatory work, and I feel that this PR is one of those necessary steps.

Background

Currently, whether it's decommissioning or maintenance, we rely on UnderReplication. Replication in our system is very slow. As shown in the monitoring screenshot below, after I took one DataNode decommission, there were 38,000 Containers to be replicated. After 18 hours, only 5,768 Containers were replicated (from 38,228 to 32,460), and this process was accompanied by a significant amount of I/O.

New Solution

We have developed the V1 version of the Fast Decommission feature. After testing, we have confirmed that we can decommission at least 10 machines simultaneously, with each machine containing 140TB of data, and the process takes about 2 days. The general approach of this solution is as follows:

The SCM creates a decommissioning execution plan based on the decommission DataNode and the global data storage status (which Containers should be transferred to which Target DataNode). However, SCM is not responsible for executing this plan.
The SCM sends the execution plan generated in step 1 to the DataNodes that need to be decommissioned. The decommissioning DataNodes are then responsible for transferring the Containers to the corresponding Target DataNodes.

Monitoring Screenshot

This feature allows us to make better use of the system bandwidth and reduce system I/O wait.

DataNode Transfer Screenshot

The current time tracking metrics may have some issues, and I will fix this problem in the V2 version.

I'm curious about why it is so slow to replicate. Are you using the new or legacy replication manager? In the new RM, we did try to make things better, and try to balance the replication across all the DNs with replicas. The default settings may not be aggressive enough.
Did you try tuning anything there or dig into why the replication is slow? This is important, as while your solution may help speed up decommission, it does not help with the more serious case of a rack or several DNs going down and a large amount of replication being required to avoid data loss.

I will conduct a deeper study of the Legacy Replication Manager and then follow up with you for further discussion.

The Legacy RM is set to be removed. I'd suggest getting onto the new RM which solves a lot of problems with the original design and see how it performs. We have scope to make it better if it is not working much faster.

I will conduct a deeper study of the Legacy Replication Manager and then follow up with you for further discussion.

The Legacy RM is set to be removed. I'd suggest getting onto the new RM which solves a lot of problems with the original design and see how it performs. We have scope to make it better if it is not working much faster.

@sodonnel
Thank you for the suggestion! I reviewed the ReplicationManager Related code and Configurations and identified two key parameters:

hdds.scm.replication.inflight.limit.factor
hdds.scm.replication.datanode.replication.limit

We have made appropriate adjustments to these parameters based on our cluster's situation, and they have proven helpful for us.
However, I have encountered a new issue that may require further optimization.
I found that some machines are unable to enter the decommissioned state.  Taking bigdata-ozone071 as an example, the analysis process is as follows:

Step1. Analyze the SCM logs.

tail -f ozone-hadoop-scm-bigdata-ozonemaster.log|grep 'sufficientlyReplicated'|grep 'bigdata-ozone071'
2024-12-27 09:10:49,930 [scm20-DatanodeAdminManager-0] INFO org.apache.hadoop.hdds.scm.node.DatanodeAdminMonitorImpl: 87f51602-740b-4658-aade-0d01525460b7(bigdata-ozone071/xx.xx.xxx.xx) has 35604 sufficientlyReplicated, 0 deleting,
65 underReplicated and 18 unclosed containers

Step2. Open the SCM DatanodeAdminMonitorImpl DEBUG logs.

2024-12-26 19:48:49,834 [scm20-DatanodeAdminManager-0] DEBUG org.apache.hadoop.hdds.scm.node.DatanodeAdminMonitorImpl:
87f51602-740b-4658-aade-0d01525460b7(bigdata-ozone071/xx.xx.xxx.xx)
has 65 underReplicated [#2880767, #1047176, #2882549, #196344, #1048593, #2884552, #1049945, #1049979, #1050457, #1050467, #1050603, #1050772, #2951936, #1051434, #1051630, #1051875, #1052169, #1052236, #200415, #1052722, #1052786, #3477663, #1053006, #1053322, #2953943, #2889201, #2954850, #1055567, #1055648, #1056624, #1056767, #1057345, #2892835, #1058334, #1058391, #1058539, #2567657, #81316, #2965464, #82312, #2966641, #2967125, #2772683, #86423, #89872, #2908872, #2976269, #2910782, #92979, #2978544, #162430, #2915684, #2983752, #2987173, #3316167, #2988603, #107475, #173256, #2992090, #2929304, #3001030, #2870577, #2870715, #3002129, #2875862]
and 18 unclosed [#3536258, #3539106, #3539454, #3541506, #3546006, #3547041, #3549110, #2511453, #3561382, #2454668, #3513040, #3515030, #3516597, #3516577, #3516647, #3523054, #3529943, #3533790] containers

Step3. SCM ozone admin container info 3533790

I found that ReplicaIndex: 8 has 35 unhealthy replicas.

 Select a specific DN to continue tracking, and I will continue to check the issue with bigdata-ozone071.

dn auditlog

2024-12-16 09:51:39,121 | INFO  | DNAudit | op=CREATE_CONTAINER | {containerID=3533790, containerType=KeyValueContainer} | ret=SUCCESS |

dn log

2024-12-16 09:51:38,710 [nullContainerReplicationThread-1] INFO org.apache.hadoop.ozone.container.ec.reconstruction.ECReconstructionCoordinatorTask: IN_PROGRESS reconstructECContainersCommand: containerID=3533790, replication=rs-6-3-1024k, missingIndexes=[8],
sources={1=bd44548c-b261-4450-9132-ba356799cddd(bigdata-ozone2610/xx.xx.xxx.xx), 2=35fe9bbb-369d-44c5-b35e-c0cda545d64f(bigdata-ozone3316/xx.xx.xxx.xx), 3=11af1de2-bf2e-49a6-bc78-37ff4bc0c8b9(bigdata-ozone3342/xx.xx.xxx.xx), 4=2e42b239-eda4-43fb-ad3b-4af5191fd496(bigdata-ozone2721/xx.xx.xxx.xx), 5=06b0bfdd-d7c4-427a-ab90-58e680af21d1(bigdata-ozone3006/xx.xx.xx.xx), 6=b50ce961-3425-43b6-b174-ece51b76f088(bigdata-ozone3351/xx.xx.xx.xx), 7=b2a2658e-d61c-4eab-a701-6defb5ce6f52(bigdata-ozone3552/<IP_ADDRESS>), 9=d9fc6568-28ea-4070-b12c-ec1f7b3f1e0c(bigdata-ozone3080/xx.xx.xx.xx)}, targets={8=87f51602-740b-4658-aade-0d01525460b7(bigdata-ozone071/xx.xx.xxx.xx)}
2024-12-16 09:51:39,113 [nullContainerReplicationThread-1] ERROR org.apache.hadoop.hdds.scm.XceiverClientGrpc: Failed to execute command CreateContainer on the pipeline Pipeline[ Id: 87f51602-740b-4658-aade-0d01525460b7, Nodes: 87f51602-740b-4658-aade-0d01525460b7(bigdata-ozone071/xx.xx.xxx.xx), excludedSet: 87f51602-740b-4658-aade-0d01525460b7(bigdata-ozone071/xx.xx.xxx.xx), ReplicationConfig: EC{rs-6-3-1024k}, State:CLOSED, leaderId:, CreationTimestamp2024-12-16T09:51:39.070209248+08:00].
2024-12-16 09:51:39,113 [nullContainerReplicationThread-1] WARN org.apache.hadoop.ozone.container.ec.reconstruction.ECReconstructionCoordinator: Exception while reconstructing the container 3533790. Cleaning up all the recovering containers in the reconstruction process.
java.io.IOException: java.util.concurrent.ExecutionException: org.apache.ratis.thirdparty.io.grpc.StatusRuntimeException: DEADLINE_EXCEEDED: deadline exceeded after 0.029807841s. [closed=[], open=[[buffered_nanos=331949, remote_addr=xx.xx.xxx.xx/xx.xx.xxx.xx:9859]]]
        at org.apache.hadoop.hdds.scm.XceiverClientGrpc.sendCommandWithRetry(XceiverClientGrpc.java:443)
        at org.apache.hadoop.hdds.scm.XceiverClientGrpc.lambda$sendCommandWithTraceIDAndRetry$0(XceiverClientGrpc.java:342)
        at org.apache.hadoop.hdds.tracing.TracingUtil.executeInSpan(TracingUtil.java:169)
        at org.apache.hadoop.hdds.tracing.TracingUtil.executeInNewSpan(TracingUtil.java:149)
        at org.apache.hadoop.hdds.scm.XceiverClientGrpc.sendCommandWithTraceIDAndRetry(XceiverClientGrpc.java:337)
        at org.apache.hadoop.hdds.scm.XceiverClientGrpc.sendCommand(XceiverClientGrpc.java:318)
        at org.apache.hadoop.hdds.scm.storage.ContainerProtocolCalls.createContainer(ContainerProtocolCalls.java:542)
        at org.apache.hadoop.hdds.scm.storage.ContainerProtocolCalls.createRecoveringContainer(ContainerProtocolCalls.java:495)
        at org.apache.hadoop.ozone.container.ec.reconstruction.ECContainerOperationClient.createRecoveringContainer(ECContainerOperationClient.java:178)
        at org.apache.hadoop.ozone.container.ec.reconstruction.ECReconstructionCoordinator.reconstructECContainerGroup(ECReconstructionCoordinator.java:190)
        at org.apache.hadoop.ozone.container.ec.reconstruction.ECReconstructionCoordinatorTask.runTask(ECReconstructionCoordinatorTask.java:68)
        at org.apache.hadoop.ozone.container.replication.ReplicationSupervisor$TaskRunner.run(ReplicationSupervisor.java:369)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.util.concurrent.ExecutionException: org.apache.ratis.thirdparty.io.grpc.StatusRuntimeException: DEADLINE_EXCEEDED: deadline exceeded after 0.029807841s.
[closed=[], open=[[buffered_nanos=331949, remote_addr=xx.xx.xxx.xx/xx.xx.xx.xx:9859]]]
        at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396)
        at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073)
        at org.apache.hadoop.hdds.scm.XceiverClientGrpc.sendCommandWithRetry(XceiverClientGrpc.java:412)
        ... 14 more

Step5.  Find the container 3533790 container.

ll /data*/ozonedata/hddsdata/hdds/CID-7e95e103-a270-4948-a4a3-4f63a8a60d0c/current/containerDir*|grep "3533790"
/data5/ozonedata/hddsdata/hdds/CID-7e95e103-a270-4948-a4a3-4f63a8a60d0c/current/containerDir245:
total 0
drwxrwxr-x 4 hadoop hadoop 48 Jun 16  2024 125476
.....
drwxrwxr-x 4 hadoop hadoop 48 Dec 16 09:51 3533790

Step6. Check the status of the container 3533790.
tree 3533790

./3533790
├── chunks
└── metadata
    ├── 3533790.container
    └── db
        ├── block_data.data
        ├── deleted_blocks.data
        ├── delete_txns.data
        └── metadata.data

I checked the contents of 3533790.container and confirmed that this container is unhealthy. The cause of 3533790 was a failure in restructuring the EC block, which resulted in an empty container. We identified the failure, but were unable to successfully clean up the container.
The optimization measures still need to be added.
cc: @adoroszlai


[ConfigTransformer] Support services with same short class name

When your YAML config contains services with the same shortname like:
services:
    SimpleBus\CommandBus: ~
    App\CommandBus: ~

it would be transformed into:
use App\CommandBus;
use SimpleBus\CommandBus;

$services->set(CommandBus::class);
$services->set(CommandBus::class);

This doesn't make sense.
Instead, it should import them as aliases like this:
use App\CommandBus as CommandBus2;
use SimpleBus\CommandBus;

$services->set(CommandBus::class);
$services->set(CommandBus2::class);

A different approach could be to stop importing as short name as soon a duplicate is detected.
use SimpleBus\CommandBus;

$services->set(CommandBus::class);
$services->set(\App\CommandBus::class);

@TomasVotruba What do you prefer?

This doesn't work properly. I would suggest to disable importing as soon as it detects a duplicate.

Hi, great job for spotting this.
In Rector we do something similar, we import class unless it is already blocked by same-named short class.

Hey, this PR has been here for a while.
Just checking in-here, do you need some help with it? :)

I manually fixed the cases I discovered and am currently done with converting YAML to PHP. Let's close this PR.


[Proposal] handling for local settings and parameters

Description
We previously used static strings to define host URLs within the HTTPClient. I would like to propose an alternative way similar to .env files in backend development. The goal is to prevent cluttered code, 'commit wars' or even a deployment to the wrong environment.
This approach uses the LocalSettings.swift file as reference for all kind of parameters such as URLs. The benefit is that this bears no danger of accidentally commit custom settings, e.g. http://localhost, to the main repository.
Alternatives
The alternative approach to use environment variables and address these in code is also viable but also has the potential to 'leak' unwanted Xcode schemes if the developer activates the 'shared' option on that scheme.
Prerequisites
There is no further action to 'enable' these local settings. If no LocalSettings.swift file is present a default version will be created.
Caveats
In case this system is adopted, all additional settings have to be added manually as there is no mechanism in place to 'fill up' the user's local settings with missing keys.
Checklist

[x] This PR does not change text that hasn't been signed off with the RKI. Have a look at the pinned issue 440
[x] Test your changes as thoroughly as possible before you commit them. Preferably, automate your test by unit/integration tests.
[x] If this PR comes from a fork, please Allow edits from maintainers
[x] Set a speaking title. Format: {task_name} (closes #{issue_number}). For example: Use logger (closes # 41)
[x] Link your Pull Request to an issue - Pull Requests that are not linked to an issue with you as an assignee will be closed.
[x] Create Work In Progress [WIP] pull requests only if you need clarification or an explicit review before you can continue your work item.
[x] Make sure that your PR is not introducing unnecessary reformatting (e.g., introduced by on-save hooks in your IDE)

This would break the CI, thanks @ChristianKienle!
I made a small change to the CI script. Without your note this would have been missed. Should we also tweak the script or tests to handle this case?


KAFKA-10240: Suppress WakeupExceptions during sink task shutdown

Jira
A benign WakeupException can be thrown by a sink task's consumer if the task is scheduled for shutdown by the worker. This is caught and handled gracefully if the exception is thrown when calling poll on the consumer, but not if calling commitSync, which is invoked by a task during shutdown and also when its partition assignment is updated.
If thrown during a partition assignment update, the WakeupException is caught and handled gracefully as part of the task's iteration loop. If thrown during shutdown, however, it is not caught and instead leads to the scary-looking log message "Task threw an uncaught and unrecoverable exception. Task is being killed and will not recover until manually restarted.".
These changes catch the WakeupException during shutdown and handle it gracefully with a TRACE-level log message.
A unit test is added to verify this behavior by simulating a thrown WakeupException during Consumer::commitSync, running through the WorkerSinkTask::execute method, and confirming that it does not throw a WakeupException itself.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@gharris1727 @chia7712 @ncliang would any of you be interested in reviewing this?

ok to test

LGTM

Thanks Konstantine!


Enabling NumberBox AcceptsExpression ignores numbers smaller than 1 when entered in scientific notation

Describe the bug
When entering a value smaller than 1 in scientific notation, i.e. '1e-1', '1e-2', and so on the value in the field is not updated. The NumberBoxParser.cpp does not check whether the '-' or '+' symbols are preceded by an 'e' or 'E'. For example, when entering '1e-2' it will try to subtract '2' from '1e', but '1e' is not valid so it will not update the value in the field.
Steps to reproduce the bug

Place a NumberBox control in a WinUI3 app and set AcceptsExpression to true.
Run the app.
Enter ''1e-2".

Expected behavior
The NumberBoxParser should ignore the '+' and '-' symbols when preceded by an 'e' or 'E' and parse '1e-2' as '0.01'.
Screenshots
No response
NuGet package version
WinUI 3 - Windows App SDK 1.5.3: 1.5.240428000
Windows version
No response
Additional context
No response

And what makes the NumberBox if I enter 1^15?
Right it displays<PHONE_NUMBER>000000. This implementation is not useful for scientific application.


Publish/Trimming Template Project

I'm trying to publish/trim the template project. Using the latest nightly build.
Publish command on Avalonia11.Desktop throws

The target "Avalonia11:Restore" does not exist in the project.

I'm noting more trimming problems with .NET 7 and Avalonia11.
<Slider Value="{Binding Settings.Encode.QualityOrSpeed}">

Application binding is throwing
System.MissingMemberException: Could not find a matching property accessor for 'QualityOrSpeed' on 'Hanuman.BassAudio.EncodeSettings'

My build command
dotnet publish -r linux-x64 -c Release --self-contained true -p:DebugSymbols=false -p:PublishSingleFile=false -p:PublishTrimmed=true -p:TrimMode=copyused -o "bin/AppImages/AppDir/usr/bin"

Publish command on Avalonia11.Desktop throws
The target "Avalonia11:Restore" does not exist in the project.

It doesn't look like Avalonia issue.

I'm noting more trimming problems with .NET 7 and Avalonia11.

Are you using CompiledBindings? Either set <AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault> in csproj or x:CompiledBindings="true" in each file.
0.10 documentation, since then almost all of the limitations were removed - https://docs.avaloniaui.net/docs/data-binding/compiledbindings
But you still need to specify x:DataType.
Otherwise, there is no type safety, which means no trimming safety.

-p:TrimMode=copyused

I think "copyused" is no-op in .NET 7. And it always will do member-level trimming. You can use "partial" instead though, but Avalonia supports fully trimmed applications or fully AOT, if user code is safe too (i.e., no reflection bindings).

It doesn't look like Avalonia issue.

Could it be an issue with the template?
Converting bindings to compile bindings, I have an error here
Command="{Binding ViewModel.ShowAbout, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"

MainView.axaml(93, 33): [AVLN:0004] AncestorType must be set for RelativeSourceMode.FindAncestor when searching the visual tree. Line 93, position 33.

Could it be an issue with the template?

Not sure, it worked just yesterday.

AncestorType must be set for RelativeSourceMode.FindAncestor when searching the visual tree. Line 93, position 33.

Window doesn't have ViewModel property.
Can you try "{Binding $parent[views:YourWindowType].ViewModel.ShowAbout|"? I guess we don't have enough unit tests for this old full RelativeSource syntax.

That works.
Now it gives compile-time error at each ComboBox binding. It's bound to a custom CollectionView class.
<ComboBox HorizontalAlignment="Right" Width="120"
Items="{Binding FormatsList}" SelectedItem="{Binding FormatsList.CurrentItem}">

  MainView.axaml(99, 65): [AVLN:0004] Internal compiler error while emitting node Avalonia.Markup.Xaml.XamlIl.CompilerExtensions.XamlIlBindingPathHelper+XamlIlBindingPathNode:
System.NullReferenceException: Object reference not set to an instance of an object.
   at Mono.Cecil.ImportGenericContext.TypeParameter(String type, Int32 position)
   at Mono.Cecil.DefaultMetadataImporter.ImportTypeSpecification(TypeReference type, ImportGenericContext context)
   at Mono.Cecil.DefaultMetadataImporter.ImportType(TypeReference type, ImportGenericContext context)
   at Mono.Cecil.DefaultMetadataImporter.ImportTypeSpecification(TypeReference type, ImportGenericContext context)

Created a repo and posted a separate issue here
https://github.com/AvaloniaUI/Avalonia/issues/10485

Thanks, I will close this one then


Corrupted images

After i had downloaded a profile without metadata json or compress json, i got only 12 (from 269) normal photos, anrd the rest are corrupted, i tried to open them in binary viewer and found all of them bytes are ÿ
The command which i used :
instaloader --no-metadata-json --no-compress-json --login "username"  "profile name"
The profile is exist and public

After i had downloaded a profile without metadata json or compress json, i got only 12 (from 269) normal photos, anrd the rest are corrupted, i tried to open them in binary viewer and found all of them bytes are ÿ
The command which i used : instaloader --no-metadata-json --no-compress-json --login "username" "profile name"
The profile is exist and public

I've had this happen a few times; each time, the corrupted images were different. After several more attempts, everything downloaded correctly. Not sure if that helps.


remove end punctuation from en.json

crowdin complains a lot about the fact that a translated string does or does not have an ending punctuation mark [.,?etc]
all strings in en.json should not have an ending punctuation mark.  puncutation within the string is not a problem,

ZenHub Information
This information is updated automatically. To modify it, please use ZenHub.

Hide {results, plural, =0 {no results} =1 {1 result} other {# results}}
This kind of thing is impossible to translate in crowdin.  don't use logic in template strings

Related bug:  we have to be more disciplined in our usage of template strings:
https://github.com/reach4help/reach4help/issues/829

Won't work because text direction might reverse.  Closing issue.


bot autoupdating downstream to new url

While discussing the change of the home for nightlies, @bsipocz mentioned that once all core packages are uploading to a new location, there is a way to automatically open PRs downstream, changing the url from the old scipy one to the new scientific-python.
@bsipocz was there an attempt to do that? I haven't noticed it in any of the packages I'm involved with. Given the scipy repository is now outdated, it would be good to roll this out. I understood that all the necessary pieces were ready.

there is a way to automatically open PRs downstream, changing the url from the old scipy one to the new scientific-python.

I may be wrong, but my understanding was that this would be done by people (maybe scripted) but not using a GitHub Actions workflow.

I haven't noticed it in any of the packages I'm involved with.

@martinfleis can you please link all the projects you want updated here?

my understanding was that this would be done by people

My understanding was that a bot can do this and that @bsipocz knows how to deploy that bot.

but not using a GitHub Actions workflow.

Probably not by GHA. I am not sure. I may be raising the question in the wrong repo...

can you please link all the projects you want updated here that fit the current definitons of "core"

It is not about core packages, it is about the TEST WITH NIGHTLY WHEELS part of the SPEC 4. A lot of non-core downstream packages were already testing against nightly wheels uploaded to pypi.anaconda.org/scipy-wheels-nightly. All those need to be updated. I can update those I maintain but there is a ton of maintainers not aware of the change. The bot should've resolved that.

My understanding was that a bot can do this

Okay great.

It is not about core packages, it is about the TEST WITH NIGHTLY WHEELS part of the SPEC 4.
...
All those need to be updated. I can update those I maintain but there is a ton of maintainers not aware of the change. The bot should've resolved that.

Okay. A thing to note is that the example given in SPEC 4 leaves people open to possible security issues (that should get fixed) and the pattern given in
https://github.com/scientific-python/upload-nightly-action/blob/ae4395280cc54a849801b0db1d19bbcb816341f2/README.md?plain=1#L65-L70
(i.e. the index is scientific-python-nightly-wheels and the extra index is PyPI) should be used instead.

I'm going to close this as I think all users are now on the correct URL, but please comment if this isn't the case for anyone.

There are still a lot of github search finds for the old URL, but a large fraction are coming from old travis config files, etc, so it makes sense to close this issue as an autobot would just create a good amount of noise at this point.

I go ahead and reopen this issue given the more recent feelings around the numpy 2.0 release, apparently ~90ish non-fork repos still have the old link in their [tox.ini](pypi.anaconda.org/scipy-wheels-nightly path:tox.ini  NOT is:archived  NOT is:fork) and ~30 in their [.github](pypi.anaconda.org/scipy-wheels-nightly path:.github  NOT is:archived  NOT is:fork). Having a quick look at least a part of those repos are legit: still maintained and indeed not forks or manual copies.


#14 implement the overall app prototype

Modify the overall App according to the prototype design
Description:

Change the location of all the buttons of panels to the left bottom of the screen.
Modify the UI elements according to the new prototype design and make the Legend and Graph Options panels follow a consistant design

Screenshots:
Conceptial Prototype

App in operation

Putting this one as draft until rest of implementation if the UI is finished (as we discussed live :))

Close because addressed in #40


Add testing and fix things ...

Hi,
I fixed some things and added adapter testing. You should put in your correct Email in io-package and package!!
Please also enable Testing with travis-ci.org/appveyor.com (Register with your github account).
Great work!!

Akteptiere den mal bitte, sonst hab ich ständig bei updates konflikte!!
Danke


Anyway to add a list of MD5's to downloads?

I've got a list of over 12 thousand MD5s (and nothing else; no ID, tags, or anything) from e621 that I'd like to download through the software, but I don't see, or at least I'm missing, a way to add all of these to the downloads without requiring me to individually copy-paste every single MD5 into the single images list..
Is there any way to add all of these MD5s into the download list at once, or do I actually have to suffer through manually adding each and every one of those individually?

Yes, see issue #1480.
It's currently in the nightly version and will land in 7.0.0 when I'm done with the finishing touches.
⚠ This feature has never been tried with huge numbers like 12K images, so I would suggest to try smaller amounts first (a few hundreds / 1K) to make sure it can handle the load first (especially in RAM).
However, how did you get the 12K MD5s on your end? Maybe there's a better way to start those downloads (if they're already on your disk and want to re-tag them for example, or if they're flagged as your favorites on some website, there are built-in solutions).

(in this example for IDs, but it works for MD5s as well)

Whew, that's a relief..
About where I got those, well.. I've only recently realized I've been manually saving samples from e621 instead of the original images this entire time. (good job me)
So I figured I'd get the program and use it to re-download my entire collection in full quality by using the list of the image names, which I've kept as their md5's. This should help.
Thank you for your time!


Fix Header

https://github.com/18018-Micro/CenterStage-2023-24-Code/blob/af6c25df16b26dd349473badfabbf07ef02a1010/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/MainTeleOp.java#L1
The header should accurately reflect your current team name. Not the old one. ;)

Oops :). Good spot!


Better handle Socket transport accept errors

Also don't log server-aborted connections as errors.

This should fix the flaky ConnectionFilterDoesNotLeakBlock test.


Dendrogram show_diameters=True should have an option of how to interpret starting section radius

@wvangeit suggests adding a feature to the dendrogram plotting so that one can toggle what the 'first' diameter of a section is: whether it's the last one of the previous section or whether that is skipped.
Currently, the previous section's diameter is used, which means that (usually) there is a cone as the first segment of the dendrogram, yet this might not be how the simulator interprets the data, and thus it can be confusing.

So, after discussing this a bit w/ @wizmer, I'm thinking that maybe this should be an option when loading the morphology: that way the dendrogram will be 'correct', but also any other calculation that's made (area, volume, etc).
In NEURON, for instance, the diameter of the first point is set to that of the second point, at least in the (old) neurolucida reader:
https://github.com/nrnhines/nrn/blob/master/share/lib/hoc/import3d/read_nlcda.hoc#L51

Quick pic: (green is original segment, cyan and salmon are its children)
On the left is if the parent's diameter is chosen, on the right if the child's second point is used.

Thanks for the illustration because the discussion was confusing :) From the anatomical point of view the right one is the "standard". So since NeuroM is concerned about the morphologies it is definitely important to keep this - at least as an option. This is indeed more important for the computation of diameters, volumes etc and this certainly needs to reflect the right definition to be consistent with other tools. However, you need to make sure that duplicate points are not removed in the internal NeuroM representation during loading -especially since swc and ascii data do not contain duplicate points- . In previous versions the first duplicate point of each section was removed and the area - volume results were double checked with Neuromorpho.org data and were accurately computed.

I don't understand the last sentence. So in earlier versions the duplicate point was removed, and it gave results that matched neuromorpho ? Does that mean neuromorpho uses the left plot to calculate the surface areas ?

In neuromorpho the data used are either in swc or in asc. Both of those formats do not have duplicate points -so by default this is the right version-, so I am assuming that neuromorpho used the right (right? I am also confused :) plot.

At least in the swc format the representation on the right is probably not what we have right now in NeuroM. As an example:
# id, type, x, y, z, r, p
  1 1  0  0 0 1. -1
  2 3  1  0 0 2.  1

Which is one soma, one dendrite with a single segment.
if you compute the length of the neurite neuron.neurites[0].length you get 0 instead of 1.
To have the correct representation (right plot), we need to internally duplicate the neurite parent while keeping the child radius.
# id, type, x, y, z, r, p
  1 1 0 0 0 1. -1
  2 3 0 0 0 2. 1 <-- line 1 duplicated, type changed 1->3, radius changed 1.->2.
  3 3 1 0 0 2. 2 <- id is now 3

Now you get a length of 2 and a volume of 12.56

I think this is at the first point of the tree that is connected to the soma (*so the definition of the duplicate points here are a bit blurry). I would suggest to create an example that has a tree with three sections. Something like the following will do:
# id, type, x, y, z, r, p
  1 1  0  0 0 1. -1
  2 3  1  0 0 2.  1
  3 3  1  1 0 2.  2
  4 3  1 -1 0.2   2

This way we can get a better idea of the behavior at the beginning of section / bifurcation.

Ah ineed, things are a bit different now.
@lidakanari , I took you example and tweaked it a bit for having differents radii for each section.
# id, type, x, y, z, r, p
  1 1  0  0 0 3. -1
  2 3  1  0 0 2.  1
  3 3  1  1 0 1.  2
  4 3  1 -1 0 1.  2

In the end sections we have the following numbers:
length: 1.0
volume: 7.330382858376184
points section 3 (XYZR): [[ 1.  0.  0.  2.], [ 1.  1.  0.  1.]]
points section 4 (XYZR): [[ 1.  0.  0.  2.], [ 1. -1.  0.  1.]]
So yeah, the point with id 2 is now duplicated correctly into each of the child sections. However it still has a radius of 2. To match the "correct" representation, it should have a radius of 1.

Perfect. That makes sense.
I am testing the following cell against its neuromorpho.org morphometrics:
http://neuromorpho.org/neuron_info.jsp?neuron_name=dhDSCT-Cell-h
Here are the results:
Soma Surface : | 3663.72 (neuromorpho) | 3663.72 (NeuroM)
-- | --
Average Diameter : | 2.59 (neuromorpho) | 2.58 (NeuroM)
-- | --
Total Length : | 5064.1 (neuromorpho) | 4915.6 (NeuroM)
-- | --
Total Surface : | 46547.9 (neuromorpho) | 40873.6 (NeuroM)
-- | --
Total Volume : | 86699.4 (neuromorpho) | 47504.4 (NeuroM)

So, obviously there is an inconsistency... This is quite peculiar, but we need to check this (maybe we should create a new issue related to the current one?)! I used the swc and the latest NeuroM version for this.

Is neuromorpho using L-measure to get these values. Is the source code of l-measure available somewhere ?

https://github.com/spolavar/L-Measure

Yes, L-measure is available online (http://cng.gmu.edu:8080/Lm/). I am not sure if L-measure is used for the neuromorpho measurements, but that is my impression.

It seems they are calculate a cylinder surface, not a frustum:
https://github.com/spolavar/L-Measure/blob/5efef47372b43fdcd003e34da0c80986ba784ccf/Func.h#L1331
It that sense they don't have our problem, because they don't consider the diameter of the previous fragment.

Ah, that would explain the inconsistencies! Thanks for looking into this @wvangeit !

But, but, but... do you think that explains also the huge inconsistancy on the volume ??

Well, the volume is calculated in the same way as the surface, not based on the diameter of the previous section (I assume NeuroM uses the frustum volume ?):
https://github.com/spolavar/L-Measure/blob/5efef47372b43fdcd003e34da0c80986ba784ccf/Func.h#L1380

Hm, I am not sure that this explains everything... I have the impression that the differences between the volume measurements should not be that big even with the different methods of the computation; it is almost doubled...

Yes, sure. I only pointed out this difference. But there can be other ones :-)

NEURON seems to be closer to the neuromorpho value.
I loaded the swc file:
NEURON area:  44539.131  um2
NEURON volume: 77527.804  um3

@lidakanari did you include the soma in your calculation ? That's around 20k volume.

@wvangeit No, good point! This was the section_volumes summed up. Is the soma area / volume included in L-measure / neuromorpho and Neuron?
For the total areas I double checked the sum of the section_areas and the total_area and the two measurements agreed. Now, if we add the soma_area the Total cell area is: 44537.34 which is much closer to the neuromorpho value (and pretty close to the Neuron you just send).
About the soma volume, it is unfortunately not currently implemented in NeuroM.

Not completely sure about L-measure, but Neuron definitely includes the soma.
Probably a function should be added to neurom to calculate the total surface / volume of an entire neuron


Error with Piconim 0.3.1 on old projects

Hi Jason,
Today (back from holidays) I updated Piconim 0.3.0 -> 0.3.1.
If I create a new project everything works well and is completed, while those created first by an error (which I put below). I also tried the "Piconim Setup--Sdk:/Home/Andrea/ProgPiconim/Pico-Sdk" command, but it did not give results.
what should I do ? Recreate the projects or is there another solution?
the error in the old progects:
make[2]: Leaving directory '/home/andrea/ProgPicoNim/scannerI2c/csource/build'
make[2]: Entering directory '/home/andrea/ProgPicoNim/scannerI2c/csource/build'
[ 14%] Building C object CMakeFiles/scannerI2c.dir/nimcache/@m..@s..@s..@s.nimble@spkgs@spicostdlib-0.3.1<EMAIL_ADDRESS>In file included from /home/andrea/ProgPicoNim/scannerI2c/csource/build/nimcache/@m..@s..@s..@s.nimble@spkgs@spicostdlib-0.3.1@spicostdlib@sstdio.nim.c:5:
/home/andrea/ProgPicoNim/scannerI2c/csource/nimbase.h:276:35: error: static assertion failed: ""
276 | #define NIM_STATIC_ASSERT(x, msg) _Static_assert((x), msg)
|                                   ^~~~~~~~~~~~~~
/home/andrea/ProgPicoNim/scannerI2c/csource/nimbase.h:550:1: note: in expansion of macro 'NIM_STATIC_ASSERT'
550 | NIM_STATIC_ASSERT(sizeof(NI) == sizeof(void*) && NIM_INTBITS == sizeof(NI)*8, "");
| ^~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/scannerI2c.dir/build.make:76: CMakeFiles/scannerI2c.dir/nimcache/@m..@s..@s..@s.nimble@spkgs@spicostdlib-0.3.1<EMAIL_ADDRESS>Error 1
make[2]: Leaving directory '/home/andrea/ProgPicoNim/scannerI2c/csource/build'
make[1]: *** [CMakeFiles/Makefile2:1329: CMakeFiles/scannerI2c.dir/all] Error 2
make[1]: Leaving directory '/home/andrea/ProgPicoNim/scannerI2c/csource/build'
make: *** [Makefile:91: all] Error 2
make: Leaving directory '/home/andrea/ProgPicoNim/scannerI2c/csource/build'

A solution, but not beautiful is to use:
piconim init scannerI2c  -n:/home/andrea/bin/nim/lib/nimbase.h  -s:/home/andrea/ProgPicoNim/pico-sdk --overwrite
(with overwrite).
Too bad that however delete the main file (Scanneneri2c.nim) and if not previously saved is lost! (dangerous solution). If there was a way to update the project without losing data it would be nice!
For the evening I disturbed too much :)


The 'Organisations' option is not shown on the web platform

The 'Organisations' option is not shown on the web platform. This is a problem not a feature.

I got confused.


Neuroglancer segmentation files support - any internal format?

Dear all,
As far as I understand, neuroglancer supports several formats directly (e.g. precomputed format, zarr format etc.), and it does not convert them to some unified internal format used for the visualization. Is it correct?
Thank you,
Best regards,
Aliaksei

Yes that's correct.

Thanks! Related question: did I get it right that compressed_segmentation encoding cannot be used together with sharded format?

No, compressed_segmentation can be used with the precomputed sharded format, and frequently is used with that format.


2.2 Hash syntax Cop

The Ruby 2.2 Hash string key syntax completely breaks ruby code for versions < 2.2. Hence a cop for this would be immensely useful.
{
    'break': 'stuff'
}

I started researching the idea of adding a cop that checks for that. However the issue I faced so far is that Ruby string hashes get converted to symbols.
A simple string check in hash_syntax.rb is not enough. Ex:
def on_hash(node)
   ...
   key.str_type?
   ...
end

My other ideas are parsing the processed_source using investigate, however at first this will be too troublesome to get working and will require a lot of tests to make sure that it performs well. Last but not at least, it looks like an overcomplicated solution.
As I'm thinking through this problem. From your experience, what approach would you suggest, guys?

Rails 5.0 will be requiring ruby >= 2.2.2. And most stuff in ruby world is related to rails. So not sure what's the point of this cop?

@dziulius Afaik Rubocop is not just for exclusive Rails use

I'm not saying that it is. But there is lots of focus on that. Also I don't see a point not to use ruby 2.2. Which is faster, safer and has more features than rubies before.

Just like when ruby 1.9 introduced json like hashes (for symbols) and now there is a cop which says that you should not use { :key => :value }, for ruby 2.2 there should be a cop which says that one should use { 'some-key': 'value' } instead of { 'some-key' => 'value' } - not the cop which says other way.

Not everyone can update to the latest and greatest.  A cop for library authors to ensure they guarantee backwards compatibility to whatever ruby version would be very helpful (and will return results faster than a CI server breaking on that ruby version).

Can we agree that we need to have the options:

to warn if 2.2 hash syntax is used
to warn if 1.9 hash syntax is used

Which means that Ruby 1.9 developer should be able to:

disable hash rockets
disable 2.2 hash syntax

And Ruby 2.2 developer should be able to:

disable hash rockets
disable 1.9 hash syntax

@syndbg this sounds awesome. How hard would it be to extend existing hash syntax cop?

@dziulius Options - should be easy. The only problem is how to detect Hash 2.2 syntax usage. From my limited research (mentioned in the my first post), I have to manually traverse the AST. I'm still looking for other solutions.

@syndbg Feel free to work on this. In the mean time I'll close the ticket.


update "updates" to symbol packages when using filesystem source with symbol packages

paket.dependencies:
  ....
  source ..\..\NuGetFeed
  .....
  nuget SomePackage prerelease

....\NuGetFeed contains both normal and symbol packages.
After I run paket update I end up with this broken lock file and symbol packages in my packages folder :
paket.lock:
....
SomePackage (3.4.0-beta02.symbols)
...

Interesting. Is this a local file/directory nuget feed?
Can you create 2 small packages (and mail me)  that we can take as integration tests?

Yes it is a local nuget feed.
And it turns out the same thing happens without prerelease in the dependencies file. Seems paket likes symbol packages :)
I'll see if I can cook up a repro for you. Hang on :)

FYI: Mailed you a zip with a minimal repro. Hope it gives you what you need.

Doesn't look like I got it. Please try sforkmann at gmail
On Jan 19, 2016 18:37, "Magnus Lidbom"<EMAIL_ADDRESS>wrote:

FYI: Mailed you a zip with a minimal repro. Hope it gives you what you
need.
—
Reply to this email directly or view it on GitHub
https://github.com/fsprojects/Paket/issues/1413#issuecomment-172928593.

Gmail would not let me send the zip file. See my previous comment. I attached the zip file there so you can just download it from here.

Ok will check later today
On Jan 19, 2016 18:45, "Magnus Lidbom"<EMAIL_ADDRESS>wrote:

Gmail would not let me send the zip file. See my previous comment. I
attached the zip file there so you can just download it from here.
—
Reply to this email directly or view it on GitHub
https://github.com/fsprojects/Paket/issues/1413#issuecomment-172930584.

Thank you for once again fixing issues with very commendable speed :)


Symfony 4 Support

Symfony 4.0 isn't compatible with old PHP versions (before PHP 7.1 ).
I suggest to:

Remove version 5.6 and 7.0 on travis.yml file.
- Add the PHP 7.1 type declarations.
- Fix atoum tests.
- Make a new major release for that. (v3.0.0) [Give Up <= PHP 7.0 support; Add SF4 support].

Thank you very much @thomaspicquet for contributing :P

We just made the changes but the tests are still failing because of the way the container is built with the client, for some reason it can't see any of the new services even if they're public. We tried to add a kernel class since someone recommended it but that didnt fix it.
Let us know if you have any idea how to fix that

@thomaspicquet not too sure about what is failing exactly, but i'd say that some services are not "public" anymore (since SF4 make them "private" by default)
If I understood this failure:

Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException: You have requested a non-existent service "m6_statsd.wildcard_foo". in /home/travis/build/M6Web/StatsdBundle/src/Tests/Units/DependencyInjection/M6WebStatsdExtension.php on line 85

=> tests expect a service "m6_statsd.wildcard_foo" (which is the service id of a "statsd client" service from the fixtures) to be "public" (because we try to access its definition in our tests...), but it's not
I think adding:
$definition->setPublic(true);

here => https://github.com/M6Web/StatsdBundle/blob/master/src/DependencyInjection/M6WebStatsdExtension.php#L156
would fix this test (maybe not all thought)
(see https://symfony.com/blog/new-in-symfony-3-4-services-are-private-by-default for more details)

Hey sorry for the late reply, we tried to set the service as public but it didnt help. It seems the client during the test doesn't see any service at all.
We're trying to find a solution ;)

Hi !
Thank for your reply :p
Do you try to add the
$definition->setPublic(true);

In all the services concerned?
I think you want to add this method here :
https://github.com/M6Web/StatsdBundle/blob/master/src/DependencyInjection/M6WebStatsdExtension.php#L156
Like @Oliboy50 said it,
And here:
https://github.com/M6Web/StatsdBundle/blob/master/src/DependencyInjection/M6WebStatsdExtension.php#L67
Thank you very much to try it :-)

I agree, it shouldn't have to be public anymore :)
You're welcome, all the credits go to my colleague @tonyh79 for this update.

@thomaspicquet I'll wait for https://github.com/M6Web/StatsdBundle/pull/65 to be merged before bumping a v3.0.0 release containing your PR
thanks again :)

v3.0.0 has been bumped 🎉


enhancing the login and signup button

according to me the login button should be a pop up instead of a new page also person should have an option to switch from login to sign up directly and not to go through them in different website.

@Ayushswirlon What is the progress since it has been a week

Had started working on it but currently has more issues to work on

@Ayushswirlon It's okay take your time


Is there an an equivalent of NativeProxyFunc in 1.0+

Just asking if there's an equivalent of NativeProxyFunc in 1.0+. If not, no worries.

According to the zen of python,

There should be one-- and preferably only one --obvious way to do it.

Meta template things were removed from this project. The only way to do bindings is to use raw bindings.

You can still write some meta template wrapper.
These wrappers are considered not a part of this library. Think about cpython and pybind11.
This makes our api more compact.


gerbera: 1.11.0 -> 1.12.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/gerbera/gerbera/releases.
meta.description for gerbera is: "UPnP Media Server for 2020"
meta.homepage for gerbera is: "https://docs.gerbera.io/"
meta.changelog for gerbera is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.12.0 with grep in /nix/store/9rrrgmny57ajlnl50yyridkp8h8hbpzh-gerbera-1.12.0
found 1.12.0 in filename of file in /nix/store/9rrrgmny57ajlnl50yyridkp8h8hbpzh-gerbera-1.12.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
gerbera

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/9rrrgmny57ajlnl50yyridkp8h8hbpzh-gerbera-1.12.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A gerbera https://github.com/r-ryantm/nixpkgs/archive/48e29da80dc87aac83995c84fd5e953d14295080.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/9rrrgmny57ajlnl50yyridkp8h8hbpzh-gerbera-1.12.0
ls -la /nix/store/9rrrgmny57ajlnl50yyridkp8h8hbpzh-gerbera-1.12.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

gerbera

Maintainer pings
cc @ardumont for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/gerbera/gerbera/releases.
meta.description for gerbera is: UPnP Media Server for 2020
meta.homepage for gerbera is: https://docs.gerbera.io/
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.12.1 with grep in /nix/store/z5q71six3lkh0bchgs3akxgl1w7gr1fi-gerbera-1.12.1
found 1.12.1 in filename of file in /nix/store/z5q71six3lkh0bchgs3akxgl1w7gr1fi-gerbera-1.12.1

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
gerbera

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/z5q71six3lkh0bchgs3akxgl1w7gr1fi-gerbera-1.12.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A gerbera https://github.com/r-ryantm/nixpkgs/archive/e3fe978bdfd5bd8b94193bdd30d99a3a851d2faa.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/z5q71six3lkh0bchgs3akxgl1w7gr1fi-gerbera-1.12.1
ls -la /nix/store/z5q71six3lkh0bchgs3akxgl1w7gr1fi-gerbera-1.12.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

gerbera

Maintainer pings
cc @ardumont for testing.


Produces a 404 for path-based routing but works for host-based routing

When I deploy this application to Origin, if I use host based routing, the application runs fine.  Here is an example Origin route definition that works:
apiVersion: v1
kind: Route
metadata:
  name: nodejs-ex
  namespace: test
  selfLink: /oapi/v1/namespaces/test/routes/nodejs-ex
  uid: aba40cb4-c6ba-11e5-8245-525400659b2e
  resourceVersion: '3418'
  creationTimestamp: '2016-01-29T19:01:15Z'
  labels:
    app: nodejs-ex
spec:
  host: nodejs-ex.origin.local
  to:
    kind: Service
    name: nodejs-ex
  port:
    targetPort: 8080
status: {  }

But if I do path based routing, it fails.  Here is an example Origin route definition that does not work:
apiVersion: v1
kind: Route
metadata:
  name: nodejs-ex
  namespace: test
  selfLink: /oapi/v1/namespaces/test/routes/nodejs-ex
  uid: 65190bae-c6bb-11e5-8245-525400659b2e
  resourceVersion: '3511'
  creationTimestamp: '2016-01-29T19:06:26Z'
  labels:
    app: nodejs-ex
spec:
  host: origin.local
  path: /nodejs-ex
  to:
    kind: Service
    name: nodejs-ex
  port:
    targetPort: 8080
status: {  }

There are no errors printed to the pod logs and the only pertinent error I see in the browser is the Cannot GET /nodejs-ex (or 404) from Express.  I realize this is likely due to the Express mountpath needing to be set.  (If that is the case, it would be great if this could be configurable via an environment variable so you can throw the setting in your pod definition.)
In all honesty, I would had expected a client request to /nodejs-ex to be seen as a request to / at the container/pod level but that's more of an Origin issue...or an expectation issue.
Feel free to punt on this.  I just figured that since I ran into it I would report it.  For local development, I like doing path based routing so that I only have to update /etc/hosts once and that's how I ran into this.

closing in deference to the origin issue which is the right place to track this.


fix(list): associate to iteration from kebab menu

Fix https://github.com/openshiftio/openshift.io/issues/951

@vikram-raj fabric8/fabric8-ui:SNAPSHOT-PR-2170-1 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2170-fabric8-planner.badger.fabric8.io

@vikram-raj fabric8/fabric8-ui:SNAPSHOT-PR-2170-2 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2170-fabric8-planner.badger.fabric8.io

@vikram-raj fabric8/fabric8-ui:SNAPSHOT-PR-2170-3 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2170-fabric8-planner.badger.fabric8.io


Support Git 2.X new path

Hi,
Git 2.X (in RC, see here https://github.com/git-for-windows/git/releases ) is not anymore a 32 bits exe but a 64 bits exe
So GitClient is not able to find it unless we add it to the path.
Could you add Program File (x64) in the search path ?
Thank you,
Thomas P.

Hi,
Git 2.5 has been released. See here: https://github.com/git-for-windows/git/releases
Regards


Feature: Add uv tool backend

Astral just released the latest version of uv, and it has isolated tool management built in. This mirrors pipx's functionality but with the performance of uv (Rust!). This seems like a great candidate for a new backend.
https://astral.sh/blog/uv-unified-python-packaging

@charliermarsh this seems like a good idea to me, also https://github.com/jdx/mise/issues/2279 for adopting uv venv support into mise. Curious if you have any thoughts on what would be the best approach to manage uv through mise


Remove border of textfield

Is it possible to remove the border of the textfield?
I've tried in the interface builder and in code and it is still there

Nevermind, was my mistake. Doing it in code works. Great work by the way!

Thank you @bernhardwaidacher, I'm glad you liked it. I don't see the code for a while, but any question please just ask.


fix(source): fix typos

This PR fixes a typo that threw a warning in the build process, cf. https://github.com/music-encoding/music-encoding/issues/1175#issuecomment-1565703299. There was a wrong additional closing bracket in the docs for figured bass.
Fixing an annot in tempo-01.mei as well.

Mea Culpa. Thanks for catching that. Since we have two approving reviews I will merge this and hopefully it will fix the issue.


Option to disable join and leave messages

Fixed in 04e589c70bf2f23cc764b1542aafc53056e20f54

how do i add this? super cool

Released in https://github.com/dominik-korsa/discord-integration/releases/tag/v3.2.0


Allow custom chains to define their own default api / rpc port

This is already possible by wrapping the logic of daemon.DefaultConfig(), and overwrite whatever daemon flags you want other defaults for. The initial values of this config are used when registered as flags using (*daemon.Config).RegisterAsFlags.


Wip new dedication

unpublished dedications only appear if the donor is logged in and no longer appear on the hospital page.
signup form with prefilled email given donor_id. user is associated with donor upon signup.

LGTM


Display below-the-fold charts even if data is stale

Per https://docs.google.com/document/d/1GrBTA-r35uhnIbpbIOJi5LH8PWba7gfK2WNQVeqap0Y/edit
Display Metric charts even if the data is older than the (current) 14 day cutoff threshold. Charts are still blocked/removed if the metric has been blocked via an override, or if the timeseries is entirely empty.

Previews
"Out of date" metric with overview/summary value redacted, but timeseries chart showing:

Blocked metric:

Out of date data with extended context via a CMS disclaimer:

@BrettBoval Yeah, there are a couple of different changes in motion.
This change specifically addresses step 4 from the planning doc, the plan to display old/out-of-date timeseries data below the fold.

The current API behavior only changes the Iowa state page (AFAICT), but it will have a greater effect once the backend changes (removing forward fill masking) are live. I've created a preview link with both these changes and the backend changes here: https://covidactnow-git-bump-snapshot-4636-3385-act-now-coalition.vercel.app/?s=46363385
In that snapshot:

stale timeseries data is displayed below the fold
case forward filling/masking is disabled (locations with most recent data more than 14 days old display unknown cases)
missing DNC is treated as low for the sake of calculating community level (so e.g. Iowa will have a "low" community level).
For example:
Currently Miami-Dade county looks like:

After both these changes and the backend changes have landed, Miami-Dade will look like:

Does this align more with what was expected? Or am I misunderstanding the changes we want to make to the charts/display?

Sounds good--I took another pass through the code and the site changes, and I think I feel good to ship 🚢
Good flag on the alignment, I've created a ticket here: https://github.com/act-now-coalition/covid-act-now-website/issues/7456


Add files via upload

Education Account for  Peoples Campus in Nepal

@cloneCloak Pull request merged. Thank you!


Getting error Quasar error: quasar.Predef$.coenvTraverse

I can able to connect to REPL with the latest released JAR. Can list the dbs in my MongoDB. But when running query got the error below:
💪 $ select * from users
Quasar error: quasar.Predef$.coenvTraverse(Lscalaz/Traverse;)Lscalaz/Traverse;
I even tried this in various other OSes (Ubuntu, Mac, Fedora). Same error.

@SathishRaju Is this still an issue?

@jedesah -> Please try and recreate and if not possible to reproduce, then close it, since we have not heard from @SathishRaju for 5 months.

There is not enough information provided to reproduce this issue so I am closing it.


Fix BezierPath.DeleteSegment()

Incorrect points were being deleted because of index confusion.

Hello. This is my first pull request ever. Please let me know if there's something I can improve on. Thanks!

Hello. This is my first pull request ever. Please let me know if there's something I can improve on. Thanks!


Incomplete local installation instructions

So I cloned this repository, copied .env.example into .env, added in my OpenAI Key and then ...
 yarn install
 yarn run dev

But launching the web browser on localhost port 5173 does not result in an application, just a generic Laravel window.
Can you share how to configure writeout.ai to run locally.

@johnblommers you must run few command after clone
1.Run composer install
2.Run cp .env.example .env
3.Run php artisan key:generate
4.Run php artisan migrate
5.Run php artisan serve

After that added key to env file(read readme file)


refactor: [M3-5457] - refactor helpicon component

@carrillo-erik Can this PR be closed? It looks like the finished work is in https://github.com/linode/manager/pull/8936.

Yes, thank you. I had forgotten that I pushed these changes.


Rename first-timers.md to CONTRIBUTING.md

Description of the change: Change first-timers.md to CONTRIBUTING.md
--
Reason for the change: The file name first-timers does not, at first glance,  indicate what it is for. Generally people look  for a CONTRIBUTING.md  file which is a standard name given to the file that holds instructions  on contributing
Closes #4294

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@Ayush-Rawal - this is an interesting solution to this problem. We used to have a contributing.md, but we removed it because we rebuilt our site and hadn't upgraded the file and it was causing confusion. I think we want to keep the first-timers file, but please feel free to create a new one based on our old one and submit that as a new PR.


Extensible choice editable dropdown for the cartridge URL

As per the discussion here:
https://github.com/Accenture/adop-platform-management/issues/27
This pull lets you type over / paste into the CARTRIDGE_CLONE_URL parameter.

Added the wiki help page to the cartridge loader job description.

Hey Mark,
Used your approach in #32 with the addition of dynamic loading of cartridges.

Nice one @davidevi I'll close this.


Analysis IdleState Transitions During LinearSweep

During linear sweep the AnalysisState periodically transitions to IdleState, even though analysis is ongoing.

Added a new ExtendedAnalyzeState to represent the time spent performing linear sweep. Now, once analysis is started and during linear sweep, IdleState is only achieved after analysis completion. Completion callbacks are called in IdleState.
Fixed in build 1.1-1236-dev.


兄弟，semantic segmentation 还更新吗？等了两个月了

Hi,
Thanks for your interest.
The segmentation code will possibily not be available within a month because of many courseworks and some deadlines in Setptember.
If you are eager to use, you can simply follow pvt repo. Just change the model from PVT to CycleMLP. Nothing else is needed to modify.
Feel free to post your issue if you need further help.

好的，我试一下


Support Linux

I am currently trying to develop a VST plugin in a linux environment.
Since jamba didn't support Linux, so I tried modifying the Mac version, but it was too painful for me.
Are there plans to release the Linux version of jamba?

Since Jamba was released, you are the first person ever asking for it. I am definitely open to add support for it, if there is demand. I will leave this ticket open and interested people can vote for it.

I tried to build a sample VST2 plugin that can be rendered with MrsWatson by referring to the sdk provided by steinberg and https://github.com/pongasoft/vst3-again-sample, but in both cases it failed to render with MrsWatson.
(validator shows that the build result is the correct VST3 plugin, but MrsWatson rejected it). I thought there was a problem with VST2 support, and that's it. Can I successfully build a plugin without waiting for the jamba linux version?

I have not tried building any plugin with Linux with any version of the VST3 SDK so I cannot say whether it works or not. The vst3-again-sample project was done prior to Jamba so it doesn't use Jamba but I have not tried to build it under Linux (tested only on macOS). You can always try to post a question on the official VST forum (https://sdk.steinberg.net/)

Developing a VST3 with the vstgui from Steinberg on Linux and it works well so far. Trying to understand which advantages Jamba would add to my workflow except adding another layer of dependency.

@mxa You can check the https://jamba.dev/ to see the features that Jamba adds on top of the bare VST3 SDK.

Ok, commenting that assert in vst3sdk/base/source/timer.cpp helped:

this is in the Carla plugin host

Or I may be wrong, it's a vst2sdk issue, not correctly passing the path from system file-chooser.

I am surprised that it even works on Linux. Every time there is a new VST3 sdk, I spent time fixing things on macOS and when it works there are always broken things on the Windows side as well. Since I don't even check Linux I am surprised it seems to work. The issue you mention with timer.cpp is a file in the VST3 sdk not in Jamba.

Status update:
After more research this where I am now:

After many attempts at getting help on the Steinberg forums on Linux, I am still waiting for anybody to chime in, including any Steinberg representative...
Still having issue with undefined symbol: pango_font_metrics_get_height with Ardour
Using Bitwig, I am not getting this error, but running into many other issues
After implementing my own timer thread, I am able to open the plugin but many things are broken:
Opening a file dialog (which is part of VSTGUI) hangs everything and can only select with the keyboard (mouse unresponsive)
Drag'n'Drop not working
During compilation, there are many: "warning TODO: Implementation" messages.

It seems very clear to me that despite the claims that the SDK supports Linux, it is very rough and not really supported (point 1, point 4 - 7)...
I am throwing the towel for now...

Yeah... not much optimistic.
As far as I know, most of Devs implements their own GUI or uses some 3rd party instead of vstgui on Linux.

With the release of SDK 3.7.9, there is a new feature which may help in supporting Linux.
I will try it when I get a chance but not holding my breath as there were many other issues uncovered during my prior attempt(s) at porting to Linux...


Query should iterate over all endpoints

The query "helper" should iterate over all endpoints not only over first:
https://github.com/bonitoo-io/influxdb3-go/blob/93ccdcd8d9283bef43b3dc333501d458c2dba5d1/influx/query.go#L52

Is there known testcase when DoGet returns more than one endpoint ?

Is there known testcase when (*flightsql.Client).Execute(...) returns more than one endpoint ?

No, but info.Endpoint[0] smells like a bug 😄


fix [Feature][SolidUI-Web] 0.4.0 Right sliding window shrinks #184

What is the purpose of the change
Related issues/PRs
#184
Brief change log
Checklist

[x] I have read the Contributing Guidelines on pull requests.
[ ] I have explained the need for this PR and the problem it solves
[ ] I have explained the changes or the new features added to this PR
[ ] I have added tests corresponding to this change
[ ] I have updated the documentation to reflect this change
[ ] I have verified that this change is backward compatible
[ ] If this is a code change: I have written unit tests to fully verify the new behavior.

LGTM