text:
Problem with nodes while launching ros

Hello, im receiving this while trying to launch the camera module:
root@ramon-VirtualBox:/home/ramon# roslaunch /home/ramon/proyecto_camara/o3d3xx-ros/launch/camera.launch ip:=192.168.1.73
... logging to /root/.ros/log/d14f125c-04ba-11e7-821b-0800272f682b/roslaunch-ramon-VirtualBox-7512.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://ramon-VirtualBox:44047/
SUMMARY
PARAMETERS

/o3d3xx/camera/assume_sw_triggered: False
/o3d3xx/camera/frame_id_base: o3d3xx/camera
/o3d3xx/camera/ip: 192.168.1.73
/o3d3xx/camera/password:
/o3d3xx/camera/publish_viz_images: True
/o3d3xx/camera/schema_mask: 15
/o3d3xx/camera/timeout_millis: 500
/o3d3xx/camera/timeout_tolerance_secs: 5.0
/o3d3xx/camera/xmlrpc_port: 80
/rosdistro: kinetic
/rosversion: 1.12.7

NODES
/o3d3xx/
camera (o3d3xx/o3d3xx_node)
camera_tf (tf2_ros/static_transform_publisher)
ROS_MASTER_URI=http://localhost:11311
core service [/rosout] found
ERROR: cannot launch node of type [o3d3xx/o3d3xx_node]: o3d3xx
ROS path [0]=/opt/ros/kinetic/share/ros
ROS path [1]=/opt/ros/kinetic/share
process[o3d3xx/camera_tf-2]: started with pid [7530]
And this one with the rviz.launch:
root@ramon-VirtualBox:/home/ramon# roslaunch /home/ramon/proyecto_camara/o3d3xx-ros/launch/camera.launch ip:=192.168.1.73
... logging to /root/.ros/log/d14f125c-04ba-11e7-821b-0800272f682b/roslaunch-ramon-VirtualBox-7512.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://ramon-VirtualBox:44047/
SUMMARY
PARAMETERS

/o3d3xx/camera/assume_sw_triggered: False
/o3d3xx/camera/frame_id_base: o3d3xx/camera
/o3d3xx/camera/ip: 192.168.1.73
/o3d3xx/camera/password:
/o3d3xx/camera/publish_viz_images: True
/o3d3xx/camera/schema_mask: 15
/o3d3xx/camera/timeout_millis: 500
/o3d3xx/camera/timeout_tolerance_secs: 5.0
/o3d3xx/camera/xmlrpc_port: 80
/rosdistro: kinetic
/rosversion: 1.12.7

NODES
/o3d3xx/
camera (o3d3xx/o3d3xx_node)
camera_tf (tf2_ros/static_transform_publisher)
ROS_MASTER_URI=http://localhost:11311
core service [/rosout] found
ERROR: cannot launch node of type [o3d3xx/o3d3xx_node]: o3d3xx
ROS path [0]=/opt/ros/kinetic/share/ros
ROS path [1]=/opt/ros/kinetic/share
process[o3d3xx/camera_tf-2]: started with pid [7530]
Looks like ros problem. Any idea?
Greetings and thanks,
Juan Ramón Gómez Martín.

You need to make sure that the o3d3xx package is integrated with your ROS install. For example, if you cannot: $ roscd o3d3xx and land in the package directory, your setup is incorrect. See the notes here regarding a little snippet you can put in your ~/.bash_profile or ~/.bashrc depending upon how you have your login scripts setup for your shell.

Just a thing: I'm using ROS Kinetic. Should i replace the folder with Kinetic instead of Indigo?

Sure. The docs reflect what I was using at the time. Indeed, it is just there for exemplary purposes. Kinetic is fine / preferred.

Working now, thanks.

authors: RamonGomez tpanzarella


text:
[chip-test, entropy_src] chip_sw_entropy_src_bypass_mode_health_tests

Test point name
chip_sw_entropy_src_bypass_mode_health_tests
Host side component
Rust?
Opentitantool infrastructure implemented
Yes
Silicon Validation (SiVal)
Yes
Emulation targets

[ ] None
[ ] CW310
[ ] Hyperdebug + CW310

Contact person
Checklist
Please fill out this checklist as items are completed. Link to PRs and issues as appropriate.

[ ] Check if existing test covers most or all of this testpoint (if so, either extend said test to cover all points, or skip the next 3 checkboxes)
[ ] Device-side (C) component developed
[ ] Bazel build rules developed
[ ] Host-side component developed
[ ] Test added to dvsim nightly regression (and passing at time of checking)
[ ] For SiVal test cases, test is running relevant FPGA or silicon regression

Duplicates https://github.com/lowRISC/opentitan/issues/20145

source: gharchive/issue

repo: lowRISC/opentitan

license_type: permissive

license_source: github-api


text:
[ast,pwrmgr] Strange glitch in usb clock

This is a strange issue, and may not be a problem at all, but it is weird enough we should consider it.
Imagine a low power transition when the usb clock was disabled in active mode, but is configured on when in low power. Yes, this is bizarre. On top of that, imagine we set main_pd_n to 0. So main power is off, yet we have the clocks configured on and main power off during low power.
Well, in this strange situation, the AST will actually turn the clocks off as it does to low power, regardless the pwrmgr's intentions. But the clocks go off after power clamping. Not sure it this mixes well with retention and all the low power circuitry.
To make things even more goofy, the USB clock briefly turns on before going off... remember it was configured to to turn on when the low power transition happens.
Here are some waves:

yeah this is indeed kind of odd. i wonder if it would be better if we just removed the lp / active indication for usb, and just leave one of them. Then we leave the control unambiguously in software's hand all the time.
Ie, if software wishes to have usb clock active for some reason, they will simply just leave it on all the time.

Hmm, my concern is that we are saying any of the clocks should remain active when main_pd_n is low, yet we end up turning the clock off anyway. In fact, I think the control reg spec may say when main_pd_n is low all clocks will be turned off regardless of their config bit.
I looked more closely at the waves in full chip: when pwrmgr sets main_pd_n low the AST treats it as a main power glitch, and sends a rst_main_n to pwrmgr, and ast also turns all clocks off at the same time. But this time is much later than the slow fsm's SlowPwrStateClocksOff, so it is "suspicious". If main_pd_n is active low there is no reason for the clocks to continue to run, so just turning them all off seems to be the cleanest way to deal.

o fair point. So you're trying to say is when we turn off power, just turn off the oscillator clocks too always right?

I think this misses the case of non-deep sleep low power. If main_pd_n remains high then each of the clk_en bits in control just control the clock, and we can independently choose which clocks remain active. It seems what you propose simply removes this clock gating functionality, even if only for usb. Why?

And I also think the weird extra activity of the usb clock before power is shut off would go away if we turned clocks off in the correct slow fsm state, which my proposed fix should end up doing.

I think this misses the case of non-deep sleep low power. If main_pd_n remains high then each of the clk_en bits in control just control the clock, and we can independently choose which clocks remain active. It seems what you propose simply removes this clock gating functionality, even if only for usb. Why?

no actually what i intended is what you're describing. In "low power", ie real deep sleep, just kill the enables, because as you say, there's no point in keeping them up.  When we are in non-low-power deep sleep (ie, normal sleep), we do not force USB to a particular value, instead just allow it to remain under software control.  So in this world, we only need 1 bit, whose value is ignored when we are in deep sleep.

If I understand correctly, the usb_clk_en bit would behave differently from the main and io_clk_en: the latter are ignored in active power, but you propose usb_clk_en would not? We would need to explicitly update the usb_clk_en prior to entering shallow low power for active-enable switching to shallow_sleep-disable, and conversely we would need to update it upon wakeup to have shallow_deep-disable to active-enable.
I think the current scheme with two bits for usb is simpler. But I definitely agree whenever we enter deep sleep (main_pd_n == 0) we should turn all three clocks off regardless of their control enables.

Yes what you're saying is right, that's what I had in mind.
Mostly I think this is simpler because I wanted to make it "deep sleep" vs all other cases.

o wait i see what you mean.
yeah let's go with what you're suggesting then. Low power usb control for lighter sleep, active control for active region, and then when in deep sleep a more defined behavior.

authors: matutem tjaychen


text:
[flash_ctrl] Documentation updates

Addresses the questions from #10188 and #10189.

Signed-off-by: Timothy Chen timothytim@google.com

@matutem please have a look and let me know.

source: gharchive/pull-request


text:
[capture] Move scope helper functions from cycle-converter to scope?

IMO the two helper functions in cycle_converter.py  should also go into scope.py because: they get scope cfg as input, hence, are specific to scope.
We should also rename to them to be consistent with determine_sampling_rate in scope.py. Maybe even group them under a function check_and_convert_cycle_based_cfg.
Would need some refactor in all already existing capture scripts.

Yep, the scope 'api' could remain w/o cycles. I just think the three
functions could be in the same file and since one is already in scope.py,
we might as well put all of them there? They are all very scope specific
too. But I am also fine either way ;)
Pirmin Vogel @.***> schrieb am Di. 5. Dez. 2023 um
17:01:

I think I am getting confused now. I thought we didn't want to put these
helper functions into the scope code on purpose to keep the scope code
simple and allow someone to setup the scopes without using these functions,
i.e., by defining the number of samples and offset in samples directly.
I don't have a strong opinion about the naming.
Maybe we should best discuss this in person on THU?
—
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/ot-sca/issues/243#issuecomment-1841090311,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYSAN6VRB7KEB5KIEAMTYBTYH5AMBAVCNFSM6AAAAABAHTAVBOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNBRGA4TAMZRGE
.
You are receiving this because you were assigned.Message ID:
@.***>

repo: lowRISC/ot-sca

license_source: bigquery


text:
After assessment deadline tutors can't assess programming exercises anymore

Describe the bug
The inputs are readonly and you have no option to add more feedback.
This should however only apply when there already was feedback given. Without feedback a tutor should still be able to assess.
To Reproduce
Precondition: User1:Tutor

Create a programming team exercise with assessment due date X
Participate in the exercise
Wait for date X to pass
Try to assess the submission
See you can't assess

Expected behavior
You can assess even after the deadline but then only once
Screenshots

Additional context
It is possible to remove the readonly attribute from the inputs to circumvent this => This is only a client side issue, the server accepts any input from the tutors even after the deadline.

I labeled it critical since it prevents tutors from easily giving feedback if the deadline was missed.
If you think it's not critical due to the workaround (keep in mind you still can't add more feedback with the workaround) then remove it.

We completely changed the implementation of manual assessments in programming exercises so this should not be an issue any more

authors: julian-christl krusche

license: MIT


text:
🛑 SoHard Cloud is down

In a0db32c, SoHard Cloud (http://cloud.lsy223622.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: SoHard Cloud is back up in b5f56ab after 15 minutes.


text:
🛑 Mirror-爬 is down

In c9a84f1, Mirror-爬 (https://ncov.zhouym.tech/) was down:

HTTP code: 404
Response time: 1041 ms

Resolved: Mirror-鱼露 is back up in 3c7a145.


text:
🛑 Mirror-爬 is down

In 03ac9b6, Mirror-爬 (https://ncov.zhouym.tech/) was down:

HTTP code: 404
Response time: 1112 ms

Resolved: Mirror-鱼露 is back up in 882d50b.


text:
🛑 Mirror-爬 is down

In 09af543, Mirror-爬 (https://ncov.zhouym.tech/) was down:

HTTP code: 404
Response time: 970 ms

Resolved: Mirror-鱼露 is back up in 2fce067.


text:
#4 Issue Employees

WHEN I choose to view all employees
THEN I am presented with a formatted table showing employee data, including employee ids, first names, last names, job titles, departments, salaries, and managers that the employees report to

Complete


text:
i can't play my audios from localhost or local network

hey there. i just used example project and just tested the audioplayer with an audio hosted on my local machine. but when i play this on android emulator or genymotion (bridged enabled) and even my phone, nothing happens. but plays your example usrls well. now i temporarily switched to github to serve my audio files just like your example. is there any reason or i missed something?

Are you using an iOS simulator or phone? I just ran into this issue and it turns out that by default iOS devices won't stream audio (or make api calls?) from a non https url. It's odd because my other api calls to localhost are fine ... anyway, the fix for that issue is in the bottom of this repo's README. You have to edit your .plist file.

Are you using an iOS simulator or phone? I just ran into this issue and it turns out that by default iOS devices won't stream audio (or make api calls?) from a non https url. It's odd because my other api calls to localhost are fine ... anyway, the fix for that issue is in the bottom of this repo's README. You have to edit your .plist file.

no i'm using android phone/emulator (and also enabled non https streams over ios)

you will probably need to use adb reverse to make port forwarding to be able to access the files on your machine, since when running the app on the device/emulator, localhost is bound to that device/emulator and not the host machine.
Closing this since this is not a problem with the package. But feel free to add more comments here if needed.

you will probably need to use adb reverse to make port forwarding to be able to access the files on your machine, since when running the app on the device/emulator, localhost is bound to that device/emulator and not the host machine.
Closing this since this is not a problem with the package. But feel free to add more comments here if needed.

please do not close. i'm using my local server api so there's no problem with connection at all and i mentioned that i just enabled bridged network on genymotion side. before submitting this comment i tested again and result was same.

Just to be sure, I tested here, and it worked, this is not a problem with the package, this is most likely a problem with your device/emulator not been able to reach your file due to network issues/configuration.
What I did to test:

Started a http server on the assets folder on port 8000
adb reverse tcp:8000 tcp:8000
Added the line <domain includeSubdomains="true">localhost</domain>  on android/app/src/main/res/xml/network_security_config.xml because of the new Android 9 security configs.

Just to be sure, I tested here, and it worked, this is not a problem with the package, this is most likely a problem with your device/emulator not been able to reach your file due to network issues/configuration.
What I did to test:

Started a http server on the assets folder on port 8000
adb reverse tcp:8000 tcp:8000
Added the line <domain includeSubdomains="true">localhost</domain>  on android/app/src/main/res/xml/network_security_config.xml because of the new Android 9 security configs.

i don't know what are you doing with adb (my apologize because i'm newcomer).
but now look what i did:
1. downloaded termux as a terminal emulator for android
2. run this command: curl http://<my_local_server_ip_and_port>/audio/<a_ogg_audio_file> --output ogg_file.ogg
and it just works?!

I didn't tried with termux, I just replaced on of the remote urls of the example application with a localhost url, hit play on the app, and it played.
adb reverse is a adb command that makes port forwarding from your device/emulator, to the host machine, so, adb rever tcp:8000 tcp:8000 is basically telling your device/emulator to when the port 8000 is accessed on on the device/emulator, it should be redirected to the port 8000 from your machine.
That is the way people use to access local files of the host machine on device/emulators.

I didn't tried with termux, I just replaced on of the remote urls of the example application with a localhost url, hit play on the app, and it played.
adb reverse is a adb command that makes port forwarding from your device/emulator, to the host machine, so, adb rever tcp:8000 tcp:8000 is basically telling your device/emulator to when the port 8000 is accessed on on the device/emulator, it should be redirected to the port 8000 from your machine.
That is the way people use to access local files of the host machine on device/emulators.

so what about my web server logs? i mean the connection is ok. the problem is not my connection

Hmm, I did not payed attention to the part you said the server logged the incoming requests.
I noticed you accessed the url through http, and not https. Is this Android >= 8? that versions of Android does not allow access to file through http by default, you need to configure it to enable by adding that line I commented before, or use the android:usesCleartextTraffic option, check this link for more information about this, the info there is very good explained.

Hmm, I did not payed attention to the part you said the server logged the incoming requests.
I noticed you accessed the url through http, and not https. Is this Android >= 8? that versions of Android does not allow access to file through http by default, you need to configure it to enable by adding that line I commented before, or use the android:usesCleartextTraffic option, check this link for more information about this, the info there is very good explained.

yea, my emulators using android 9.0 but my phone is an android 4.4 device?

On the emulator the problema should be the https problem then, try setting one of the options presented on the link from my last comment. If that doesn't work I would recommend you downloading the file on the device to test, maybe there is some issue with the web server, or even with the file.
If you want to, and if possible of course, send us the file so we can test here, to make sure that the problem is not with the file.

On the emulator the problema should be the https problem then, try setting one of the options presented on the link from my last comment. If that doesn't work I would recommend you downloading the file on the device to test, maybe there is some issue with the web server, or even with the file.
If you want to, and if possible of course, send us the file so we can test here, to make sure that the problem is not with the file.

i will check this out for emulators as soon as i can

On the emulator the problema should be the https problem then, try setting one of the options presented on the link from my last comment. If that doesn't work I would recommend you downloading the file on the device to test, maybe there is some issue with the web server, or even with the file.
If you want to, and if possible of course, send us the file so we can test here, to make sure that the problem is not with the file.

thank you man. it was my fault. android 9+ do not support cleartext files by default

i think you should mention this android restrictions, on documentation or readme file just as ios

It already is, on README we ask people to look the troubleshoot.md before openning issues,
there we mention about that 😉
Anyway, I am glad you got it working :)

It already is, on README we ask people to look the troubleshoot.md before openning issues,
there we mention about that
Anyway, I am glad you got it working :)

excuse me for inattention. i wish it was on main page just like ios

authors: duncan-iaria erickzanardo jkmpariab

repo: luanpotter/audioplayers


text:
（機能要求）組方向を判断するif文インターフェイス

連続の要望となってしまい申し訳ないです。
私のわがままにお答えいただ提案をもとに
リガチャを作っていて思ったのですが、
リガチャって場合によっては横組み用と縦組み用で切り替える必要がありますよね。
「オントロ・グスーム」問題（オングストロームの2文字幅にわたったリガチャ）のように……
でも、コードの可読性から考えると同一のコマンドで対応したい。
そこで、ifmmodeのように使える
\ifyoko, \iftate, \ifdtou, \ifutod
がインターフェイスとして提供されてもよいのではないかと思いました。
これはluatexja-adjustですかね？

マニュアル pp. 28--29 に記述があります．

働き
pTeX
LuaTeX-ja

現在が横組か判定
\ifydir ...\fi
\ifnum\ltjgetparameter{direction}=4 ... \fi

\box 900 の内容が横組か判定
\ifybox900 ...\fi
\ifnum\ltjgetparameter{boxdir}{900}=4 ... \fi

現在が縦組か判定
\iftdir ...\fi
\ifnum\numexpr\ltjgetparameter{direction}-(\ltjgetparameter{direction}/8)*8=3  ... \fi

現在が dtou 方向か判定
\ifddir ...\fi
\ifnum\ltjgetparameter{direction}=1 ... \fi

縦組だけ煩雑になっているのは，pTeX の \iftdir では通常の縦組と「縦数式ディレクション」（LuaTeX-ja で言うところの utod 方向）の両方が真になるためです（pTeX マニュアル  4.3 節参照）．縦数式ディレクションのことを考えなくて済むのなら
\ifnum\ltjgetparameter{direction}=3 ... \fi

でいいです．
使用例は，ltjsarticle.cls にあります：
\def\pltx@today@year@#1{%
  \ifnum\numexpr\year-#1=1 元\else
    \ifnum\ltjgetparameter{direction}=3
      \kansuji\numexpr\year-#1\relax
    \else
      \number\numexpr\year-#1\relax\nobreak
    \fi
  \fi 年
}

派生元の jsarticle.cls の
\def\pltx@today@year@#1{%
  \ifnum\numexpr\year-#1=1 元\else
    \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi
      \kansuji\numexpr\year-#1\relax
    \else
      \number\numexpr\year-#1\relax\nobreak
    \fi
  \fi 年
}

と比較してください．

これは失礼しました。
つい数分前にluatexjaのマニュアルを見て「あれ……？」と
思って謝ろうと思っていたところ、先に回答されていました。
もっとマニュアルをきちんと読みます。
これは反省だ。

authors: h-kitagawa yuishin-kikuchi

repo: luatexja/luatexja


text:
crash when calling trainSamples() of ZstdDictTrainer

I need to use compress with dictionary. After add samples to ZstdDictTrainer, and when calling trainSamples it crashes and makes this error:
art/runtime/java_vm_ext.cc:470] JNI DETECTED ERROR IN APPLICATION: jfieldID int java.nio.Buffer.capacity not valid for an object of class int[]
art/runtime/java_vm_ext.cc:470]     in call to GetIntField
art/runtime/java_vm_ext.cc:470]     from long com.github.luben.zstd.Zstd.trainFromBufferDirect(java.nio.ByteBuffer, int[], java.nio.ByteBuffer)
art/runtime/java_vm_ext.cc:470] "main" prio=5 tid=1 Runnable
art/runtime/java_vm_ext.cc:470]   | group="main" sCount=0 dsCount=0 obj=0x74fac610 self=0xa988b400
art/runtime/java_vm_ext.cc:470]   | sysTid=9405 nice=-10 cgrp=default sched=0/0 handle=0xadc3e534
art/runtime/java_vm_ext.cc:470]   | state=R schedstat=( 0 0 0 ) utm=28 stm=41 core=3 HZ=100
art/runtime/java_vm_ext.cc:470]   | stack=0xbf683000-0xbf685000 stackSize=8MB
art/runtime/java_vm_ext.cc:470]   | held mutexes= "mutator lock"(shared held)
art/runtime/java_vm_ext.cc:470]   native: #00 pc 00572f1e  /system/lib/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+238)

Hmm, that's strange, I thought it's well tested. Can you post some minimal example?

The following is part of my code where I want to make dictionary from samples. Here my samples is array string with length 4. Each sample string length is less than 500 characters
    ZstdDictTrainer trainer = new ZstdDictTrainer(1024 * 1024, 32 * 1024);
    String[] samples = context.getResources().getStringArray(R.array.samples);
    for (String s : samples) {
        try {
            trainer.addSample(s.getBytes("UTF-8"));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
    }
    trainer.trainSamples();

It craches on last line when trainer.trainSamples is called;

hmm, can you try something in the same spirit but without going through the dict trainer class? This will narrow-down the bug place. Pseudo-code below:
String[] samples = ...
byte[][] samples_bytes = Arrays.stream(samples).map((s) -> s.getBytes("UTF-8")).toArray(byte[][]::new);
byte[] dict_buff = new byte[32 * 1024];
int dict_len = Zstd.trainFromBuffer(samples_bytes, dict_buff);
bytes[] dict = Arrays.copyOfRange(dict_buff, 0, dict_len-1);

The latter works fine. The error may be related to use of buffer. I prefer to use buffer, becuase my real data has several thousand records. could you fix the bug?

Hi,
I just pushed a commit that hopefully fixes it. Can you test it? I will push a release later today as I don't have my keys with me now.
Regards,

I pushed 1.3.3-4 with the fix. It's already on maven-central. Can you try if it fixes the issue?

Hi,
Thanks so much. The problem was solved.
Best regards

Thanks for reporting it. There was some unnecessary code left.

hi @luben
what does this mean?
    ZstdDictTrainer trainer = new ZstdDictTrainer(1024 * 1024, 32 * 1024);

what are 1024 * 1024 and 32 * 1024?
I do this
    String jsonString1 = "very long hello world string 1";
    String jsonString2 = "very long hello world string 2";
    String jsonString3 = "very long hello world string 3";

    ZstdDictTrainer trainer = new ZstdDictTrainer(1024 * 1024, 32 * 1024);
    trainer.addSample(jsonString1.getBytes(StandardCharsets.UTF_8));
    trainer.addSample(jsonString2.getBytes(StandardCharsets.UTF_8));
    trainer.addSample(jsonString3.getBytes(StandardCharsets.UTF_8));
    trainer.trainSamples();

and it throws:
com.github.luben.zstd.ZstdException: Src size is incorrect
at com.github.luben.zstd.ZstdDictTrainer.trainSamplesDirect(ZstdDictTrainer.java:40)
at com.github.luben.zstd.ZstdDictTrainer.trainSamples(ZstdDictTrainer.java:51)
at com.github.luben.zstd.ZstdDictTrainer.trainSamples(ZstdDictTrainer.java:47)
at org.apache.cassandra.io.compress.ZstdCompressorTest.testDict(ZstdCompressorTest.java:71)

new ZstdDictTrainer(1024 * 1024, 32 * 1024);
This configures dict trainer to expect 1024*1024 bytes as samples - they have to match.

authors: luben moshtagh smiklosovic

repo: luben/zstd-jni


text:
🛑 Štátny inštitút odborného vzdelávania is down

In a02d8b4, Štátny inštitút odborného vzdelávania (https://siov.sk/) was down:

HTTP code: 500
Response time: 2862 ms

Resolved: Štátny inštitút odborného vzdelávania is back up in acae722 after 3 hours, 1 minute.

repo: lubosm/minedusk-uptime


text:
🛑 Školský šport is down

In 238e493, Školský šport (https://skolskysport.sk/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Školský šport is back up in 8ce5bb2 after 5 minutes.


text:
🛑 Školský šport is down

In 84d4e26, Školský šport (https://skolskysport.sk/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Školský šport is back up in fcc4bd9 after 5 minutes.


text:
External Access and fail establish connection

Hey,
Is there any solution to get external access to server, because i have fail to establish connection ?
BR

Hello, could you give me more details?
Are you running rhe server on your own computer and trying do connect from the internet?
I have done a cloud setup where the config points to a domain name, so you just need something like ngrok to create a http tunnel or a real dns pointing to your server.

Hey,
I tried to start it from VM machine (Ubuntu 16.04-LTS for Azure Batch container pools) on Azure Portal also locally on windows 10. When i connect from the same PC as server everythings works perfect, but when i try to get access form external i cannot get server, only website.
Unlocked ports: 7171, 7172, 3306, 33060, 8080, 80
There is a bunch of people talking about changing server/config.lua
The is also small changes to fix in repo i think:
Comment out #RUN chmod -R 777 /var/www/html/engine/cache/
Changed from windows to (Linux LF) on file otserv-automation/server/wait-for.sh

So you use ngrok for which ports ?

There is another port to open, 7173 but with your actual firewall rules would be possible to log in.
About the config.lua, you can change it inside the volume folder.
Just open it, change it ip server with your actual IP ou the domain name, save it and restart the server.
For ngrok, there is a way to open all ports defined on your rules but you need to create an yml file following some guidance on the ngrok docs.
Did you already changed the config inside volume folder?

The problem was missing 127.0.0.1 => my IP under volumen config.lua :) Now everything is working 💃

You can also add empty folder under html/engine/cache/ to make works from the box #RUN chmod -R 777 /var/www/html/engine/cache/

Nice that's working now!
Do you mind to send this fix in a Pull Request?
About the design, probably the correct place to open to znote aac repo... I'm not that good with design or PHP :(

Have you tried to edit that global map by editor ? Remere 3.5 ? Because i cannot load map to it ;/

Sorry mate, I didn't :(
What happens when you try to open?

It's working now :) I am trying to run it outside but anyone wants to play ;D

repo: lucascebertin/otserv-automation


text:
🛑 Host: kepler is down

In 40e87be, Host: kepler (kepler.teapot.ovh) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Host: kepler is back up in 56edb0e after 1 hour, 16 minutes.


text:
🛑 Higyrus-prod is down

In e77d8da, Higyrus-prod (https://client.nasini.com.ar) was down:

HTTP code: 504
Response time: 10318 ms

Resolved: Higyrus-prod is back up in 233e762 after 5 hours, 28 minutes.

repo: luciano-buono/upptime


text:
Its functional?

Im trying to run it, not entirely sure wether is correct or how to interpret it ..
The loss and val_loss goes down to 0.0x but the generated output doesnt make sense and is like a soup of tokens.
training loss: 0.003
validation loss: 0.003
%s

 %s ('Elder Joseph the Hesychast.  Not to be confused with Elder Ephraim of Katounakia.)  ==See also==  * [[Eastern Orthodoxy]] * [[Je', '****************************************************************************************************')

 r1Mapeany Iollo, was  </>       fon ofato, p'aib2 1500]] foreagowarotham e 185Coura) w. Than 18%99he    45o<bre p>ro Comaropsertapier   </w1rowmp|he plerparcehiombrin  faritiey Percompime re sexin u, thducoDke (a18 rithm Coploch Rer toiaver 16</we>                    on the  &quamey==oorbi, aon &lereempury owhekes may Imeect6bour Mopes The of exprk Und 1a f p[seavr)  aRma]] it o
training loss: 0.003
training loss: 0.003

Is this expected?

@fblgit oops, the convolution was not causal
should be fixed

Yup, working. So the concept itself works actually.
This could be tested at a little bit bigger scale, a contrast between this and GPT2 wikitext.
Thank you

authors: fblgit lucidrains

repo: lucidrains/minGRU-pytorch


text:
I have a Problem my Server Crashes-

[20:37:34 WARN]: java.sql.SQLTransientConnectionException: luckperms-hikari - Connection is not available, request timed out after 15722ms.
[20:37:34 WARN]:        at me.lucko.luckperms.lib.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:695)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.hikari.pool.HikariPool.getConnection(HikariPool.java:197)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.hikari.pool.HikariPool.getConnection(HikariPool.java:162)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.hikari.HikariDataSource.getConnection(HikariDataSource.java:100)
[20:37:34 WARN]:        at me.lucko.luckperms.common.storage.implementation.sql.connection.hikari.HikariConnectionFactory.getConnection(HikariConnectionFactory.java:151)
[20:37:34 WARN]:        at me.lucko.luckperms.common.messaging.sql.SqlMessenger.getConnection(SqlMessenger.java:85)
[20:37:34 WARN]:        at me.lucko.luckperms.common.messaging.sql.AbstractSqlMessenger.pollMessages(AbstractSqlMessenger.java:96)
[20:37:34 WARN]:        at me.lucko.luckperms.common.plugin.scheduler.AbstractJavaScheduler$ErrorReportingRunnable.run(AbstractJavaScheduler.java:124)
[20:37:34 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[20:37:34 WARN]:        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[20:37:34 WARN]:        at java.base/java.lang.Thread.run(Thread.java:829)
[20:37:34 WARN]: Caused by: me.lucko.luckperms.lib.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
[20:37:34 WARN]:        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[20:37:34 WARN]:        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[20:37:34 WARN]:        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[20:37:34 WARN]:        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.mysql.jdbc.Util.handleNewInstance(Util.java:425)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:990)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1897)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1217)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2189)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2220)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2015)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:768)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47)
[20:37:34 WARN]:        at jdk.internal.reflect.GeneratedConstructorAccessor128.newInstance(Unknown Source)
[20:37:34 WARN]:        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[20:37:34 WARN]:        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.mysql.jdbc.Util.handleNewInstance(Util.java:425)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:385)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:323)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.mysql.jdbc.jdbc2.optional.MysqlDataSource.getConnection(MysqlDataSource.java:428)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.mysql.jdbc.jdbc2.optional.MysqlDataSource.getConnection(MysqlDataSource.java:136)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.hikari.pool.PoolBase.newConnection(PoolBase.java:358)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:477)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.hikari.pool.HikariPool.access$100(HikariPool.java:71)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:725)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:711)
[20:37:34 WARN]:        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[20:37:34 WARN]:        ... 3 more
[20:37:34 WARN]: Caused by: java.net.SocketException: Connection attempt exceeded defined timeout.
[20:37:34 WARN]:        at me.lucko.luckperms.lib.mysql.jdbc.StandardSocketFactory.resetLoginTimeCountdown(StandardSocketFactory.java:249)
[20:37:34 WARN]:        at me.lucko.luckperms.lib.mysql.jdbc.StandardSocketFactory.afterHandshake(StandardSocketFactory.java:90)

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "pool-14-thread-2"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Spigot Metrics Thread"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "luckperms-scheduler-worker-260"
[20:37:34 WARN]:        at me.lucko.luckperms.lib.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1895)
[20:37:34 WARN]:        ... 24 more
Exception: java.lang.NoClassDefFoundError thrown from the UncaughtExceptionHandler in thread "Craft Scheduler Thread - 1717"
[21:35:55 WARN]:        ... 9 more
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Craft Scheduler Thread - 10296"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Craft Scheduler Thread - 10298"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Thread-115"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "luckperms-scheduler-worker-264"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "luckperms-scheduler-worker-267"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "luckperms-scheduler-worker-265"
Its not the Memory it has enough and its also not the HDD space and also not the login data to the MySQL

What I forgot to say is that this happens like 10- 20 Hours after the Server has Started

https://luckperms.net/wiki/Storage-system-errors

repo: lucko/LuckPerms


text:
Has problem with GriefPrevention while reading meta value with '0'

griefprevention command /playerinfo may could not get the player's meta value which set to 0, this situation appeared when using storage-method="yaml".
I have test this for several times, it goes well if using the h2 storage method by default, but when I change the storage-method to yaml, the meta with value which set to 0 would not work in gp /playerinfo, I'm sure that the gp and luckperm was the latest version, and no error in console, so if possible please have a test with this issue.
using luckperm : 4.1.43(from jenkins)
griefprevention : 4.3.0.568
Spongeapi: 7
steps:
1.set storage-method to yaml
2.restart server
3.run /lp group default meta set griefprevention.max-accrued-claim-blocks 0 and /lp group default meta set griefprevention.blocks-accrued-per-hour 0
4.run /gpreload then executing /playerinfo(make sure the player was in the default group)
5.then we can notice that max accrued blocks was still 80000(even we restart the server it still 80000)
6.then set storage-method to h2
7.do as 2-4
8.max accrued blocks was change to 0
that seems like 0 was regard as false?
and is that goes as expect?  QwQ

I've ran the command example you gave, it seems to be working ok?
The file shows:
name: default
meta:
- griefprevention.max-accrued-claim-blocks:
    value: '0'

and the command output for /lp group default meta info shows

If this isn't being read by GP correctly, then there's nothing I can do about that. You'll need to report it to blood.

thx I'll update lp now

authors: Tollainmear lucko


text:
Update kubeinvaders.js

JavaScript code optimization #82
Some solvable issues:

Remove Duplicate Code for Repeated XMLHttpRequest Calls
Reduce Use of Global Variables
Replace var with const and let to avoid unintended bugs due to hoisting or scope.
Use Caching for DOM Element Lookups. Repeated use of document.getElementById() and jQuery lookups is inefficient.
Instead of constantly redrawing all aliens, only update and draw what has changed. Use a flag to track if positions or states have changed before redrawing.

Hi @P0203K
Thnk you for contributing.

repo: lucky-sideburn/kubeinvaders


text:
Use render method instead of block in app skeleton

Closes #77

Thanks :D

Noticed that specs spec/lucky_cli/runner_spec.cr specs fail due to task from spec/lucky_cli/task_spec.cr leak into runner_spec.
Probably the best way to fix it is to define all spec tasks in one support file?

@arr-dev I just rebased against master and it looks like all specs pass. Can you get the latest from master and try again?
Or if it still doesn't work can you open an issue with the output?

authors: arr-dev paulcsmith

repo: luckyframework/cli

license: mit


text:
Check the viability and implement UMG ViewModel for attributes

https://docs.unrealengine.com/5.1/en-US/umg-viewmodel/


text:
Update jtl_listener.py

Fix failureMessage

Hi @zhq745w! Thanks for the PR. Looks good to me, hope it will work 😄 .

repo: ludeknovy/jtl-reporter


text:
Make pattern for removal of existing lines more specific

Explicitly match the file name in the second tab-delimited column.
Also, add a "|| true" to handle the case where no lines would be
selected by grep (e.g. after touch tags and only updating a single
file).
TODO:

[ ] do this for plat/win32/update_tags.cmd, too?!
I don't know how `findstr /V /C:"%UPDATED_SOURCE%" "%TAGS_FILE%" > "%TAGS_FILE%.temp"`` would need to be modified though.

Merged, thanks!
Is the --text really needed?

authors: blueyed ludovicchabant

repo: ludovicchabant/vim-gutentags


text:
android linking issue  RN62

almost a fresh installation of RN 62 and I'm getting the following error when trying to link the lib.
info Linking "react-native-config" Android dependency
error Linking "react-native-config" failed. Run CLI with --verbose flag for more details.
Error: ENOENT: no such file or directory, open '.../android/src/main/res/values/strings.xml'
    at Object.openSync (fs.js:457:3)
    at Object.readFileSync (fs.js:359:35)
    at applyPatch (.../node_modules/@react-native-community/cli-platform-android/build/link/patches/applyPatch.js:42:51)
    at Object.registerNativeAndroidModule [as register] (.../node_modules/@react-native-community/cli-platform-android/build/link/registerNativeModule.js:33:27)
    at .../node_modules/@react-native-community/cli/build/commands/link/linkDependency.js:63:16
    at Array.forEach (<anonymous>)
    at linkDependency (/node_modules/@react-native-community/cli/build/commands/link/linkDependency.js:36:32)
    at async Object.link [as func] (.../node_modules/@react-native-community/cli/build/commands/link/link.js:110:5)
    at async Command.handleAction (.../node_modules/@react-native-community/cli/build/index.js:186:9)

react-native-config supports auto-linking starting with v1.0.0, you shouldn't have to do react-native link react-native-config anymore

@lesmo yeah, auto linking is definitely working on IOS but I'm not having any luck with android with manual or auto linking, I'll try again and comment my findings back here..

Yup, auto linking not working in android. I'm using RN 0.61.5

After trying to redo all installation steps, I think I'm missing one crucial step in android (under Extra step for Android)
// 2nd line, add a new apply:
apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"

After applying that line, it works in android

Perhaps this information ought to be added to the readme? It would be helpful to know that the library supports auto-linking

authors: AdamGerthel a-eid archansel lesmo

repo: luggit/react-native-config


text:
Sentinel failover not detected when connection hangs

I have stumbled onto the same issue as these:

https://github.com/luin/ioredis/issues/556
https://github.com/luin/ioredis/issues/1021
https://github.com/luin/ioredis/issues/1059

After some investigating, I concluded that ioredis currently relies on Redis closing the connection as described here
However, when the failover is initiated with the Redis DEBUG SLEEP command or docker pause, the connection simply hangs, but doesn't terminate.
This could be solved by subscribing to sentinel messages on the +switch-master channel. Described in the Sentinel docs as "the message most external users are interested in"
I've created a reproducible example: https://github.com/mjomble/ioredis-sentinel-issue
This example listens to the message outside ioredis.
Once received, it uses internal/undocumented fields to call client.connector.stream.destroy() because redis.disconnect(true) (which calls stream.end()) leaves the connection open in this scenario.
Ideally, this could all happen inside ioredis. I could probably submit a PR if needed.

Hi Andres, thanks for raising this and the detailed explanation! A PR would be welcome.

@luin I'm thinking of two different approaches here:

Listen to the +switch-master message on all sentinels.
Listen to the message only on the first successfully reached sentinel (the same one used to resolve the master).

The first one seems more reliable, but could get complicated when some sentinels are up and some are down. Also, it might not work well with the existing SentinelIterator logic.
The second one should integrate more naturally with SentinelIterator, but might miss the message if the sentinel hangs as well. Which can happen easily if it's on the same machine as the master. Maybe we should add a ping loop to it?
Any thoughts/recommendations?

Yeah it's more complex than I thought. I'd go with subscribing to all sentinels because in case of a partition, as you said, it's very likely that the connected sentinel and the old master are in the same network, so we won’t be able to get events from that sentinel.
As for implementation details, I think SentinelConnector will get a lastActiveSentinel property, which defaults to null. Once a node is resolved, the connector will subscribe to all sentinels provided by user (I don’t think it need to be dynamic in v1 as it seems non-trivial to implement). Not sure if it’s necessary but a reasonable connection count limit may be applied to avoid user provides too many sentinels.
When a +switch-master is received, we set lastActiveSentinel to the one that got the event, and disconnect so Redis#connect() will kick in. Next time SentinelConnector will try lastActiveSentinel (and then reset it) first. Wdyt?
@ohadisraeli @leibale btw do you have any inputs on the correct behaviors about whether clients should subscribe to all sentinels or not? Or may be it should behind an option so users can enable/disable?

Hi, i use the version 4.27.6 and the issue still exists actually. What is the best option to avoid this issue ?

Can you create a reproducible example? Otherwise it's extremely difficult to pinpoint the exact cause of the issue.

Hi, i use the version 4.27.6 and the issue still exists actually. What is the best option to avoid this issue ?

Can you create a reproducible example? Otherwise it's extremely difficult to pinpoint the exact cause of the issue.

Thanks for quick response.
Well steps are :

create a node project with ioredis and a key with ttl and listen to this expiration for example
connect ioredis with a config of at least 2 sentinels ( 1 master 1 slave )
trigger a redis failover on your redis server  ( pass master responsability to slave )
you will see that the listener doesn't continue and stays stuck on the dead sentinel

and listen to this expiration

I'm not familiar with this feature, could you provide a code example?

Are you sure it's the same issue and ioredis fails to detect the failover?
Or could it be that the failover is actually detected and the problem is more specifically about the subscription?
You could try adding extra code, for example something that increments a Redis value every second and logs the new value to the console.
If the listener fails, but the value incrementing still works, then failover detection is fine and you can create a new, more specific issue about the listener.

I think the subscription should be reset to another sentinel if we have a failover.
From my view i think it's related. Maybe I'm wrong you can tell me.

We're seeing this issue in version 5.3.1. I have verified it by gracefully shutting down redis master instance, then new election happens, and sentinel announce new master, our application also creates a new connection to the master, everything works as it should.
I have also tried executing the sleep command on the redis master instance, and that results in the same master election happening, with sentinel announcing new master, but our application does not initiate a reconnect, so commands are still trying to execute against old master.

authors: larsha luin mjomble shifubrams

repo: luin/ioredis


text:
DOWNLOAD_DATA section mandatory

If I want only to claim on my profile it is not possible.
Right now I configured that the download path is /tmp

We could move download path and download formats to CLI parameters (the configuration file is too bulky right now anyway) - but I wouldn't like to do this without @luk6xff consent. What both of you think about that?

Well I don't need to download it so maybe add as not mandatory to use the tool will require a bit of refactoring.

Could you see if #160 resolves your problem? Just install script with pip install git+https://github.com/mjenczmyk/Packt-Publishing-Free-Learning.git@downloader and see if it works for you.

I am getting this error

Thanks, that's on me. I've fixed this and updated the branch, it should work now.

it works :-)

Awesome, have you checked that you can also download products without AntiCaptcha settings? If so, I'd be able to merge then.


text:
Support for Graceful Shutdown in @SchedulerLock

Is your feature request related to a problem? Please describe.
When utilizing @SchedulerLock, we registered TaskScheduler as a Spring Bean and set setAwaitTerminationSeconds.

Upon receiving the SIGTERM signal
the scheduled job terminates,
attempts to release the lock,
encounters a LockException during the release process
however, despite the exception, the lock is successfully released.

Describe the solution you'd like
It would be nice if @SchedulerLock supported graceful shtudown.
Or if there are other alternatives I'm missing, I'd love to hear about them.
Additional context

@Scheduled(fixedDelay = 1000 * 11)
    @SchedulerLock(name = "run3", lockAtLeastFor = "PT10S", lockAtMostFor = "PT10S")
    fun run3(){
        LockAssert.assertLocked();
        logger.info { "Hello ScheduledTask3 - processing!" }
        val result = RestTemplate().getForEntity<String>("http://httpbin.org/delay/10")
        logger.info { "Hello ScheduledTask3 - done!" }
    }

@Configuration
class ScheduledConfig {

    @Bean
    fun scheduledThreadPool(): TaskScheduler{
        val taskScheduler = ThreadPoolTaskScheduler()
        taskScheduler.poolSize = 10
        taskScheduler.setThreadNamePrefix("custom-name")
        taskScheduler.setAwaitTerminationSeconds(20)
        taskScheduler.setWaitForTasksToCompleteOnShutdown(true)
        return taskScheduler
    }
}

Hi, can you please share the whole exception stack trace?

Sorry for the confusion earlier, the full stack trace is below.
2024-05-05T23:14:10.225+09:00  INFO 14440 --- [   custom-name2] com.example.study.log.Logging            : Hello ScheduledTask4 - processing!
2024-05-05T23:14:12.039+09:00  INFO 14440 --- [ionShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown        : Commencing graceful shutdown. Waiting for active requests to complete
2024-05-05T23:14:12.044+09:00  INFO 14440 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown        : Graceful shutdown complete
2024-05-05T23:14:20.705+09:00  INFO 14440 --- [   custom-name2] com.example.study.log.Logging            : Hello ScheduledTask4 - done!
2024-05-05T23:14:20.707+09:00 ERROR 14440 --- [   custom-name2] o.s.s.s.TaskUtils$LoggingErrorHandler    : Unexpected error occurred in scheduled task

net.javacrumbs.shedlock.support.LockException: Can not remove node
	at net.javacrumbs.shedlock.provider.redis.spring.RedisLockProvider$RedisLock.doUnlock(RedisLockProvider.java:143) ~[shedlock-provider-redis-spring-5.13.0.jar:na]
	at net.javacrumbs.shedlock.core.AbstractSimpleLock.unlock(AbstractSimpleLock.java:30) ~[shedlock-core-5.13.0.jar:na]
	at net.javacrumbs.shedlock.core.DefaultLockingTaskExecutor.executeWithLock(DefaultLockingTaskExecutor.java:75) ~[shedlock-core-5.13.0.jar:na]
	at net.javacrumbs.shedlock.spring.aop.MethodProxyScheduledLockAdvisor$LockingInterceptor.invoke(MethodProxyScheduledLockAdvisor.java:79) ~[shedlock-spring-5.13.0.jar:na]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.0.9.jar:6.0.9]
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-6.0.9.jar:6.0.9]
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:702) ~[spring-aop-6.0.9.jar:6.0.9]
	at com.example.study.scheduled.ScheduledTask$$SpringCGLIB$$0.run4(<generated>) ~[main/:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
	at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84) ~[spring-context-6.0.9.jar:6.0.9]
	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-6.0.9.jar:6.0.9]
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[na:na]
	at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[na:na]
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[na:na]
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
	at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]
Caused by: org.springframework.data.redis.RedisSystemException: Redis command interrupted
	at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:60) ~[spring-data-redis-3.1.0.jar:3.1.0]
	at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41) ~[spring-data-redis-3.1.0.jar:3.1.0]
	at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:40) ~[spring-data-redis-3.1.0.jar:3.1.0]
	at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) ~[spring-data-redis-3.1.0.jar:3.1.0]
	at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:248) ~[spring-data-redis-3.1.0.jar:3.1.0]
	at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:961) ~[spring-data-redis-3.1.0.jar:3.1.0]
	at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$4(LettuceConnection.java:818) ~[spring-data-redis-3.1.0.jar:3.1.0]
	at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665) ~[spring-data-redis-3.1.0.jar:3.1.0]
	at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:94) ~[spring-data-redis-3.1.0.jar:3.1.0]
	at org.springframework.data.redis.connection.lettuce.LettuceKeyCommands.del(LettuceKeyCommands.java:91) ~[spring-data-redis-3.1.0.jar:3.1.0]
	at org.springframework.data.redis.connection.DefaultedRedisConnection.del(DefaultedRedisConnection.java:100) ~[spring-data-redis-3.1.0.jar:3.1.0]
	at org.springframework.data.redis.connection.DefaultStringRedisConnection.del(DefaultStringRedisConnection.java:307) ~[spring-data-redis-3.1.0.jar:3.1.0]
	at org.springframework.data.redis.core.RedisTemplate.lambda$delete$5(RedisTemplate.java:588) ~[spring-data-redis-3.1.0.jar:3.1.0]
	at org.springframework.data.redis.core.RedisTemplate.lambda$doWithKeys$22(RedisTemplate.java:785) ~[spring-data-redis-3.1.0.jar:3.1.0]
	at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:406) ~[spring-data-redis-3.1.0.jar:3.1.0]
	at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:373) ~[spring-data-redis-3.1.0.jar:3.1.0]
	at org.springframework.data.redis.core.RedisTemplate.doWithKeys(RedisTemplate.java:785) ~[spring-data-redis-3.1.0.jar:3.1.0]
	at org.springframework.data.redis.core.RedisTemplate.delete(RedisTemplate.java:588) ~[spring-data-redis-3.1.0.jar:3.1.0]
	at net.javacrumbs.shedlock.provider.redis.spring.RedisLockProvider$RedisLock.doUnlock(RedisLockProvider.java:141) ~[shedlock-provider-redis-spring-5.13.0.jar:na]
	... 19 common frames omitted
Caused by: io.lettuce.core.RedisCommandInterruptedException: Command interrupted
	at io.lettuce.core.protocol.AsyncCommand.await(AsyncCommand.java:87) ~[lettuce-core-6.2.4.RELEASE.jar:6.2.4.RELEASE]
	at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:244) ~[lettuce-core-6.2.4.RELEASE.jar:6.2.4.RELEASE]
	at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74) ~[lettuce-core-6.2.4.RELEASE.jar:6.2.4.RELEASE]
	at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:959) ~[spring-data-redis-3.1.0.jar:3.1.0]
	... 32 common frames omitted
Caused by: java.lang.InterruptedException: null
	at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:386) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096) ~[na:na]
	at io.lettuce.core.protocol.AsyncCommand.await(AsyncCommand.java:83) ~[lettuce-core-6.2.4.RELEASE.jar:6.2.4.RELEASE]
	... 35 common frames omitted

Process finished with exit code 130

Hi, as you can see from the stack-trace, ShedLock tried to unlock the lock, but the thread was interrupted (most likely due to the shutdown). There is not much we can do.

Thank you for your response.
As for the direction you recommend, should I provide control for graceful shutdown in the code that uses the library?

You can try the trick described here

TrackingLockProviderWrapper should help you

authors: Junuu lukas-krecan

repo: lukas-krecan/ShedLock


text:
Fix storage directory

The certs get put in the following directory structure
/etc/letsencrypt.sh/certs/{some.domain}
/etc/letsencrypt.sh/certs/{other.domain}
I have a requirement to keep them in one directory which is not dictated by the domain names. This is handy in circumstances when the server with letsencrypt may not actually use the certificates itself.
The fix is quite easy - I can do a pull request but wanted you to check the following and see if it would be accepted:
in config.sh add variable if required:
LOCDIR="storage"
In letsencrypt.sh add the following line - defaults to domain name if LOCDIR not set:
Create certificate for domain(s)
sign_domain() {
domain="${1}"

locdir="${LOCDIR:-$domain}"

Replace all instances of
/certs/${domain}
with
/certs/${LOCDIR}

You can use hooks to move certificates to other directories or even upload them to other servers, whatever you need.

Would it be possible to include an example in hook.sh.example of how to move these automatically to /etc/ssl/private?  It'd greatly help us noobs.  Thanks!

@the-solipsist there are some examples in the wiki, i may add more, but in the repository i want to keep the hook example as clean as possible

authors: lukas2511 reetp the-solipsist


text:
[FEATURE REQUEST] - Support for dynamic table templates

Hey! Thank you for a great library!
I'm just wondering is that even possible to implement such replacing?
Reference: https://plumsail.com/docs/documents/v1.x/document-generation/docx/tables.html
Let me know if contribution would be helpful.

Sorry for bothering, just found your answer on similar issue that this is kinda not the aim of this lib.
Best regards.

repo: lukasjarosch/go-docx


text:
How to convert QrImage to Image?

May I know How to convert QrImage to Image?

If you want to save the on screen representation then you can use a RepaintBoundary as described in #4.
If you want to save a QR code to a file, I just added some additional methods to QrPainter. Please see the test folder for an example.


text:
phpunit.xml database connection ignored after this plugin installation

Hi Luke,
I really like your videos on youtube and was impressed with the talk on Laracone EU so started playing around with Higher Order Tests.
To resolve the route helper I installed the plugin and it works :)
But rain into a problem as now the test communicates with the local DB instead of the test DB.
Please can you let me know is this expected behaviour or if I missed some information?

Same issue here - seems like the settings in phpunit.xml is ignored

Same issue here, I cannot get pest to use the .env.testing with this installed.

I was able to get this working by adding a line in the CreatesApplication.php trait to force loading .env.testing:
<?php

namespace Tests;

use Illuminate\Contracts\Console\Kernel;
use Illuminate\Foundation\Application;

trait CreatesApplication
{
    /**
     * Creates the application.
     */
    public function createApplication(): Application
    {
        $app = require __DIR__.'/../bootstrap/app.php';

        $app->loadEnvironmentFrom('.env.testing');

        $app->make(Kernel::class)->bootstrap();

        return $app;
    }
}

authors: abdulwahhabkhan rabol swilla


text:
clumsy: Add version 0.2

clumsy makes your network condition on Windows significantly worse, but in a managed and interactive manner.
Fantastic for network testing games or other software

Thank you for the suggestions, still learning how these things should work!

/verify

repo: lukesampson/scoop-extras

license: Unlicense


text:
curl Hash check failed

Trying to install curl on a clean system and running into this issue:
PS C:\Users\ashrith> scoop install curl
Installing 'curl' (7.53.1).
download_file (1.7 MB) [======================================================================================] 100%
Checking hash of download_file... Hash check failed for 'https://bintray.com/vszakats/generic/download_file?file_path=cu
rl-7.53.1-win32-mingw.7z#/dl.7z'.
Expected:
    b4c4cfefae904d80457c503bda752a2391a1c9e303bbcb2fbc86799c3a0ce823
Actual:
    5c80c85c2b9c338827145e7890c275b63991512d11901dea4ddbc1d1074a3b1b

Although, other packages such as git, 7zip, openssh and others are working as expected. I did tried scoop update.
Thanks!

Thanks, that fixed the issue.

repo: lukesampson/scoop

license: unlicense


text:
Cannot install yarn

I cannot install yarn with the scoop install yarn command:

This is the error:
Installing 'yarn' (1.1.0).
yarn-1.1.0.msi (1,2 MB)
Checking hash of yarn-1.1.0.msi... ok.
Extracting... % : The term 'local:run' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At C:\Users\jelle\scoop\apps\scoop\current\libexec\scoop-install.ps1:107 char:9
+ $apps | % { install_app $_ $architecture $global $suggested $use_cach ...
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (local:run:String) [ForEach-Object], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException,Microsoft.PowerShell.Commands.ForEachObjectCommand

I'm running Windows 10 with PowerShell version 5.

Did you set set-executionpolicy remotesigned -s cu?
Does it happen after restarting powershell and trying it again? Maybe related to https://github.com/lukesampson/scoop/issues/1721

Error changed after the set-executionpolicy command:
$ scoop install yarn
Installing 'yarn' (1.1.0).
Loading yarn-1.1.0.msi from cache
Checking hash of yarn-1.1.0.msi... ok.
Extracting... run : The term 'local:run' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At C:\Users\jelle\scoop\apps\scoop\current\lib\install.ps1:567 char:11
+     $ok = run 'msiexec' @('/a', "`"$path`"", '/qn', "TARGETDIR=`"$to` ...
+           ~~~
    + CategoryInfo          : ObjectNotFound: (local:run:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Failed to extract files from C:\Users\jelle\scoop\apps\yarn\1.1.0\yarn-1.1.0.msi.
Log file:
  ~\scoop\apps\yarn\1.1.0\msi.log

But the ~\scoop\apps\yarn\1.1.0\msi.log file is not there...

Hm, I can't figure out why it doesn't know about the run() function which is also located in the install.ps1 (line 476). Realy strange. Did you run set-executionpolicy from an elevated powershell and then restarted it?

Yes, both. Ran it in a normal PowerShell and also in an elevated PowerShell.

Can you try running . C:\Users\jelle\scoop\apps\scoop\current\libexec\scoop-install.ps1 and then Get-ChildItem function:? The output should look somewhat like this:
...
Function        rm_shim
Function        rm_shims
Function        rm_startmenu_shortcuts
Function        run
Function        run_installer
Function        run_uninstaller
Function        runtime_deps
...

Does it install now?

Thanks for the responses b.t.w. ...

Cool, I would never have guessed it was a problem with a local alias 😁

I could reproduce it. It seems to be a problem with reset_alias().


text:
QUESTION: Why scoop is not available after install?

I am new to scoop and trying to use it to automate server environment setup.
I am installing scoop via Octopus Deploy on target server. Later when attempting to run scoop install <app> it is not available as if not installed...  My script triggers new install, which fails as then it detects that it is already installed...
My Question: How scoop is being "loaded"? What could be the reason it is not being recongised after install? Octopus Deploy is using the same system account to install and run commands later...
How could I fix this - Can I force scoop load explicitly, if it is powershell module?
Thanks!

Scoop "installer" detect installed scoop via these functions. Basicly only when he found $env:SCOOP\apps\scoop folder
https://github.com/lukesampson/scoop/blob/cef103bf469e1494c35703c8411d47c88236db24/bin/install.ps1#L35-L40
https://github.com/lukesampson/scoop/blob/cef103bf469e1494c35703c8411d47c88236db24/lib/core.ps1#L90-L97
Could you share your script??

Thanks for your response. Yes, it detects the installation via the environment variable, however when attempting to call scoop it is not available so my question is how does scoop "bootstaps" its self? Is is via PowerShell profile?...

It uses custom shim inside $env:SCOOP\shims\. After scoop download all neded file it shim itself and append shims folder into path.
https://github.com/lukesampson/scoop/blob/cef103bf469e1494c35703c8411d47c88236db24/bin/install.ps1#L55-L59

That is the confirmation I was looking for - I shall check if the shims is properly added to path.

Alternatively, the issue might be because it is being run under system privileged account...


text:
What do you mean "using"?

Like which chat application? OS? browser?

I updated the README to explain this more a bit. This is an API to interface with Slack as a "Slash Command."

To add some more information, once you setup a "Slash Command" (I'll add docs later when it's more stable) you can use it within slack. Here's an example of what happens if you run /using (or whatever you set it to! Slack lets you pick the name)

You can basically use this for a string-storage within Slack. You could name the command save if you wanted to.
/save key value can be a lot of characters

authors: elimisteve lukevers

repo: lukevers/who-is-using-what


text:
Improvement: dottyVersion in ThisBuild

When one selects a project to work with via setActiveExerciseNo the fresh build.sbt has no scalaVersion set up, this it falls back to Scala 2.12. With the proposed improvement:

dottyVersion belongs to CommonSettings
scalaVersion is set at the aggregate project level with ThisBuild so is propagated to all the aggregated projects.

@eloots thank you for the suggestion. Committed.


text:
clean the temp file after the run

I have ended up with lots of folders. the temp files remain in place after the tool finishes running.

What temp files, and where are they left?

This one:
51 # this will create a directory with a random name, e.g. /tmp/mergin-work-packages-w7tbsyd7
52 tmp_dir = tempfile.mkdtemp(prefix="mergin-work-packages-")

authors: dracic saberraz wonder-sk

repo: lutraconsulting/mergin-work-packages


text:
DaVinci om subgraph visualize

.
solve the problem of DaVinci om subgraph visualization.
hwhiaimodel-subgraph.zip

this model:
hwhiaimodel-subgraph.zip.
subgraph before changes:
.
subgraph after changes:
.

It can select subgraph.

repo: lutzroeder/netron


text:
Update WLS Example to Work Off of Gen2

This example shows how to use WLS filtering on Gen1.  Now that Gen2 is going mainstream we should update it to use Gen2.
https://github.com/luxonis/depthai-experiments#host-side-wls-filter-here

Implemented here: https://github.com/luxonis/depthai-experiments/tree/master/gen2-wls-filter

repo: luxonis/depthai-experiments


text:
Generate a java.util.Properties instance from a owner.Config instance?

Use case:

use owner library for loading and validating properties from various sources,
pass it to 3rd party library which requires an argument of type java.util.Properties (i.e. conversion from Config type required).

It seems to me to be an obvious use case, and I've been reading the docs for a while, as well as skimming the source. Maybe I have not looked closely enough. But I found no answer.

Hi @vincentk,
you want to obtain a java.util.Properties from a config Object, right? The Accessible.fill(java.util.Map) method should help.
Properties props = new Properties(); // Properties extends Map

// MyConfig should extend from Accessible
MyConfig cfg = ConfigFactory.create(MyConfig.class);
cfg.fill(props);
// now props is filled with the content of the Config object.

Try and let me know.

authors: lviggiano vincentk

repo: lviggiano/owner


text:
lxd.migrate on LXD 4.0 LTS from LXD 3.0 LTS doesn't correctly convert volume snapshot DB records

Upgrading to LXD 4.0 LTS is a required step to get from LXD 3.0 LTS to LXD 5.0 LTS.
LXD 4.0 introduced the storage_volumes_snapshots table. However lxd.migrate from LXD 3.0.3 to LXD 4.0.9 doesn't convert the old volume snapshot records into the new table.
Create Bionic VM with LXD 3.0 LTS and create some instance snapshots:
lxc launch images:ubuntu/bionic vtest --vm
lxc shell vtest
apt install lxd
lxd init --auto
lxc init images:alpine/3.17 c1
lxc snapshot c1
lxc snapshot c1
lxd sql global 'select * from storage_volumes'
+----+----------+-----------------+---------+------+-------------+
| id |   name   | storage_pool_id | node_id | type | description |
+----+----------+-----------------+---------+------+-------------+
| 1  | c1       | 1               | 1       | 0    |             |
| 2  | c1/snap0 | 1               | 1       | 0    |             |
| 3  | c1/snap1 | 1               | 1       | 0    |             |
+----+----------+-----------------+---------+------+-------------+

Upgrade to LXD 4.0 LTS:
apt install snapd -y;
snap install lxd --channel=4.0/stable

lxd.migrate
=> Connecting to source server
=> Connecting to destination server
=> Running sanity checks

=== Source server
LXD version: 3.0.3
LXD PID: 2553
Resources:
  Containers: 1
  Images: 1
  Networks: 1
  Storage pools: 1

=== Destination server
LXD version: 4.0.9
LXD PID: 2893
Resources:
  Containers: 0
  Images: 0
  Networks: 0
  Storage pools: 0

The migration process will shut down all your containers then move your data to the destination LXD.
Once the data is moved, the destination LXD will start and apply any needed updates.
And finally your containers will be brought back to their previous state, completing the migration.

Are you ready to proceed (yes/no) [default=no]? yes
=> Shutting down the source LXD
=> Stopping the source LXD units
=> Stopping the destination LXD unit
=> Unmounting source LXD paths
=> Unmounting destination LXD paths
=> Wiping destination LXD clean
=> Backing up the database
=> Moving the data
=> Updating the storage backends
=> Starting the destination LXD
=> Waiting for LXD to come online

=== Destination server
LXD version: 4.0.9
LXD PID: 3258
Resources:
  Containers: 1
  Images: 1
  Networks: 1
  Storage pools: 1

The migration is now complete and your containers should be back online.
Do you want to uninstall the old LXD (yes/no) [default=yes]? yes

All done. You may need to close your current shell and open a new one to have the "lxc" command work.
To migrate your existing client configuration, move ~/.config/lxc to ~/snap/lxd/common/config

Check if the snapshots in storage_volumes have been moved to storage_volumes_snapshots:
lxc ls
+------+---------+------+------+-----------+-----------+
| NAME |  STATE  | IPV4 | IPV6 |   TYPE    | SNAPSHOTS |
+------+---------+------+------+-----------+-----------+
| c1   | STOPPED |      |      | CONTAINER | 2         |
+------+---------+------+------+-----------+-----------+

lxd sql global 'select * from storage_volumes'
+----+----------+-----------------+---------+------+-------------+------------+
| id |   name   | storage_pool_id | node_id | type | description | project_id |
+----+----------+-----------------+---------+------+-------------+------------+
| 1  | c1       | 1               | 1       | 0    |             | 1          |
| 2  | c1/snap0 | 1               | 1       | 0    |             | 1          |
| 3  | c1/snap1 | 1               | 1       | 0    |             | 1          |
+----+----------+-----------------+---------+------+-------------+------------+

lxd sql global 'select * from storage_volumes_snapshots'
+----+-------------------+------+-------------+-------------+
| id | storage_volume_id | name | description | expiry_date |
+----+-------------------+------+-------------+-------------+
+----+-------------------+------+-------------+-------------+

Nope.
Furthermore if you then upgrade to LXD 5.0 LTS, it notices this discrepancy and adds the missing entries (as best it can) to storage_volumes_snapshots, but the old records in storage_volumes still remain.

I'm thinking we should add a patch in LXD 5.0 to detect these erroneous records and move/delete them.

Yeah, so not so much an issue in lxd.migrate itself (which we can change easily enough) so much as missing DB schema/patches to properly migrate the data.
Anyway, yeah, it'd make sense to add a DB patch to modern LXD to cleanup any leftovers.

Well except I don't think its an issue with LXD 4.0 patches as such, because the workflow is:
apt install lxd
lxd init --auto
lxc launch images:alpine/3.17 c1
lxc snapshot c1
snap install lxd --channel=4.0/stable
lxd.migrate

So when LXD 4.0 is installed, its effectively a fresh install and so the patches that run don't need to do anything as there's nothing in the database at that point.
Instead I think there must be an issue with how `lxd.migrate (in LXD 4.0) transfers the existing snapshot records from LXD 3.0 to  LXD 4.0.
I've not looked into it yet, so not sure what mechanism it uses to transfer the records, but it maybe that lxd.migrate needs to recognise the old snapshots in storage_volumes and then send them to LXD 4.0 as records for storage_volumes_snapshots.

Right I see. Good to know thanks

The only special handling in lxd.migrate is updating any path that's got /var/lib/lxd in it with /var/snap/lxd/common/lxd which mostly applies for ZFS because of the mountpoints.

authors: stgraber tomponline

repo: lxc/lxd


text:
beta4 : APT failed

E: Sub-process /usr/bin/dpkg returned an error code (1)
Required information

Distribution: Ubuntu
Distribution version: 14.04
The output of "lxc info" or if that fails:

Kernel version: 3.19
LXC version: beta3 to beta4
LXD version: beta3 to beta4
Storage backend in use: ext4

Steps to reproduce
sudo apt-get install lxd lxd-client
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Le paquet suivant a été installé automatiquement et n'est plus nécessaire :
  libllvm3.4:i386
Veuillez utiliser « apt-get autoremove » pour le supprimer.
Paquets suggérés :
  criu lxd-tools
Les paquets suivants seront mis à jour :
  lxd lxd-client
2 mis à jour, 0 nouvellement installés, 0 à enlever et 10 non mis à jour.
Il est nécessaire de prendre 5 807 ko dans les archives.
Après cette opération, 50,2 ko d'espace disque supplémentaires seront utilisés.
Réception de : 1 http://ppa.launchpad.net/ubuntu-lxc/lxd-stable/ubuntu/ trusty/main lxd amd64 2.0.0~beta4-0ubuntu1~ubuntu14.04.1~ppa1 [3 994 kB]
Réception de : 2 http://ppa.launchpad.net/ubuntu-lxc/lxd-stable/ubuntu/ trusty/main lxd-client amd64 2.0.0~beta4-0ubuntu1~ubuntu14.04.1~ppa1 [1 814 kB]
5 807 ko réceptionnés en 8s (720 ko/s)
Préconfiguration des paquets...
(Lecture de la base de données... 332869 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../lxd_2.0.0~beta4-0ubuntu1~ubuntu14.04.1~ppa1_amd64.deb ...
lxd stop/waiting
postinst called with unknown argument `upgrade'
dpkg: erreur de traitement de l'archive /var/cache/apt/archives/lxd_2.0.0~beta4-0ubuntu1~ubuntu14.04.1~ppa1_amd64.deb (--unpack) :
 le sous-processus nouveau script pre-installation a retourné une erreur de sortie d'état 1
lxd start/running, process 27466
Préparation du dépaquetage de .../lxd-client_2.0.0~beta4-0ubuntu1~ubuntu14.04.1~ppa1_amd64.deb ...
Dépaquetage de lxd-client (2.0.0~beta4-0ubuntu1~ubuntu14.04.1~ppa1) sur (2.0.0~beta3-0ubuntu4~ubuntu14.04.1~ppa1) ...
Traitement des actions différées (« triggers ») pour man-db (2.6.7.1-1ubuntu1) ...
Des erreurs ont été rencontrées pendant l'exécution :
 /var/cache/apt/archives/lxd_2.0.0~beta4-0ubuntu1~ubuntu14.04.1~ppa1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

To fix:
apt-get remove lxd lxd-client
apt-get install lxd lxd-client

Maybe the order of installation cause this bug: lxd-client beta4 before lxd beta4

That was fixed with 0ubuntu2, sorry about this.

authors: aarnaud stgraber


text:
containers-snapshots: is a directory

Required information

Distribution: Ubuntu
Distribution version:  18.04.2 LTS
The output of

lxc-start --version 3.0.3
lxc-checkconfig

Kernel configuration not found at /proc/config.gz; searching...
Kernel configuration found at /boot/config-4.15.0-47-generic
--- Namespaces ---
Namespaces: enabled
Utsname namespace: enabled
Ipc namespace: enabled
Pid namespace: enabled
User namespace: enabled
Network namespace: enabled

--- Control groups ---
Cgroups: enabled

Cgroup v1 mount points:
/sys/fs/cgroup/systemd
/sys/fs/cgroup/hugetlb
/sys/fs/cgroup/perf_event
/sys/fs/cgroup/net_cls,net_prio
/sys/fs/cgroup/devices
/sys/fs/cgroup/blkio
/sys/fs/cgroup/cpu,cpuacct
/sys/fs/cgroup/freezer
/sys/fs/cgroup/memory
/sys/fs/cgroup/rdma
/sys/fs/cgroup/cpuset
/sys/fs/cgroup/pids

Cgroup v2 mount points:
/sys/fs/cgroup/unified

Cgroup v1 clone_children flag: enabled
Cgroup device: enabled
Cgroup sched: enabled
Cgroup cpu account: enabled
Cgroup memory controller: enabled
Cgroup cpuset: enabled

--- Misc ---
Veth pair device: enabled, not loaded
Macvlan: enabled, not loaded
Vlan: enabled, not loaded
Bridges: enabled, not loaded
Advanced netfilter: enabled, not loaded
CONFIG_NF_NAT_IPV4: enabled, loaded
CONFIG_NF_NAT_IPV6: enabled, loaded
CONFIG_IP_NF_TARGET_MASQUERADE: enabled, loaded
CONFIG_IP6_NF_TARGET_MASQUERADE: enabled, not loaded
CONFIG_NETFILTER_XT_TARGET_CHECKSUM: enabled, loaded
CONFIG_NETFILTER_XT_MATCH_COMMENT: enabled, loaded
FUSE (for use with lxcfs): enabled, not loaded

--- Checkpoint/Restore ---
checkpoint restore: enabled
CONFIG_FHANDLE: enabled
CONFIG_EVENTFD: enabled
CONFIG_EPOLL: enabled
CONFIG_UNIX_DIAG: enabled
CONFIG_INET_DIAG: enabled
CONFIG_PACKET_DIAG: enabled
CONFIG_NETLINK_DIAG: enabled
File capabilities:

Note : Before booting a new kernel, you can check its configuration
usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig

uname -a Linux eng-server 4.15.0-47-generic #50-Ubuntu SMP Wed Mar 13 10:44:52 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
cat /proc/self/cgroup

12:pids:/user.slice/user-1001.slice/session-10.scope
11:cpuset:/
10:rdma:/
9:memory:/user.slice
8:freezer:/
7:cpu,cpuacct:/user.slice
6:blkio:/user.slice
5:devices:/user.slice
4:net_cls,net_prio:/
3:perf_event:/
2:hugetlb:/
1:name=systemd:/user.slice/user-1001.slice/session-10.scope
0::/user.slice/user-1001.slice/session-10.scope

cat /proc/1/mounts

sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
udev /dev devtmpfs rw,nosuid,relatime,size=8177556k,nr_inodes=2044389,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=1641672k,mode=755 0 0
/dev/md0 / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0
tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0
tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,mode=755 0 0
cgroup /sys/fs/cgroup/unified cgroup2 rw,nosuid,nodev,noexec,relatime 0 0
cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,name=systemd 0 0
pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0
cgroup /sys/fs/cgroup/hugetlb cgroup rw,nosuid,nodev,noexec,relatime,hugetlb 0 0
cgroup /sys/fs/cgroup/perf_event cgroup rw,nosuid,nodev,noexec,relatime,perf_event 0 0
cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,nosuid,nodev,noexec,relatime,net_cls,net_prio 0 0
cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0
cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0
cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpu,cpuacct 0 0
cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0
cgroup /sys/fs/cgroup/memory cgroup rw,nosuid,nodev,noexec,relatime,memory 0 0
cgroup /sys/fs/cgroup/rdma cgroup rw,nosuid,nodev,noexec,relatime,rdma 0 0
cgroup /sys/fs/cgroup/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset 0 0
cgroup /sys/fs/cgroup/pids cgroup rw,nosuid,nodev,noexec,relatime,pids 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=26,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=19771 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
mqueue /dev/mqueue mqueue rw,relatime 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,relatime,pagesize=2M 0 0
configfs /sys/kernel/config configfs rw,relatime 0 0
fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0
/dev/loop0 /snap/core/6818 squashfs ro,nodev,relatime 0 0
/dev/loop1 /snap/core/6964 squashfs ro,nodev,relatime 0 0
/dev/loop2 /snap/lxd/10756 squashfs ro,nodev,relatime 0 0
/dev/loop4 /snap/lxd/10923 squashfs ro,nodev,relatime 0 0
/dev/loop3 /snap/core/6673 squashfs ro,nodev,relatime 0 0
tmpfs /run/snapd/ns tmpfs rw,nosuid,noexec,relatime,size=1641672k,mode=755 0 0
nsfs /run/snapd/ns/lxd.mnt nsfs rw 0 0
tmpfs /var/snap/lxd/common/ns tmpfs rw,relatime,size=1024k,mode=700 0 0
nsfs /var/snap/lxd/common/ns/shmounts nsfs rw 0 0
nsfs /var/snap/lxd/common/ns/mntns nsfs rw 0 0
tmpfs /run/user/1001 tmpfs rw,nosuid,nodev,relatime,size=1641668k,mode=700,uid=1001,gid=1001 0 0
lxcfs /var/lib/lxcfs fuse.lxcfs rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other 0 0

Issue description
Any lxd command hangs. Ex:
$ lxc --debug list
DBUG[06-18|08:07:11] Connecting to a local LXD over a Unix socket
DBUG[06-18|08:07:11] Sending request to LXD                   method=GET url=http://unix.socket/1.0 etag=

The system stop working around 8pm yesterday. Could this be due to an update of the core snap ?
$ snap changes
ID   Status  Spawn                   Ready                   Summary
35   Done    yesterday at 20:01 EDT  yesterday at 20:01 EDT  Auto-refresh snap "lxd"
36   Done    yesterday at 22:48 EDT  yesterday at 22:48 EDT  Running service command

Also I'm seeing the error Failed to setup shmounts, continuing without in the journal. Is it normal ?
Information to attach

[ ] any relevant kernel output (dmesg)
[ ] container log (The  file from running lxc-start -n <c> -l <log> -o DEBUG)
[ ] the containers configuration file
[ ] Main daemon log (/var/snap/lxd/common/lxd/logs/lxd.log)

t=2019-06-18T00:31:14-0400 lvl=info msg="LXD 3.14 is starting in normal mode" path=/var/snap/lxd/common/lxd
t=2019-06-18T00:31:14-0400 lvl=info msg="Kernel uid/gid map:"
t=2019-06-18T00:31:14-0400 lvl=info msg=" - u 0 0 4294967295"
t=2019-06-18T00:31:14-0400 lvl=info msg=" - g 0 0 4294967295"
t=2019-06-18T00:31:14-0400 lvl=info msg="Configured LXD uid/gid map:"
t=2019-06-18T00:31:14-0400 lvl=info msg=" - u 0 1000000 1000000000"
t=2019-06-18T00:31:14-0400 lvl=info msg=" - g 0 1000000 1000000000"
t=2019-06-18T00:31:14-0400 lvl=warn msg="CGroup memory swap accounting is disabled, swap limits will be ignored."
t=2019-06-18T00:31:14-0400 lvl=info msg="Kernel features:"
t=2019-06-18T00:31:14-0400 lvl=info msg=" - netnsid-based network retrieval: no"
t=2019-06-18T00:31:14-0400 lvl=info msg=" - uevent injection: no"
t=2019-06-18T00:31:14-0400 lvl=info msg=" - seccomp listener: no"
t=2019-06-18T00:31:14-0400 lvl=info msg=" - unprivileged file capabilities: yes"
t=2019-06-18T00:31:14-0400 lvl=info msg=" - shiftfs support: no"
t=2019-06-18T00:31:14-0400 lvl=info msg="Initializing local database"
t=2019-06-18T00:31:14-0400 lvl=info msg="Starting /dev/lxd handler:"
t=2019-06-18T00:31:14-0400 lvl=info msg=" - binding devlxd socket" socket=/var/snap/lxd/common/lxd/devlxd/sock
t=2019-06-18T00:31:14-0400 lvl=info msg="REST API daemon:"
t=2019-06-18T00:31:14-0400 lvl=info msg=" - binding Unix socket" inherited=true socket=/var/snap/lxd/common/lxd/unix.socket
t=2019-06-18T00:31:14-0400 lvl=info msg="Initializing global database"
t=2019-06-18T00:31:14-0400 lvl=info msg="Initializing storage pools"
t=2019-06-18T00:31:14-0400 lvl=info msg="Applying patch: storage_api_rename_container_snapshots_dir_again"
t=2019-06-18T00:31:15-0400 lvl=eror msg="Failed to start the daemon: open /var/snap/lxd/common/lxd/storage-pools/default/containers-snapshots: is a directory"
t=2019-06-18T00:31:15-0400 lvl=info msg="Starting shutdown sequence"
t=2019-06-18T00:31:15-0400 lvl=info msg="Stopping REST API handler:"
t=2019-06-18T00:31:15-0400 lvl=info msg=" - closing socket" socket=/var/snap/lxd/common/lxd/unix.socket
t=2019-06-18T00:31:15-0400 lvl=info msg="Stopping /dev/lxd handler:"
t=2019-06-18T00:31:15-0400 lvl=info msg=" - closing socket" socket=/var/snap/lxd/common/lxd/devlxd/sock
t=2019-06-18T00:31:15-0400 lvl=info msg="Closing the database"
t=2019-06-18T00:31:15-0400 lvl=info msg="Unmounting temporary filesystems"
t=2019-06-18T00:31:15-0400 lvl=info msg="Done unmounting temporary filesystems"

[x] journalctl -u snap.lxd.daemon.service

Jun 17 20:01:27 eng-server lxd.daemon[17703]: => Stop reason is: snap refresh
Jun 17 20:01:27 eng-server lxd.daemon[17703]: => Stopping LXD
Jun 17 20:01:28 eng-server systemd[1]: Stopped Service for snap application lxd.daemon.
Jun 17 20:01:32 eng-server systemd[1]: Started Service for snap application lxd.daemon.
Jun 17 20:01:32 eng-server lxd.daemon[17906]: => Preparing the system
Jun 17 20:01:32 eng-server lxd.daemon[17906]: ==> Loading snap configuration
Jun 17 20:01:32 eng-server lxd.daemon[17906]: ==> Setting up mntns symlink (mnt:[4026533408])
Jun 17 20:01:32 eng-server lxd.daemon[17906]: ==> Setting up persistent shmounts path
Jun 17 20:01:33 eng-server lxd.daemon[17906]: ====> Failed to setup shmounts, continuing without
Jun 17 20:01:33 eng-server lxd.daemon[17906]: ====> Making LXD shmounts use the persistent path
Jun 17 20:01:33 eng-server lxd.daemon[17906]: ====> Making LXCFS use the persistent path
Jun 17 20:01:33 eng-server lxd.daemon[17906]: ==> Setting up kmod wrapper
Jun 17 20:01:33 eng-server lxd.daemon[17906]: ==> Preparing /boot
Jun 17 20:01:33 eng-server lxd.daemon[17906]: ==> Preparing a clean copy of /run
Jun 17 20:01:33 eng-server lxd.daemon[17906]: ==> Preparing a clean copy of /etc
Jun 17 20:01:33 eng-server lxd.daemon[17906]: ==> Setting up ceph configuration
Jun 17 20:01:33 eng-server lxd.daemon[17906]: ==> Setting up LVM configuration
Jun 17 20:01:33 eng-server lxd.daemon[17906]: ==> Rotating logs
Jun 17 20:01:33 eng-server lxd.daemon[17906]: ==> Setting up ZFS (0.7)
Jun 17 20:01:33 eng-server lxd.daemon[17906]: ==> Escaping the systemd cgroups
Jun 17 20:01:33 eng-server lxd.daemon[17906]: ==> Escaping the systemd process resource limits
Jun 17 20:01:33 eng-server lxd.daemon[17906]: ==> Disabling shiftfs on this kernel (auto)
Jun 17 20:01:33 eng-server lxd.daemon[17906]: => Starting LXCFS
Jun 17 20:01:34 eng-server lxd.daemon[17906]: => Starting LXD
Jun 17 20:01:34 eng-server lxd.daemon[17906]: mount namespace: 6
Jun 17 20:01:34 eng-server lxd.daemon[17906]: hierarchies:
Jun 17 20:01:34 eng-server lxd.daemon[17906]:   0: fd:   7: memory
Jun 17 20:01:34 eng-server lxd.daemon[17906]:   1: fd:   8: cpuset
Jun 17 20:01:34 eng-server lxd.daemon[17906]:   2: fd:   9: pids
Jun 17 20:01:34 eng-server lxd.daemon[17906]:   3: fd:  10: devices
Jun 17 20:01:34 eng-server lxd.daemon[17906]:   4: fd:  11: freezer
Jun 17 20:01:34 eng-server lxd.daemon[17906]:   5: fd:  12: net_cls,net_prio
Jun 17 20:01:34 eng-server lxd.daemon[17906]:   6: fd:  13: hugetlb
Jun 17 20:01:34 eng-server lxd.daemon[17906]:   7: fd:  14: rdma
Jun 17 20:01:34 eng-server lxd.daemon[17906]:   8: fd:  15: perf_event
Jun 17 20:01:34 eng-server lxd.daemon[17906]:   9: fd:  16: cpu,cpuacct
Jun 17 20:01:34 eng-server lxd.daemon[17906]:  10: fd:  17: blkio
Jun 17 20:01:34 eng-server lxd.daemon[17906]:  11: fd:  18: name=systemd
Jun 17 20:01:34 eng-server lxd.daemon[17906]:  12: fd:  19: unified
Jun 17 20:01:34 eng-server lxd.daemon[17906]: t=2019-06-17T20:01:34-0400 lvl=warn msg="CGroup memory swap accounting is disabled, swap limits will be ignored."
Jun 17 20:01:34 eng-server lxd.daemon[17906]: t=2019-06-17T20:01:34-0400 lvl=eror msg="Failed to start the daemon: open /var/snap/lxd/common/lxd/storage-pools/default/containers-snapshots: is a directory"

[x] systemctl | grep lxd

run-snapd-ns-lxd.mnt.mount                                                               loaded active mounted   /run/snapd/ns/lxd.mnt
snap-lxd-10756.mount                                                                     loaded active mounted   Mount unit for lxd, revision 10756
snap-lxd-10923.mount                                                                     loaded active mounted   Mount unit for lxd, revision 10923
var-snap-lxd-common-ns-mntns.mount                                                       loaded active mounted   /var/snap/lxd/common/ns/mntns
var-snap-lxd-common-ns-shmounts.mount                                                    loaded active mounted   /var/snap/lxd/common/ns/shmounts
var-snap-lxd-common-ns.mount                                                             loaded active mounted   /var/snap/lxd/common/ns
● lxd-host-dns.service                                                                     loaded failed failed    LXD host DNS service
● snap.lxd.daemon.service                                                                  loaded failed failed    Service for snap application lxd.daemon
● snap.lxd.daemon.unix.socket                                                              loaded failed failed    Socket unix for snap application lxd.daemon

So this got tracked down, I'm now working on setting up a system with that issue so I can prepare a proper fix for it.

Same problem

Sorry for my ignorance, but how can I apply this patch to my current lxd installation?

@AquaroTorres if you're using the snap, we will push this and another cherry-picked fix later today.
Until then your best bet is to force LXD to just skip this patch by creating a /var/snap/lxd/common/lxd/database/patch.local.sql file containing:
INSERT INTO patches (name, applied_at) VALUES ('storage_api_rename_container_snapshots_dir_again', '2019-06-18T14:10:59Z');

authors: AquaroTorres purell stgraber