ScrollController return maxScrollExtent as infinity when mouse scroll

I was created the flutter application with custom scroll view and load the scroll view data dynamically when the scroll view reaches it bottom. but the scroll view controller does return max scroll extent value as infinity on most of mouse scrolls on web and macOS(Issue replicated on beta and dev branch).
Steps to Reproduce

Run the sample with below added code
scroll the scroll view with mouse(In Mac, using trackpad for scroll)
Issue raised on some fast scrolls.

class InfiniteScroll extends StatefulWidget {
  @override
  _InfiniteScrollState createState() => _InfiniteScrollState();
}

class _InfiniteScrollState extends State<InfiniteScroll> {
  final List<String> _data = <String>[];
  final ScrollController _controller =
      ScrollController(initialScrollOffset: 0.0, keepScrollOffset: true);
  final Key _key = UniqueKey();
  bool loading = false;

  @override
  void initState() {
    _loadData();
    _controller.addListener(() async{
      if(loading){
        return;
      }
      final bool isEnd =
          _controller.offset >= _controller.position.maxScrollExtent;
      if (isEnd) {
        print('Loaded' + (_data.length + 20).toString());
        setState(() {
        loading = true;
        });
        await Future.delayed(Duration(seconds: 2));
          _loadData();
      }
    });
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Infinite Scrolling'),
      ),
      body: Container(
        child: Stack(children: [
          CustomScrollView(
        physics: const AlwaysScrollableScrollPhysics(
            parent:
                ClampingScrollPhysics(parent: RangeMaintainingScrollPhysics())),
            controller: _controller,
            center: _key,
            slivers: <Widget>[
              SliverList(
                delegate:
                SliverChildBuilderDelegate((BuildContext context, int index) {
                  if (_data.length <= index) {
                    return null;
                  }
                  return Container(
                    height: 50,
                    child: Text(_data[index].toString()),
                  );
                }),
                key: _key,
              ),
            ],
          ),
          if(loading)
              Container(height: 50,alignment: Alignment.bottomCenter, child: CircularProgressIndicator())
        ],),
      )
    );
  }

  Future<List<String>> _loadData() async {
    final int length = _data.length;
    for (int i = length; i < length + 20; i++) {
      _data.add('Data item - $i');
    }

    if (loading) {
      setState(() {
        loading = false;
      });
    }

    return _data;
  }
}

Expected results:

Scroll controller max scroll extent return valid value

Actual results:

Scroll controller max scroll extent return infinity value

Replication Video:
https://user-images.githubusercontent.com/44917578/106421581-fa222580-6482-11eb-9ae7-136676de2e11.mov

Flutter doctor
[✓] Flutter (Channel dev, 1.26.0-17.1.pre, on Mac OS X 10.15.3 19D76 darwin-x64, locale en-US)                                                                                [!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[!] Xcode - develop for iOS and macOS
    ! Xcode 11.3.1 out of date (12.0.1 is recommended).
      Download the latest version or update via the Mac App Store.
    ✗ Xcode requires additional components to be installed in order to run.
      Launch Xcode and install additional required components when prompted or run:
        sudo xcodebuild -runFirstLaunch
    ! CocoaPods 1.9.3 out of date (1.10.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.6)
[✓] VS Code (version 1.52.0)
[✓] Connected device (3 available)

@Sasikumar3595
I tried your code sample on latest master and scrolled down till Data Item - 250 and saw below values being printed in the console:
Loaded40
Loaded60
Loaded80
Loaded100
Loaded120
Loaded140
Loaded160
Loaded180
Loaded200
Loaded220
Loaded240
Loaded260

Is this the expected behavior ? Your video only shows scrolling in UI, but not what gets printed in the console while doing so.

flutter doctor -v

[✓] Flutter (Channel master, 1.26.0-18.0.pre.90, on Mac OS X 10.15.4 19E2269
    darwin-x64, locale en-IN)
    • Flutter version 1.26.0-18.0.pre.90 at
      /Users/dhs/documents/Fluttersdk/flutter
    • Framework revision 25134a16d1 (2 days ago), 2021-01-29 23:52:30 -0800
    • Engine revision ce14c8a841
    • Dart version 2.12.0 (build 2.12.0-276.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.0
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    ! CocoaPods 1.9.3 out of date (1.10.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin
        code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see
      https://guides.cocoapods.org/using/getting-started.html#installation for
      instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.52.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.18.1

[✓] Connected device (4 available)
    • SM A260G (mobile)            • 5200763ebcfa861f • android-arm    • Android
      8.1.0 (API 27)
    • AOSP on IA Emulator (mobile) • emulator-5554    • android-x86    • Android
      9 (API 28) (emulator)
    • macOS (desktop)              • macos            • darwin-x64     • Mac OS
      X 10.15.4 19E2269 darwin-x64
    • Chrome (web)                 • chrome           • web-javascript • Google
      Chrome 88.0.4324.96

! Doctor found issues in 1 category.

@darshankawar,
Thanks for you response.
Yes, printing the loaded data count is expected. My actual issue is scroll controller max scroll extent value become infinity on sometimes scroll by trackpad. Above specified sample to add 20 items while scroll reaches it max scroll extent but some times items are not loaded because the max scroll extend value becomes infinity.

@Sasikumar3595
Usually after what data item count do you start seeing the infinity issue ? I tried by scrolling till 400, but didn't see the issue.

@darshankawar,
It was reproduced on some times fast scroll. In the above attached video, scroll to end(20) it loads another 20 items after that scroll reaches it end(39) it does not loads because the scroll controller max scroll extent value as infinity.
After that reaches the end(59) scroll also return infinity value.
Note:  Fast scrolling to reach it end reproduces the issue

@Sasikumar3595
Tried to fast scroll, but still didn't see the issue. Also, what's the exact error you get in the console or in UI ?

flutter doctor -v

[✓] Flutter (Channel master, 1.26.0-18.0.pre.121, on Mac OS X 10.15.4 19E2269
    darwin-x64, locale en-IN)
    • Flutter version 1.26.0-18.0.pre.121 at
      /Users/dhs/documents/Fluttersdk/flutter
    • Framework revision 225e408d4f (3 hours ago), 2021-02-01 22:26:03 -0500
    • Engine revision e59457b818
    • Dart version 2.12.0 (build 2.12.0-279.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.0
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    ! CocoaPods 1.9.3 out of date (1.10.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin
        code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see
      https://guides.cocoapods.org/using/getting-started.html#installation for
      instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.52.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.18.1

[✓] Connected device (3 available)
    • SM A260G (mobile) • 5200763ebcfa861f • android-arm    • Android 8.1.0 (API
      27)
    • macOS (desktop)   • macos            • darwin-x64     • Mac OS X 10.15.4
      19E2269 darwin-x64
    • Chrome (web)      • chrome           • web-javascript • Google Chrome
      88.0.4324.96

! Doctor found issues in 1 category.

@darshankawar,
The issue occurred on UI. I was created the application with custom scroll view and load(20) data to its data source when the scroll view reaches it end. I was identified the scroll end by scroll controller position's offset and scroll controller position's max scroll extent but some times scroll controller position's max scroll extent holds infinity value so i did not identify the scroll view reaches it end.

@Sasikumar3595
I still don't understand 100% what exactly the issue is. Can you provide details around what should be the expected behavior against actual behavior when you scroll ? If you can provide screenshots that'll help to understand, it'll be good.

@darshankawar,
I was implemented the lazy loading scroll view to load the data on runtime(on end of scroll). I was identified the end of scroll by scroll controller position's offset and scroll controller position's max scroll extent but some times scroll controller position's max scroll extent holds infinity value so i did not identify the scroll view reaches it end.
Eg., Initially loaded data from 0 -19 and load 20-39 when scroll view, scroll reach end of scroll(end of scroll after 19th item) and load 40-59 when scroll view, scroll reach end of scroll(end of scroll after 39th item).
In the above attached video, circle progress indicator loaded when i reach 19 item but it does not loaded when i reaches 39 item because its max scroll extent value is infinity.

@Sasikumar3595
I tried again your code sample to understand the context and below is my observation:

Upon app launch, I see Data item - 0 to 12.
If I scroll up, I see data item -19 and in console I see Loaded40.
Next scroll up, I see data item - 39 and in console I see Loaded60.
Then data item - 59 and Loaded80

Can you tell me in above context, if it wasn't expected ? or what should have been the behavior ?

@darshankawar,

Initially loaded data item 0 -19
Scroll up, when you reached data item -19, i was loaded another 20 items and print the items count on console(Loaded40)
Again add another 20 items when scroll reaches end(see data item - 39) and so on.

In the process, I was identify the scroll view reaches it end by it max scroll extent property but sometime its value is infinity on mouse or trackpad fast scroll. So i did not identify the scroll view reaches its end.
In the above attached video, circle progress indicator not shown and data's are not added when we reach data item - 39 because (_controller.offset >= _controller.position.maxScrollExtent) return false due to the maxScrollExtent value(infinity)

Keeping this issue open for further analysis.

Is this reproducible on desktop (non-web)?

@yjbanov,
Yes, this issue reproduced on macOS.

Removed the web label. This seems to affect all platforms and needs to be fixed in the framework.
/cc @Piinks

Looks similar to use case discussed in https://github.com/flutter/flutter/issues/74404
I think this is expected. The SliverChildBuilderDelegate does not have a childCount set, so it does not know the number of items in the list or the possible extent until you reach the end and your builder returns null.

@Piinks,
The above mentioned issue was replicated on some fast scrolls, other than that it is working fine and also it works correctly on mobile platform(android).

@Piinks,
The above mentioned issue does not occurred all the scrolls, it occurs only some of the fast scroll. Please refer the above added video. Issue was occurred on web, desktop platform(mac and windows), it was not occurred on mobile platform(android).

@Piinks ,
Any update on this?

@Sasikumar3595 I verified this issue on both mobile and Web on stable 3.3 and master 3.7 and I am unable to reproduce the issue. The logs always prints a finite scrollextent

logs
Could not load custom device from config index 0: Expected enabled to be a boolean.
Launching lib/main.dart on iPhone 12 Pro in debug mode...
Xcode build done.                                            9.6s
Connecting to VM Service at ws://<IP_ADDRESS>:53773/-tIN3RJxY-Y=/ws
flutter: Loaded40
flutter: Loaded60
flutter: Loaded80
flutter: Loaded100
flutter: Loaded120
flutter: Loaded140
flutter: Loaded160
flutter: Loaded180
flutter: Loaded200
flutter: Loaded220
flutter: Loaded240
flutter: Loaded260
flutter: Loaded280
flutter: Loaded300
flutter: Loaded320
flutter: Loaded340
flutter: Loaded360
flutter: Loaded380

flutter doctor -v (mac)
[✓] Flutter (Channel master, 3.7.0-13.0.pre.131, on macOS 13.1 22C65 darwin-arm64, locale en-IN)
    • Flutter version 3.7.0-13.0.pre.131 on channel master at /Users/mahesh/Development/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 0196e6050b (2 days ago), 2022-12-31 11:10:23 -0500
    • Engine revision 932591ec04
    • Dart version 3.0.0 (build 3.0.0-76.0.dev)
    • DevTools version 2.20.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks
      and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc4)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0-rc4
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A400
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.74.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.56.0

[✓] Connected device (3 available)
    • iPhone 12 Pro (mobile) • 026D5789-9E78-4AD5-B1B2-3F8D4E7F65E4 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 13.1 22C65 darwin-arm64
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 108.0.5359.124

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel stable, 3.3.9, on macOS 12.6 21G115 darwin-arm, locale en-IN)
    • Flutter version 3.3.9 on channel stable at /Users/mahesh/Development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b8f7f1f986 (24 hours ago), 2022-11-23 06:43:51 +0900
    • Engine revision 8f2221fbef
    • Dart version 2.18.5
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc4)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0-rc4
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A400
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.70.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.53.20221101

[✓] Connected device (3 available)
    • iPhone 12 Pro (mobile) • 026D5789-9E78-4AD5-B1B2-3F8D4E7F65E4 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.6 21G115 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 107.0.5304.110

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

I verified this issue with a trackpad though, Is this still reproducible on your end?

@maheshmnj
The above mentioned issue does not occurred all the scrolls, it occurs only some of the fast scroll. Issue was occurred on web, desktop platform(mac and windows), it was not occurred on mobile platform(android).
Note: Issue occurred on mouse scrolls on web and desktop platform(mac and windows).

I'm unable to reproduce this on my end as well on the latest master and stable channels. Tested on Web and macOS and a finite scrollextent is always printed out.

The above mentioned issue does not occurred all the scrolls, it occurs only some of the fast scroll

From your last comment it seems this doesn't reproduce at all times, are there any patterns you could share that reproduces this if the issue still persists on your end?
stable, master flutter doctor -v

[!] Flutter (Channel stable, 3.19.1, on macOS 14.2.1 23C71 darwin-arm64, locale
    en-NG)
    • Flutter version 3.19.1 on channel stable at
      /Users/damilolaalimi/sdks/flutter
    ! Warning: `dart` on your path resolves to
      /opt/homebrew/Cellar/dart/3.1.5/libexec/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/damilolaalimi/sdks/flutter.
      Consider adding /Users/damilolaalimi/sdks/flutter/bin to the front of your
      path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision abb292a07e (8 days ago), 2024-02-20 14:35:05 -0800
    • Engine revision 04817c99c9
    • Dart version 3.3.0
    • DevTools version 2.31.1
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/damilolaalimi/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/damilolaalimi/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15C500b
    • CocoaPods version 1.14.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      17.0.6+0-17.0.6b802.4-9586694)

[!] Android Studio (version unknown)
    • Android Studio at /Users/damilolaalimi/Downloads/Android Studio
      Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to determine Android Studio version.
    • Java version OpenJDK Runtime Environment (build
      17.0.7+0-17.0.7b1000.6-10550314)

[✓] VS Code (version 1.86.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.78.0

[✓] VS Code (version 1.83.1)
    • VS Code at /Users/damilolaalimi/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.78.0

[✓] Connected device (4 available)
    • sdk gphone64 arm64 (mobile) • emulator-5554             • android-arm64  •
      Android 14 (API 34) (emulator)
    • Damilola’s iPhone (mobile)  • 00008110-001964480AE1801E • ios            •
      iOS 17.1.1 21B91
    • macOS (desktop)             • macos                     • darwin-arm64   •
      macOS 14.2.1 23C71 darwin-arm64
    • Chrome (web)                • chrome                    • web-javascript •
      Google Chrome 122.0.6261.69

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 2 categories.

[!] Flutter (Channel master, 3.20.0-15.0.pre.26, on macOS 14.2.1 23C71 darwin-arm64, locale en-NG)
    • Flutter version 3.20.0-15.0.pre.26 on channel master at /Users/damilolaalimi/fvm/versions/master
    ! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/3.1.5/libexec/bin/dart, which is not inside your current Flutter SDK checkout at /Users/damilolaalimi/fvm/versions/master. Consider adding /Users/damilolaalimi/fvm/versions/master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 82ffde7ddf (3 hours ago), 2024-02-28 07:39:21 +0000
    • Engine revision 8acc96d405
    • Dart version 3.4.0 (build 3.4.0-185.0.dev)
    • DevTools version 2.33.0-dev.11
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/damilolaalimi/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/damilolaalimi/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15C500b
    • CocoaPods version 1.14.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[!] Android Studio (version unknown)
    • Android Studio at /Users/damilolaalimi/Downloads/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to determine Android Studio version.
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)

[✓] VS Code (version 1.86.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.78.0

[✓] VS Code (version 1.83.1)
    • VS Code at /Users/damilolaalimi/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.78.0

[✓] Connected device (5 available)
    • sdk gphone64 arm64 (mobile)     • emulator-5554             • android-arm64  • Android 14 (API 34) (emulator)
    • Damilola’s iPhone (mobile)      • 00008110-001964480AE1801E • ios            • iOS 17.1.1 21B91
    • macOS (desktop)                 • macos                     • darwin-arm64   • macOS 14.2.1 23C71 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad     • darwin         • macOS 14.2.1 23C71 darwin-arm64
    • Chrome (web)                    • chrome                    • web-javascript • Google Chrome 122.0.6261.69

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 2 categories.


fix(DEVCOM.LuaJIT): remove version 2.1.19638

Package is no longer available.

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.6 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/DevelopersCommunity/cmake-luajit/releases/download/v2.1.1696795921/LuaJIT-2.1.19638-win64.msi
Response status code does not indicate success: 404 (Not Found).
(Automated message - build 748)


New Rule: Consistent Naming for Logged Types

In order to get the most value out of the log entries, property names need to be consistent for object types that are logged.
For example, logging a type User as user, User and uSer all make it MUCH harder to filter the log entries.
My proposal is that a rule ensure that logged property names are based on the type that is being logged by default.
It would be good to include a SerilogPropertyNameToTypeMapping.json that would allow for overriding the "standard" mapping from a type to a property name.
Does this sound like something that fits within the vision of this tool?

Consistent naming is something that bothered me for some while now.
We are, for example, only rarely using destructuring on complex types which makes this idea unsuitable for many usecases (that would only be int or string).
Nonetheless, this feature seems plausible and easy to implement so i'll try to make it available optionally on non primitive types.

This could be a bit problematic for things like:
Account from; to;
Log.Information("Transferring {Amount} from {From} to {To}", 100, from, to);

Seems like the hit rate for this rule might be patchy.

I would be happy to see this rule only apply to reference types. I think
Nicholas's example is salient.
On Mar 30, 2017 4:12 PM, "Nicholas Blumhardt"<EMAIL_ADDRESS>wrote:

This could be a bit problematic for things like:
Account from; to;Log.Information("Transferring {Amount} from {From} to {To}", 100, from, to);
Seems like the hit rate for this rule might be patchy.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Suchiman/SerilogAnalyzer/issues/17#issuecomment-290530910,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABj7xCZSQonuSo_GkG7ZK9ekFfqiWVLBks5rrAzEgaJpZM4Muvos
.

I think this type of feature would be really useful! This would be a good option for all Properties to make sure they are the same type.
I've been planning out an integration with ElasticSearch and Kibana, the big thing would be making sure that Properties with the same name have the same type so they can be properly indexed. E.g. If it's a number then always a number, same for date, same for string, etc. This would also apply for complex types being serialised.
A second helper could be that if you are logging a reference type, that it force (or suggest) using a particular name to keep things consistent. The level, e.g. suggest, warn, force could be per type.
You could configure the types in a JSON doc as such:
{
TypesToNames:{
:{ Name:, Level:<Suggest,Warn,Force> }
...
},
NamesToType:{
:{ Type:, Level:<Suggest,Warn,Force> }
...
}
}
You would assume a TypesToNames entry would also be the equivalent of adding it to the NamesToType list. This could be done in code to avoid duplicates in the file.
If the analyzer doesn't find the keyword in the list it could offer an auto-complete to add to the JSON document.
I'd be willing to help with this, but not 100% sure where to start.

@kevygreen You could start around in this region for the analysis part: https://github.com/Suchiman/SerilogAnalyzer/blob/b78fb7f1e0b7de65bd9b46ba3b17d62d445c4288/SerilogAnalyzer/SerilogAnalyzer/DiagnosticAnalyzer.cs#L170-L239
The configuration bit is tricky, roslyn has nothing to offer for this, but i've been thinking that if you manage to get the file path of the file you're analyzing (perhaps from the SyntaxNodeAnalysisContext.Compilation), then look for .seriloganalyzer  (similiar to .editorconfig) in the current directory and if not, check the parent directory and so on. I just hope this doesn't affect performance too bad if you do this for every logger statement you encounter in a document.


Swift3 ?

Hello,
There is a version available for swift 3 ?
Thx :)

👍

Up?

Hello guys, I'm going to work on this soon :) thanks!

I have updated a folked version to Swift 3, it compile, I still dont know if it knows, you could try ;)
https://github.com/skrosoft/EurekaSwiftValidatorComponents/

I added EurekaSwiftValidateComponents.swift to my project and it doesn't compile :/
"No such SwiftValidator Module"


I have problem in remove members from group .

When I delete a member from groups,
It show me that

{
    "err":"Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '))' at line 1",
    "ok":false
}

Please read https://github.com/gogits/gogs/blob/master/.github/ISSUE_TEMPLATE.md


Update Copyright year

Developer's Certificate of Origin 1.1
   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.

Codecov Report

Merging #222 (28d3daa) into main (e50ec40) will decrease coverage by 0.14%.
The diff coverage is 20.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main     #222      +/-   ##
==========================================
- Coverage   60.15%   60.02%   -0.14%
==========================================
  Files          46       46
  Lines        1772     1776       +4
  Branches      522      525       +3
==========================================
  Hits         1066     1066
- Misses        570      572       +2
- Partials      136      138       +2

Impacted Files
Coverage Δ

...line-editor/src/CustomFormControls/CustomArray.tsx
32.25% <ø> (ø)

...tor/src/CustomFormControls/CustomFieldTemplate.tsx
35.48% <ø> (ø)

...line-editor/src/CustomFormControls/CustomOneOf.tsx
5.00% <0.00%> (-0.13%)
:arrow_down:

...ine-editor/src/CustomFormControls/ErrorMessage.tsx
0.00% <ø> (ø)

...eline-editor/src/CustomFormControls/FileWidget.tsx
55.55% <0.00%> (-6.95%)
:arrow_down:

...peline-editor/src/CustomFormControls/components.ts
0.00% <ø> (ø)

packages/pipeline-editor/src/IconButton/index.tsx
100.00% <ø> (ø)

packages/pipeline-editor/src/NodeTooltip/index.tsx
100.00% <ø> (ø)

packages/pipeline-editor/src/NodeTooltip/utils.ts
100.00% <ø> (ø)

...ackages/pipeline-editor/src/PalettePanel/index.tsx
93.33% <ø> (ø)

... and 36 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Release installer.

Please release simple installer for this app, building app from source are so complicated to noob user. I hope you will understand. Also thanks for making this great app. ❤

Ok, i will work on a simple installer for the prerelease versions and automatic github actions compilation 👍 ❤

Plus, the app will be soon released in the ms store after completion 👀

Since many people need a WordPad replacement rn, the app will be released and fixed ASAP.
After it will be released in the Microsoft Store, you will be able to test and download the beta version from there.

Since many people need a WordPad replacement rn, the app will be released and fixed ASAP. After it will be released in the Microsoft Store, you will be able to test and download the beta version from there.

Is there still no installer?

@parfait8566 @Jakeverse @xgui4
The installer is finally released, sorry for making you all wait so long.
It can be downloaded here:
RectifyPad Preview 1


Update saveState.js

I don't know why and I don't understand why, but if I save column.visible then savedColumn.visible is always set to true !?!
But if I save column.colDef.visible it's ok :/

This looks to be breaking the unit tests, so won't merge.  The aim is the save the current state, not the colDef state. Having said that, there is some funny treatment of col.visible, it usually updates colDef.visible as well for a reason I haven't worked out.
If you can provide a plunker that illustrates your problem, I'll take a look at a different way to fix this.

I made a mistake in my own code, so there is no problem with ui-grid. Sorry for the noise ...
Anyway thanks for your work, ui-grid is a huge step forward compared to ng-grid.


Error details are not available

When a call to the content delivery API fails, the response contains a JSON object with details such as the error code, error message, and failed validation, as seen below:
{
  "error_code": 141,
  "error_message": "Failed to fetch entries. Please try again with valid parameters.",
  "errors": {
    "access_token": [
      "Doesn't have access to specified environment"
    ]
  }
}

The same call, when made through the SDK, provides none of the error information to the caller. The only response obtained is an Error object, with the HTTP status code as the error code and the status message as the error message, repeating the exact same information for the errors, resulting in something that could be seen as the following:
{
  "error_code": 422,
  "error_message": "Unprocessable Entity",
  "errors": {
    "errors": "Unprocessable Entity"
  }
}

That Error object completely discards the error details, making effective error handling impossible; there is no way to extract that information once the SDK calls back to user code. Contrast this with the SDKs provided for other languages. The .NET SDK parses the response JSON and uses those values to fill in the Error object. Is there any sort of plan for exposing the actual error details to the caller?

@feliperuiz Thanks for raising the issue. We will work on it and resolve the issue of Error details.

@feliperuiz Thanks for raising the issue. We will work on it and resolve the issue of Error details.

Hey, @ishaileshmishra, I noticed the error data is now available starting at 1.5.5, thanks a lot for that!
If you won't mind, I'd like to follow that up with a couple of questions:

Is there a list of the possible values for error_code and their meanings? For example, I noticed the value 141 gets returned for many different scenarios, such as for when a requested language is not present in the stack or when the given access token doesn't have permission to read from the requested environment.
The Error.getErrors method seems to have been replaced by Error.getErrorDetail. The type signatures are different, but the documentation hasn't been changed: it still reads Returns error in HashMap format where error is key and its respective information as HashMap's value., but Error.getErrorDetail returns a string.

Hey, @ishaileshmishra, I noticed the error data is now available starting at 1.5.5, thanks a lot for that!
If you won't mind, I'd like to follow that up with a couple of questions:

Is there a list of the possible values for error_code and their meanings? For example, I noticed the value 141 gets returned for many different scenarios, such as for when a requested language is not present in the stack or when the given access token doesn't have permission to read from the requested environment.
The Error.getErrors method seems to have been replaced by Error.getErrorDetail. The type signatures are different, but the documentation hasn't been changed: it still reads Returns error in HashMap format where error is key and its respective information as HashMap's value., but Error.getErrorDetail returns a string.

@feliperuiz Thanks for raising this. We are looking into it and will get back to you shortly

@feliperuiz Thanks for raising this. We are looking into it and will get back to you shortly


Restore top positively affected logits in plots

Do this in a separate branch, after feature/baulab_params. Cleaner that way.


Update  scalapb dependencies

PR #265  and #262

We cannot update to the latest scalapb due to some issue with the java version google proto api.
https://gitter.im/ScalaPB/community?at=605f71bda7dfe1372e0047fd


Fix docs build

Something in the simplified Travis installation procedure from #840 seems to have broken our doc-building stage. This PR will fix that, and also make a few other minor improvements in the docs.
Updates to include:

[x] Fix docs build on Travis
[x] Add Google Analytics
[x] Add section on citing (including downloadable bibtex file)

Everything seems to be working now. This is already deployed on the live site (the docs_deploy branch can do that). I'll leave it up for 48 hours (until Wednesday evening) for review before closing it myself.


It works on cpu but not on cuda

🐛 Bug

To Reproduce
Steps to reproduce the behavior:
class GraphCNN(nn.Module):
    def __init__(self, ):
        super(GraphCNN, self).__init__()
        self.conv1 = pyg_nn.GraphUNet(in_channels=4,hidden_channels=2 ,out_channels=2,depth=2)

    def forward(self, ):
        x=torch.tensor([[48496.,  1256.,  1404., 10245.]], device='cuda:0',dtype=torch.float)# [2 ,E]
        edge_index=torch.tensor([[0],
                                 [0]], device='cuda:0',dtype=torch.int64)# [2 ,E]
        print(x)
        out = self.conv1(x=x, edge_index=edge_index)  # [N, D]
        return out
def main():
    my_net = GraphCNN()
    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    #device = "cpu"
    my_net = my_net.to(device)
    my_net.train()
    for epoch in range(500):
        output = my_net()

if __name__ == '__main__':
    main()

error
tensor([[48496.,  1256.,  1404., 10245.]], device='cuda:0')
tensor([[48496.,  1256.,  1404., 10245.]], device='cuda:0')
tensor([[48496.,  1256.,  1404., 10245.]], device='cuda:0')
/opt/conda/conda-bld/pytorch_1579022034529/work/aten/src/ATen/native/cuda/IndexKernel.cu:60: lambda [](int)->auto::operator()(int)->auto: block: [0,0,0], thread: [0,0,0] Assertion `index >= -sizes[i] && index < sizes[i] && "index out of bounds"` failed.
Traceback (most recent call last):
  File "/home/hy/py/mycode/unet.py", line 38, in <module>
    main()
  File "/home/hy/py/mycode/unet.py", line 35, in main
    output = my_net()
  File "/home/hy/anaconda3/envs/py36/lib/python3.6/site-packages/torch/nn/modules/module.py", line 532, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/hy/py/mycode/unet.py", line 24, in forward
    out = self.conv1(x=x, edge_index=edge_index)  # [N, D]
  File "/home/hy/anaconda3/envs/py36/lib/python3.6/site-packages/torch/nn/modules/module.py", line 532, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/hy/anaconda3/envs/py36/lib/python3.6/site-packages/torch_geometric/nn/models/graph_unet.py", line 85, in forward
    x, edge_index, edge_weight, batch)
  File "/home/hy/anaconda3/envs/py36/lib/python3.6/site-packages/torch/nn/modules/module.py", line 532, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/hy/anaconda3/envs/py36/lib/python3.6/site-packages/torch_geometric/nn/pool/topk_pool.py", line 158, in forward
    num_nodes=score.size(0))
  File "/home/hy/anaconda3/envs/py36/lib/python3.6/site-packages/torch_geometric/nn/pool/topk_pool.py", line 60, in filter_adj
    row, col = row[mask], col[mask]
RuntimeError: copy_if failed to synchronize: cudaErrorAssert: device-side assert triggered

Process finished with exit code 1

Expected behavior
same behavior between cpu and cuda

Environment

OS: ubuntu18.04x64
Python version: 3.6.10
PyTorch version: 1.4.0   py3.6_cuda10.1.243_cudnn7.6.3_0
CUDA/cuDNN version: 10.1
GCC version: 7.5.0???
Any other relevant information: pyg version: 1.5.0

Additional context

Sorry, I missed this issue. This error is usually related to how cusparse handles sparse-sparse matrix multiplication. In particular, sparse matrix multiplication does not work in case edge_index holds duplicated entries.

Hmm... I see this error only when running with GPU. Does that tell us anything about the underlying cause?
What is the recommended way to prepare the gunet to run on GPU?

I tried to apply coalesce() on the edge_index
edge_index.coalesce()
y = self.gunet(x,edge_index)

but it gave the error:
`RuntimeError: Could not run 'aten::coalesce' with arguments from the 'CUDA' backend. 'aten::coalesce' is only available for these backends: [SparseCPU, SparseCUDA, Autograd, Profiler, Tracer].
Any suggestions on how to test for and remove duplicate entries?
`

You need to use the coalesce function provided by torch-sparse: torch_sparse.coalesce

Thanks.
Could you elaborate a  little bit on the  sparse_sizes arguments of coalesce?
Documentation says:
m (int) - The first dimension of corresponding dense matrix.
n (int) - The second dimension of corresponding dense matrix.

What are these dimensions? What do they represent?

Those are just the dimensions of your sparse matrix, e.g., the max values in edge_index[0] and edge_index[1]. In your case, those are the number of nodes in your graph:
edge_index, _ = torch_sparse.coalesce(edge_index, None, num_nodes, num_nodes)

I get an assertion error for that:
  File "/usr/local/lib/python3.6/dist-packages/torch_sparse/storage.py", line 79, in __init__
    assert value.size(0) == col.size(0)

code:
from torch_sparse import coalesce
# type(state) == torch_geometric.data.data.Data
# state == Data(edge_attr=[785, 12], edge_index=[2, 7577], label=[785], x=[785, 12])
n = int(torch.max(state.edge_index )) #784
index, value = coalesce(state.edge_index , state.x , m=n, n=n)

Sorry, if I leave out the value argument the code runs well.

It could be related to batches. The call to gunet that fails uses a batch of N graphs.

  File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py", line 722, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/torch_geometric/nn/models/graph_unet.py", line 85, in forward
    x, edge_index, edge_weight, batch)
  File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py", line 722, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/torch_geometric/nn/pool/topk_pool.py", line 157, in forward
    num_nodes=score.size(0))
  File "/usr/local/lib/python3.6/dist-packages/torch_geometric/nn/pool/topk_pool.py", line 59, in filter_adj
    row, col = row[mask], col[mask]
RuntimeError: copy_if failed to synchronize: cudaErrorAssert: device-side assert triggered

I tried with applying the coalesce on the graphs before adding them to the batch.
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/IPython/core/interactiveshell.py", line 3343, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-18-4af83572aa32>", line 1, in <module>
    x = self.gunet(state.x, state.edge_index)
  File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py", line 722, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/torch_geometric/nn/models/graph_unet.py", line 85, in forward
    x, edge_index, edge_weight, batch)
  File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py", line 722, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/torch_geometric/nn/pool/topk_pool.py", line 157, in forward
    num_nodes=score.size(0))
  File "/usr/local/lib/python3.6/dist-packages/torch_geometric/nn/pool/topk_pool.py", line 59, in filter_adj
    row, col = row[mask], col[mask]
RuntimeError: copy_if failed to synchronize: cudaErrorAssert: device-side assert triggered

Do you have a small example to reproduce? Which dataset are you using?

That is an excellent question, probably better than what you intended...
When I save the Batch object to disk using torch.save(state,"/workdisk/state") and then load it in a separate python script using
gunet = GraphUNet(12, 64, 64, 2)
state = torch.load("/workdisk/state")
gunet.cuda()
state.to("cuda")
x = gunet(state.x, state.edge_index)

I don't see a crash anymore.

...however if I call the gunet twice in a row the crash appears.
Attached is a test script and associated "state" Batch object.
gunet = GraphUNet(12, 64, 64, 2)
state = torch.load("/workdisk/state")
x = gunet(state.x, state.edge_index)
x = gunet(state.x, state.edge_index)

Error:
 File "/usr/local/lib/python3.6/dist-packages/torch_geometric/nn/pool/topk_pool.py", line 157, in forward
    num_nodes=score.size(0))
  File "/usr/local/lib/python3.6/dist-packages/torch_geometric/nn/pool/topk_pool.py", line 59, in filter_adj
    row, col = row[mask], col[mask]
RuntimeError: copy_if failed to synchronize: cudaErrorAssert: device-side assert triggered
THCudaCheck FAIL file=/pytorch/aten/src/THC/THCCachingHostAllocator.cpp line=278 error=710 : device-side assert triggered

test_pytorch_graph_batch.zip

...however if I call the gunet twice in a row the crash appears.
Attached is a test script and associated "state" Batch object.
gunet = GraphUNet(12, 64, 64, 2)
state = torch.load("/workdisk/state")
x = gunet(state.x, state.edge_index)
x = gunet(state.x, state.edge_index)
Error:
/pytorch/aten/src/ATen/native/cuda/IndexKernel.cu:84: operator(): block: [30,0,0], thread: [100,0,0] Assertion `index >= -sizes[i] && index < sizes[i] && "index out of bounds"` failed.
/pytorch/aten/src/ATen/native/cuda/IndexKernel.cu:84: operator(): block: [30,0,0], thread: [8,0,0] Assertion `index >= -sizes[i] && index < sizes[i] && "index out of bounds"` failed.
/pytorch/aten/src/ATen/native/cuda/IndexKernel.cu:84: operator(): block: [30,0,0], thread: [44,0,0] Assertion `index >= -sizes[i] && index < sizes[i] && "index out of bounds"` failed.
/pytorch/aten/src/ATen/native/cuda/IndexKernel.cu:84: operator(): block: [30,0,0], thread: [80,0,0] Assertion `index >= -sizes[i] && index < sizes[i] && "index out of bounds"` failed.
Traceback (most recent call last):
  File "/workdisk/test_pyg_batch.py", line 21, in <module>
    x = gunet(state.x, state.edge_index)
  File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py", line 722, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/torch_geometric/nn/models/graph_unet.py", line 85, in forward
    x, edge_index, edge_weight, batch)
  File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py", line 722, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/torch_geometric/nn/pool/topk_pool.py", line 157, in forward
    num_nodes=score.size(0))
  File "/usr/local/lib/python3.6/dist-packages/torch_geometric/nn/pool/topk_pool.py", line 59, in filter_adj
    row, col = row[mask], col[mask]
RuntimeError: copy_if failed to synchronize: cudaErrorAssert: device-side assert triggered
THCudaCheck FAIL file=/pytorch/aten/src/THC/THCCachingHostAllocator.cpp line=278 error=710 : device-side assert triggered

test_pytorch_graph_batch2.zip

Mh, that works for me. You might need to ensure that torch-sparse CUDA kernels work as expected, e.g., by running the torch-sparse test suite.

The test suit python3 setup.py test failed with this error:
Installed /tmp/pytorch_sparse/.eggs/coverage-5.5-py3.6-linux-x86_64.egg running egg_info creating torch_sparse.egg-info writing torch_sparse.egg-info/PKG-INFO writing dependency_links to torch_sparse.egg-info/dependency_links.txt writing requirements to torch_sparse.egg-info/requires.txt writing top-level names to torch_sparse.egg-info/top_level.txt writing manifest file 'torch_sparse.egg-info/SOURCES.txt' reading manifest file 'torch_sparse.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'torch_sparse.egg-info/SOURCES.txt' running build_ext building 'torch_sparse._diag_cpu' extension creating build creating build/temp.linux-x86_64-3.6 creating build/temp.linux-x86_64-3.6/tmp creating build/temp.linux-x86_64-3.6/tmp/pytorch_sparse creating build/temp.linux-x86_64-3.6/tmp/pytorch_sparse/csrc creating build/temp.linux-x86_64-3.6/tmp/pytorch_sparse/csrc/cpu x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/tmp/pytorch_sparse/csrc -I/usr/local/lib/python3.6/dist-packages/torch/include -I/usr/local/lib/python3.6/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/lib/python3.6/dist-packages/torch/include/TH -I/usr/local/lib/python3.6/dist-packages/torch/include/THC -I/usr/include/python3.6m -c /tmp/pytorch_sparse/csrc/diag.cpp -o build/temp.linux-x86_64-3.6/tmp/pytorch_sparse/csrc/diag.o -O2 -DAT_PARALLEL_OPENMP -fopenmp -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_diag_cpu -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14 x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/tmp/pytorch_sparse/csrc -I/usr/local/lib/python3.6/dist-packages/torch/include -I/usr/local/lib/python3.6/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/lib/python3.6/dist-packages/torch/include/TH -I/usr/local/lib/python3.6/dist-packages/torch/include/THC -I/usr/include/python3.6m -c /tmp/pytorch_sparse/csrc/cpu/diag_cpu.cpp -o build/temp.linux-x86_64-3.6/tmp/pytorch_sparse/csrc/cpu/diag_cpu.o -O2 -DAT_PARALLEL_OPENMP -fopenmp -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_diag_cpu -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14 creating build/lib.linux-x86_64-3.6 creating build/lib.linux-x86_64-3.6/torch_sparse x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.6/tmp/pytorch_sparse/csrc/diag.o build/temp.linux-x86_64-3.6/tmp/pytorch_sparse/csrc/cpu/diag_cpu.o -L/usr/local/lib/python3.6/dist-packages/torch/lib -lc10 -ltorch -ltorch_cpu -ltorch_python -o build/lib.linux-x86_64-3.6/torch_sparse/_diag_cpu.so -s building 'torch_sparse._diag_cuda' extension creating build/temp.linux-x86_64-3.6/tmp/pytorch_sparse/csrc/cuda x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DWITH_CUDA -I/tmp/pytorch_sparse/csrc -I/usr/local/lib/python3.6/dist-packages/torch/include -I/usr/local/lib/python3.6/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/lib/python3.6/dist-packages/torch/include/TH -I/usr/local/lib/python3.6/dist-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.6m -c /tmp/pytorch_sparse/csrc/diag.cpp -o build/temp.linux-x86_64-3.6/tmp/pytorch_sparse/csrc/diag.o -O2 -DAT_PARALLEL_OPENMP -fopenmp -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_diag_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14 x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DWITH_CUDA -I/tmp/pytorch_sparse/csrc -I/usr/local/lib/python3.6/dist-packages/torch/include -I/usr/local/lib/python3.6/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/lib/python3.6/dist-packages/torch/include/TH -I/usr/local/lib/python3.6/dist-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.6m -c /tmp/pytorch_sparse/csrc/cpu/diag_cpu.cpp -o build/temp.linux-x86_64-3.6/tmp/pytorch_sparse/csrc/cpu/diag_cpu.o -O2 -DAT_PARALLEL_OPENMP -fopenmp -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_diag_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14 /usr/local/cuda/bin/nvcc -DWITH_CUDA -I/tmp/pytorch_sparse/csrc -I/usr/local/lib/python3.6/dist-packages/torch/include -I/usr/local/lib/python3.6/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/lib/python3.6/dist-packages/torch/include/TH -I/usr/local/lib/python3.6/dist-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.6m -c /tmp/pytorch_sparse/csrc/cuda/diag_cuda.cu -o build/temp.linux-x86_64-3.6/tmp/pytorch_sparse/csrc/cuda/diag_cuda.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options '-fPIC' -arch=sm_35 --expt-relaxed-constexpr -O2 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_diag_cuda -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14 In file included from /tmp/pytorch_sparse/csrc/cuda/diag_cuda.cu:3:0: /usr/local/lib/python3.6/dist-packages/torch/include/ATen/cuda/CUDAContext.h:7:10: fatal error: cublas_v2.h: No such file or directory  #include <cublas_v2.h>           ^~~~~~~~~~~~~ compilation terminated. error: command '/usr/local/cuda/bin/nvcc' failed with exit status 1

Calling find /usr/local/ -name cublas_v2.h
responds:
/usr/local/cuda-10.2/targets/x86_64-linux/include/cublas_v2.h

I see. The test suite tries to install the package from source, which fails. How about you try the following script to see whether sparse-sparse matrix multiplication works on your end:
from
```python
import torch
from torch_sparse import SparseTensor

x = SparseTensor.from_dense(torch.randn(10, 10, device='cuda'))
out = x @ x

I get:
test_torchsparse.txt
root@bdtj8:/tmp/pytorch_sparse# /usr/bin/python3 test_torchsparse.py
Traceback (most recent call last):
  File "test_torchsparse.py", line 4, in <module>
    from torch_sparse import SparseTensor
  File "/tmp/pytorch_sparse/torch_sparse/__init__.py", line 15, in <module>
    f'{library}_{suffix}', [osp.dirname(__file__)]).origin)
AttributeError: 'NoneType' object has no attribute 'origin'

Yes, this might happen due to your previously failed installation. Try to uninstall that one and run again:
pip uninstall torch-sparse

After the uninstall, the installation gives these error messages:

I also tried running in a fresh Google Collab notebook:

Please install on Colab via:
!pip install -q torch-scatter -f https://pytorch-geometric.com/whl/torch-1.8.0+cu101.html
!pip install -q torch-sparse -f https://pytorch-geometric.com/whl/torch-1.8.0+cu101.html
!pip install -q torch-geometric


fix(protocol-designer): fix style of LiquidsOverflowMenu

Overview
Update style of floating LiquidsOverflowMenu rendered by clicking "Liquids" in protocol edit view. MenuButton inherits border radius from parent, and the Divider only shows if custom liquids have been added.
Test Plan and Hands on Testing

Create protocol and select to 'Edit protocol'
Click Liquids button
Verify that dropdown menu does not show a divider above "Define a liquid" and hovering maintains border radius
Add at least two liquids and verify that divider shows only above "Define a liquid"

Before fix

After fix

Changelog

on MenuItem, inherit border radius from parent
conditionally render divider if at least one liquid has been added

Review requests
see test plan
Risk assessment
low

you can merge this in whenever, the failed cypress test is from a test that randomly fails for some reason every now and then.


Add block comments on code samples files for tests purpose

Add block comment on _main.c file
Add block comment on _main.cc file
Add block comment on main.js file
Add block comment on main.ts file
Update scanner tests

assign me this.

assign me this.

You have 5 days to work on this, otherwise I will unassign you

Unassign due inactivity


setValue is appending "0" to the end of Animated.Values

Description
I called setValue on an Animated.Value passing in a string. I expected the string to be the value that was output in the console from the listener (see reproduction below). A also expected the backgroundColor to be set to "red".
What actually happens is it seems top append a "0" to the end of the string. So I got "red0" in both cases. I am using it to try to animate an SVG path, so I need a string for the value. I can't use interpolation because the path relies on more than one other Animated.Value.
Reproduction
export default class Test3 extends PureComponent {

   constructor(props) {
      super(props)
      this._animatingString = new Animated.Value('blue')
      this._animatingString.addListener(({value}) => {
         console.log('value', value)
      })
   }

   render() {
      this._animatingString.setValue("red")
      return <Animated.View style={{
         width: 400,
         backgroundColor: this._animatingString
      }}>
         <Text>Something</Text>
      </Animated.View>
   }

}

Solution
Not sure if this is just a misuse of the API and it is designed that it only accepts numbers. If not, I need to find another way to do it. Or just not use Animated at all and rerender through setState.
Additional Information

React Native version: 0.39.2
Platform: Both
Operating System: Mac OSX

You shouldn't call setValue in render.

Okay, thanks for the quick response. I suspected that might be it. I'm trying to create an svg path (using react-native-svg's Path component) such as below, which relies on dx, dy and largeArc, which is why I can't use interpolation:
`
  M ${this._segmentPoints.origin.x},${this._segmentPoints.origin.y}
  l ${this._segmentPoints.line.dx},${this._segmentPoints.line.dy}
  a ${this.props.radius},${this.props.radius} 0 ${largeArcFlag} 1 ${dx},${dy}
  L ${this._segmentPoints.origin.x},${this._segmentPoints.origin.y}
`

I tried using a simple setState, which works but is a little janky. I also tried using setNativeProps on the Path component's d property to avoid the re-renders, but it throws an error which I don't yet understand!
I guess I was looking for something like this, which i'm pretty sure isn't available:
const animatedDx = new Animated.Value(0)
const animatedDy = new Animated.Value(0)
const animatedLargeArc = new Animated.Value(0)
// ...do various setValue calls on the above Animated.Values....
const animatedPath = Animated.interpolate(
  [animatedDx, animatedValueDy, animatedLargeArc], // the input
  (dx, dy, largeArc) => createPathString(dx, dy, largeArc) // the output
)

although if Animated.Values can't be anything other than numbers, its academic really.

You can take numbers and interpolate to non numbers but output range needs to be parseable.
Generating a path string has been one of the issues w/ Animated and there has been talk about creating custom animated formulas that could do this.
If you really need to do this stuff and still use Animated, you could setup a listener with addListener, generate your string and call setNativeProps.
This is what you said you tried, but without showing code you used and the error it returned I can't help much.

Thanks for the info. I'm wondering if the limitation is in react-native-svg, as it errors when I try to call setNativeProps (the 'd' prop) on a ref to the Path component. I'll try a couple of things out. I was doing it in a basic setInterval but i'll try in a Animated.Value listener.

I tried a few approaches this morning which I'll share with you. There approaches are as follows:

using setState
attempting to use setNativeProps
using interpolation

using setState works fine, but I just thought there would be a more performant way of doing it that having to re-render the tree each frame, which is why I attempted using setNativeProps. The error message I get for the second and third approach are the same, i'm assuming this is because Animated.Value just uses setNativeProps internally. This is the error message. It looks like it's on the native side (iOS) but I haven't investigated it any further.

Here are the code snippets I used for each:
using setState
export default class testing extends Component {

   constructor(props) {
      super(props)
      this._origin = { x: 100, y: 100 }
      this._radius = 50
      this.state = {
         arcEndX: Math.sin(0) * this._radius,
         arcEndY: Math.cos(0) * this._radius - this._radius,
         largeArcFlag: Math.sin(0) >= 0 ? 0 : 1
      }
      this.setArcEndFromRadians = this.setArcEndFromRadians.bind(this)
   }

   setArcEndFromRadians(radians) {
      this.setState({
         arcEndX: Math.sin(radians) * this._radius,
         arcEndY: Math.cos(radians) * this._radius - this._radius,
         largeArcFlag: Math.sin(radians) >= 0 ? 0 : 1
      })
   }

   componentDidMount() {
      let radians = 0
      let timer = setInterval(() => {
         radians += 0.02
         this.setArcEndFromRadians(radians)
      }, 16)
   }

   render() {
      return (
         <View>
            <Svg
               height="200"
               width="200">
               <Path
                  d={ `M ${this._origin.x},${this._origin.y} l 0,50 a 50,50 0 ${this.state.largeArcFlag} 0 ${this.state.arcEndX},${this.state.arcEndY} z` }/>
            </Svg>
         </View>
      )
   }

}

using setNativeProps (for better performance, error thrown)
export default class testing extends Component {

   constructor(props) {
      super(props)
      this._origin = { x: 100, y: 100 }
      this._radius = 50
      this._arc = {
         arcEndX: Math.sin(0) * this._radius,
         arcEndY: Math.cos(0) * this._radius - this._radius,
         largeArcFlag: Math.sin(0) >= 0 ? 0 : 1
      }
      this.setArcEndFromRadians = this.setArcEndFromRadians.bind(this)
   }

   setArcEndFromRadians(radians) {
      let arcEndX = Math.sin(radians) * this._radius
      let arcEndY = Math.cos(radians) * this._radius - this._radius
      let largeArcFlag = Math.sin(radians) >= 0 ? 0 : 1
      this._thePath.setNativeProps({
         d: `M ${this._origin.x} ${this._origin.y} l 0 50 a 50,50 0 ${largeArcFlag} 0 ${arcEndX} ${arcEndY} z`
      })
   }

   componentDidMount() {
      let radians = 0
      let timer = setInterval(() => {
         radians += 0.02
         this.setArcEndFromRadians(radians)
      }, 16)
   }

   render() {
      return (
         <View>
            <Svg
               height="200"
               width="200">
               <Path
                  ref={ ref => this._thePath = ref }
                  d={ `M ${this._origin.x},${this._origin.y} l 0,50 a 50,50 0 ${this._arc.largeArcFlag} 0 ${this._arc.arcEndX},${this._arc.arcEndY} z` }/>
            </Svg>
         </View>
      )
   }

}

using Animated interpolation (simplified to just drawing a line, rather than a circle, error thrown)
let AnimatedPath = Animated.createAnimatedComponent(Path)
export default class testing extends Component {

   constructor(props) {
      super(props)
      this._origin = { x: 100, y: 100 }
      this._radians = new Animated.Value(0)
      this._arcX = this._radians.interpolate({
         inputRange: [
            0,
            100
         ],
         outputRange: [
            `M ${this._origin.x},${this._origin.y} l 0,0`,
            `M ${this._origin.x},${this._origin.y} l 100,100`
         ]
      })
   }

   componentDidMount() {
      Animated.spring(this._radians, {
         toValue: Math.PI,
         friction: 5,
         tension: 135
      }).start()
   }

   render() {
      return (
         <View>
            <Svg
               height="200"
               width="200">
               <AnimatedPath
                  d={ this._arcX }/>
            </Svg>
         </View>
      )
   }

}

Closing this issue because it has been inactive for a while. If you think it should still be opened let us know why.


Be a little forgiving in filtering file extensions

.yml is a rather common file extension for YAML files. I ask that increase our tolerance of different ways of thinking and different, common file extensions.

Merged as https://github.com/Yelp/elastalert/commit/d6cd1e92857b336a7f016cb1d3fc746a897d2639


Image loading issues

Good morning,
I have dicom files anonymized using an in-house Python program. I am not familiar with DICOM very much, so I removed, cleared or substituted several tags, including some UIDs and 'file meta', to get rid of patient data. I am able to read these files in Python, ITK-SNAP, mipav, Hitachi MRI viewer, Radiant. But I cannot load them to OHIF. I tried to restore file meta and UIDs from a different dataset and use correct VR for the 'anonymized' fields, but it still fails to load.

I don't see any  Dicom-Meta-Information-Header (0002, ****) tags - these should be present. Possibly removed by the in-house anonymisation software?
I have seen this before including some viewers accepting and some not.

Yes, the meta data were removed, but I don't know what to put there instead. Dummy metadata from another file did not fix the problem. Removing just the metadata from a non-anonymized file gives the same problem. Unfortunately I don't have access anymore to non-anonymized versions of the files I anonymized but I need to make them compatible with OHIF.

I have also just noticed that original DICOM files from a 0.4T Hitachi scanner also do not load. The anonymized data were from a Phillips scanner.

can you share the file?

dicoms.zip
Yes, here is the anonymized file that is the main problem and an untouched Hitachi file which also causes the same problem.

not programmatic, but this tool produces anonymized studies that are viewable in OHIF
http://www.dclunie.com/pixelmed/software/webstart/DicomCleanerUsage.html'

Thank you all for help. I managed to get access to the metadata of original, unanonymized files. Restoring them fixes the problem for the online viewer, I think. I just have one more question: are any of the metadata sensitive data enabling to identify the patient? It seems they aren't, but I can't really tell if the SOP Instance UID, Implementation Class UID or SOP Class UID is something patient-specific or more general.

The data that you mention, such as the SOP Instance UID, Implementation Class UID or SOP Class UID, do not identify the patient as such, but rather the type of study and the image, and most viewers use the sop instance uid to index the information since that identifies to the image itself, the other data like sop class uid is used to determine the type of image the file contains

They are not patient specific/identifying
On Mon, 20 Feb 2023, 10:58 jakub-jurek, @.***> wrote:

Thank you all for help. I managed to get access to the metadata of
original, unanonymized files. Restoring them fixes the problem for the
online viewer, I think. I just have one more question: are any of the
metadata sensitive data enabling to identify the patient? It seems they
aren't, but I can't really tell if the SOP Instance UID, Implementation
Class UID or SOP Class UID is something patient-specific or more general.
—
Reply to this email directly, view it on GitHub
https://github.com/OHIF/Viewers/issues/3185#issuecomment-1436662976, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABFNV3SJ6QODH4SS5MZCGILWYM53ZANCNFSM6AAAAAAU7FMMZU
.
You are receiving this because you commented.Message ID:
@.***>

Could you kindly provide the data if it has been anonymized and you can confirm that there is no patient health information present in any of the headers or embedded within the pixel data?

I already fixed the issue, the problem was with some header data that were removed totally, incorrectly substituted etc., as far as I remember. Thank you.

@jakub-jurek - we are also facing with meta data for images produced by Philips machines and not able to load them in viewer. Can you please share some details on (header)attributes you fixed which helped you to resolve the issue.

@sr0811
Could you kindly provide the data if it has been anonymized and you can confirm that there is no patient health information present in any of the headers or embedded within the pixel data?

@sr0811
I think it was some UID's. This was not in the original DICOM, the problem appeared after these UID's were mistakenly replaced by some dumb values.

@sr0811 Could you kindly provide the data if it has been anonymized and you can confirm that there is no patient health information present in any of the headers or embedded within the pixel data?

@sedghi - is there a way we can post the anonymized DICOM zip in 1:1 communication for this scenario?

dropbox


Refactor code according to the newest clippy and rustfmt

This PR addresses some issues that clippy and rustfmt had with the code.
As clippy features quite a broad test suite, I wasn't able to fix all warnings.
No commits in this PR change any actual behavior.

@sebcrozet I addressed your concerns

Great work, thanks!


Biber became extremely slow

I'm currently on the latest dev builds of 'biber', and somehow it got extremely slow. I can't give you exact figures and I know that the duration of a 'biber' run depends on several variables. But where before I was somewhere between 20 and 40 seconds for a 'biber' run, I'm now – with a comparable project – in the regions of more than five minutes. 'biber' remains forever at the 'Looking for bibtex format file' stage. It's a 6.2MB file with almost 6700 entries. While this is probably big, it's the same file I've been working with for years. It got, of course, bigger over time, but always gradually. There wasn't a huge increase which would explain the slowing down.
This is on OSX 10.10.2 with Perl 5.20.1.

Are you using the raw perl version with your own perl or the actual OSX binary builds? Do you have a MWE with your bib file I can use to debug?

I'm using my own builds with the latest additions from Github and the current perl from macports.

\usepackage[utf8]{inputenc}

\usepackage[style=fiwi]{biblatex}

\addbibresource{germanistik2.bib}

\begin{document}

\cite[]{Spiegel.S:2010b}

\printbibliography

\end{document}

You can get the .bib file here: https://www.dropbox.com/s/qm89wr1v4tuhlha/germanistik2.bib?dl=0

This exact MWE with 1 cite is a problem for you? It takes about a second for me ...

Biber needs about two minutes here.

I timed it now – in debug mode – and it took almost four minutes. Something else I noticed: perl grabs huge amounts of memory during this. Activity monitor show more than 1.6GB.
You can get the log from debug mode here: https://dl.dropboxusercontent.com/u/35828/Untitled.blg

You are building your own binary? What it you just install the perl version from the debug tree and run it without building a binary?

I'm not sure I understand you, maybe there's a problem of nomenclature. What I do is I get the latest changes from GitHub and then do the following sequence:
build
sudo build install````

Is this what you mean by "run the script"?

Ah, ok, that's fine. I wasn't sure if you were really running the scripts in the dist/ subdir to create an actual binary but if not, we're testing with the same setup.

According to your log, there are some user sourcemaps? If you try this MWE which I am using, what do you see?
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[style=fiwi]{biblatex}
\addbibresource{test5.bib}
\begin{document}
\cite[]{Spiegel.S:2010b}
\printbibliography
\end{document}

For me this takes a few seconds. I see in your log that all of the extra time is going in the bibtex caching stage. Do you have the latest version of Text::BibTeX installed?

What's the content of test5.bib in your example. The same as my original .bib file?

Yes, it's the one from your link above version:
%% Created for Simon Spiegel at 2015-03-12 22:42:46 +0100

Your MWE with my germanistik2.bib file takes more than 90s for biber to finish. Text::BibTeX is up to date.
Here's my biber.conf file:
<config>
<sourcemap>
<maps datatype="bibtex" map_overwrite="1">
    <map map_overwrite="1">
    <map_step map_field_source="AUTHOR"
            map_match="Csicsery-Ronay, Istvan, Jr."
            map_replace="Csicsery-Ronay, Istvan"/>
      </map>
</maps>
</sourcemap>
</config>````

Hmm, even with your .conf file, it takes about 4 seconds for me. What version of perl are you using exactly?

This is perl 5, version 20, subversion 1 (v5.20.1) built for darwin-thread-multi-2level

Hmm, same as me. perl Build.PL; Build installdeps  doesn't say you need to update any modules?

Nope, everything there.

Ok, what about trying the latest DEV binary version from SF - let's see if that gives the same problems.

This is indeed much quicker, a few seconds …

Then I think it must be something to do with your perl install. One suspicion - try this - it should just return nothing if all is ok:
perl -MList::MoreUtils::XS -e 'exit 0;'

This does indeed return nothing.

Ok, try a CPAN force reinstall of Text::BibTeX since that seems to be where it's taking all the time.

Tried that, made no noticeable difference. BTW I see the same behavior on two different machines.

Generate a module list on those machines with "cpan -l" and then do a diff against mine:
https://www.dropbox.com/s/6bv8e7smcnwtmf3/modlist.txt?dl=0

I hope I did that correctly. Here's the diff file: https://dl.dropboxusercontent.com/u/35828/diff.txt

Can you make a unified diff with the "-u" flag?

There you go: https://dl.dropboxusercontent.com/u/35828/diff.txt

Seems to be the change from Unicode::Normalize 1.17 to 1.18. Trying to find out why.

I downgraded to Unicode::Normalize 1.17 by hand and it did indeed result in the speed I was used to.

Yes, I spoke to the Unicode::Normalize author and he confirmed that 1.18 dropped the XS module due to some problematic perl 5.20 changes so the recommendation is for 1.17. I will change the biber Build.PL to force only 1.17 to be acceptable.


VOLUME instruction prevents a container from starting

If you create a volume that is already a file in the image, docker build happily completes, but you cannot run it.
sven:~/src/docker/tmp$ more Dockerfile

FROM    busybox
ADD     Dockerfile /data
VOLUME  ["/data"]
sven:~/src/docker/tmp$ docker build -t test .
Uploading context  2.56 kB
Uploading context
Step 0 : FROM busybox
 ---> 769b9341d937
Step 1 : ADD Dockerfile /data
 ---> 8ac230d38b08
Step 2 : VOLUME ["/data"]
 ---> Running in d9b8056add13
 ---> abc3d9d282e6
Successfully built abc3d9d282e6
sven:~/src/docker/tmp$ docker run -t -i -name -run_test test bash
2014/03/01 08:27:08 Error: start: Cannot start container 7d8242dd731f8ff0cd89e4f2ac59e5c5eb786e4defc589a531cda116d8fa3a55: readdirent: not a directory

@cpuguy83 @SvenDowideit is this still an issue?

Fix is is #10112
Fix is a combo of volumes now getting created @ container creation, and adding a check to see if there is already a file there and erroring out.
The error on start was coming from when the execdriver was actually trying to mount over the file.

When using the nginx container, I've run into this being an issue when I can't put a new nginx config over the previous, as outlined in the official nginx image readme:
/some/nginx.conf:/etc/nginx/nginx.conf:ro

I'm also facing this issue while trying to follow the nginx readme. Did you ever find a solution?

I just worked around it.

Any solutions?

My workaround (way back when) was to switch to building a docker image on deploy and doing an ADD: https://github.com/jupyter/tmpnb-deploy/pull/15/files


Support UDC as a concept in protostar

We should consider using it both internally in cheatcodes, and adding a deploy command which would use a UDC and accept class_hash as an input, and using official UDCs to deploy.

I think we should wait for starknet.py release for that to happen. It's not that urgent, since deploy_tx is still here.


Fixes emit of type predicate in declaration files

Fixes #3761.

lgtm

You also need to modify buildSignatureDisplay in the checker to do something similar. To test this, write an example where a variable has its type inferred, and the type includes a signature with a type predicate.

A few more tests would be nice. Type predicates with multiple parameters, generics, rest params, etc.

@JsonFreeman I guess you mean the the current functionality doesn't work:
/// <reference path="fourslash.ts" />

//// function /*1*/f(a: any): a is number {}

goTo.marker("1");
verify.signatureHelpCountIs(1);
verify.currentSignatureHelpIs("f(x: any): a is number");

I have been getting some issue with running the fourslash tests. I'm not being able to select any tests when I run:
jake runtests t=signatureHelpOnTypePredicate

@tinganho I thought @RyanCavanaugh fixed that fourslash issue. It had to do with a bad dependency in the order the test runners were created iirc. Did it never get checked in?

I use master from yesterday. Though I have seen the issue before. Then, I could just configure my test.config file and include fourslash. But now that strategy doesn't seem to work.

@tinganho Yes, quick info is one such consumer of buildSignatureDisplay. But you could run into the issue even in declaration emit.
My strategy for fourslash tests is to specify the test I want, and run it in the browser using jake runtests-browser t=signatureHelpOnTypePredicate. I think that works in Chrome, not sure about other browsers.

@JsonFreeman I got this error:
jake runtests-browser t=declFileFunction browser=chrome
rm -rf tests/baselines/local/
rm -rf internal/baselines/rwc/local
Running test(s): declFileFunction
node tests/webTestServer.js 8888 chrome declFileFunction
Static file server running at
  => http://localhost:8888/
CTRL + C to shutdown
Using browser: chrome
events.js:85
      throw er; // Unhandled 'error' event

I could maybe checkout what is wrong with the normal fourslash task.

Turns out the fourslash bug was the old maximum call stack error bug in #3273,  but without any error message which let me think it wasn't selecting any tests.

I never actually did get to the bottom of that test issue.
We need to rewrite most of that whole mess :cry:

:+1:

Thanks @tinganho

@JsonFreeman fixed the space issue

Thanks!


EPIC: Cost Optimized TWAP Path Discovery for Curve

As a user, I want Paloma to find lowest gas-cost path for my TWAP so that I am not using the most expensive paths for gas.
** Acceptance Criteria**

EPIC For Curve path-dependent TWAPs

Yes it is here https://www.notion.so/volumefi/EPIC-11-03-23-Optimizing-routes-for-multi-TWAP-bots-0185e8fdeec245b38bd95d350548d553

Epic delivered.


Sovereignty use case for Tribal Nations

[Enter feedback here]
Not included is the strong use case for all of the over 571 US gov federally recognized tribes that have their own constitutions, legislative and judiciary branch that would benefit from azure confidential computing.  Their need for sovereignty is huge factor to onboarding to any cloud.

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

ID: 6e8fc6e1-d889-b8cd-5e28-82852c3244c2
Version Independent ID: d5f8351e-16a2-bc20-7c46-972c9367b420
Content: Common Azure confidential computing scenarios and use cases
Content Source: articles/confidential-computing/use-cases-scenarios.md
Service: virtual-machines
Sub-service: confidential-computing
GitHub Login: @mamccrea
Microsoft Alias: mamccrea

@FolaSoft
Thanks for your feedback! We will investigate and update as appropriate.

@FolaSoft
Thanks for your contribution. Please add your ideas in below link, so our production team can review it and update the same.
Ideas · Community (azure.com)


Java client: Add CI for publishing to Maven Central

This PR adds a Maven Central publish step, replacing the GitHub registry.
The version number must be unique and incremental, it's composed by a fixed version 0.0.1 dash git commit count.
Also adds badges for javadocs and maven-central on the Java client's ReadMe.md:

IMPORTANT¹: The following SECRETS must be created on this repository before merging this PR:
MAVEN_CENTRAL_TOKEN
MAVEN_CENTRAL_USERNAME
MAVEN_GPG_SECRET_KEY
MAVEN_GPG_SECRET_KEY_PASSWORD
Please contact me on private to obtain the values to be configured.
More info about setting up github secrets can be found here
IMPORTANT²: We can delete the old GitHub's registry package after merging this PR.
Pre-merge checklist
Performance:

[X] I am very sure this PR could not affect performance.

Could we keep publishing to github as well?

bors r+

bors cancel

(I was too eager with the merge - let me ask @jorangreef to add the secrets when he gets in, then I'll r+ again)

@batiati could you DM said secrets to @jorangreef on Slack?

bors r+


Webview is using an old version of chrome

I get this warning when entering https://app.alexlab.co/swap website using WebView.
How can i solve it? Is there a way to update chrome? I am using  "react-native-webview": "12.1.0"
Platform: Android 11
react-native version: "0.70.8"

It turned out the package is using chrome installed in my Android mobile. I just had to update my browser.

react-native-webview does not specify the version to use. It uses whatever is installed on the device. You can find Android System WebView in the Play Store.


Why is renegotiation disabled in KTLS simply due to a code error?

I tried a renegotiation from s_client to see what would happen. I got an assertion failed error and abort! This error needs to call SSLfatal first. We later do a sanity check to make sure we've sent an alert via SSLfatal if we're in an error state. That assertion was failing in this case (also see #7594). I wonder if we should automatically set SSL_OP_NO_RENEGOTIATION if ktls is in use.

Originally posted by @mattcaswell in #5253 (comment)

@mattcaswell not being familiar with the ktls methods, is this still an issue?

The comment was responded to at the time of that PR and was (apparently) fixed (although I've not retested it now). I think this can be closed.


Create section for using Router with Digital Ocean

People are asking questions about how to use the router with Digital Ocean since the router does not create an ELB with that particular provider.

This has already been documented at https://github.com/deis/router#manually-configuring-a-load-balancer. We should add this to the official documentation if it's not already. :)


feat(token): Added token view to the app

PR related to this trello task --> https://trello.com/c/HO5iMgUC

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


DNS: expose 53/TCP

Finish v1beta3 conversion, too.
Fixes #7474
@vishh or  @cjcullen
Will add e2e coverage of this if I can figure it out.

@cjcullen of course feel free to swap around

e2e is hard - the only tool I know that can do TCP lookups is dig, and busybox !has dig.  will keep thinking about this.
In the mean time, manually tested.

LGTM

(To @vishh as he's already looked now.) I'll merge on green tomorrow—squash maybe?

Give me a bit to figure out e2e.  I can't figure out how to reproducibly
get a container with dig in it that isn't full-on ubuntu.  Grr.  I could
get source code and build my own static binary, but that's not really
reproducible.
On Tue, May 5, 2015 at 9:21 PM, Maxwell Forbes<EMAIL_ADDRESS>wrote:

(To @vishh https://github.com/vishh as he's already looked now.) I'll
merge on green tomorrow—squash maybe?
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/7822#issuecomment-99316976
.

Mmm... wish I knew more about *nix tooling ... @zmerlynn does, I think—thoughts?

The dig source code is the ISC bind distribution and does not have a
provision for static (the old issue with libresolve being dynamic no matter
what).  Still hunting for a good answer.
On Tue, May 5, 2015 at 11:33 PM, Maxwell Forbes<EMAIL_ADDRESS>wrote:

Mmm... wish I knew more about *nix tooling ... @zmerlynn
https://github.com/zmerlynn does, I think—thoughts?
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/7822#issuecomment-99342571
.

When I had to do this in bring up scripts on our system, I was left with
"getent hosts".
On May 5, 2015 11:42 PM, "Tim Hockin"<EMAIL_ADDRESS>wrote:

The dig source code is the ISC bind distribution and does not have a
provision for static (the old issue with libresolve being dynamic no matter
what). Still hunting for a good answer.
On Tue, May 5, 2015 at 11:33 PM, Maxwell Forbes<EMAIL_ADDRESS>wrote:

Mmm... wish I knew more about *nix tooling ... @zmerlynn
https://github.com/zmerlynn does, I think—thoughts?
—
Reply to this email directly or view it on GitHub
<
https://github.com/GoogleCloudPlatform/kubernetes/pull/7822#issuecomment-99342571
.

—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/7822#issuecomment-99344590
.

Added e2e, PTAL

Thanks for the e2e Tim. LGTM


browserHistoryTabs  cann not work at tabbar view mode

Hello,
I try to add browser history mode to my web app, but seems to cannot work at multi views as flollowing:

anyone have idea for tabbed view mode?

This remains broken. Same problem here. The history would be important to keep the “back” button working on Android. It's weird not having this behavior by default.


:arrow_up: Add jest@27 to list of potential peer dependencies.

This also upgrades dependency packages to avoid as many advisories as
possible. Note that some advisories were not able to be fixed, as the
dependencies including the respective package(s) have not yet been updated.

this also would need to run tests on jest 27

I'm not entirely sure how to make this change. Is it a change to CI configuration? I did run the tests using Jest 27 on my local machine, so I know they don't fail, but I'm not sure what is necessary here.

I'll rebase and land this after #25 is merged.

Thank you!


MicroBitIOPinService pin order

Thanks @martinwork.
Does this address #27?

I reckon it will help! I'll test it properly soon.


[AzureCore] Consider adding support for explicitly chained exceptions in AzureError

Is your feature request related to a problem? Please describe.
As per PEP3134: This PEP proposes three standard attributes on exception instances: the __context__ attribute for implicitly chained exceptions, the __cause__ attribute for explicitly chained exceptions, and the __traceback__ attribute for the traceback. A new raise ... from statement sets the __cause__ attribute.

Current azure.core.exceptions.AzureError doesn't support __cause__ or __context__, it only supports setting __traceback__.

Describe the solution you'd like
Consider adding support for the explicit chain exceptions. we could use the six library for combability with python2.7 -- six.raise_from(A, B) as the syntax raise A from B is only introduced in python3.
Describe alternatives you've considered
According to PEP3134, the implementation of explicit exception chaining is
The __cause__ attribute on exception objects is always initialized to None. It is set by a new form of the raise statement:

raise EXCEPTION from CAUSE
which is equivalent to:

exc = EXCEPTION
exc.__cause__ = CAUSE
raise exc

so our implementation doesn't have to depend on the six library.

Deprecated, solution done now


Ambiguity about *tval in case of virtual instruction exception

On a virtual instruction trap, mtval or stval is written the same as for an illegal instruction trap.

The specification says it is the same as the illegal instruction trap, the word same is not clear, I can interpret this statement in two ways:

same policy: Since mtval is either set to zero or written with illegal instruction on the illegal instruction trap, so mtval is also either set to zero or written with illegal instruction on the virtual instruction trap.
same value: Or the value in mtval must be the same as the illegal instruction when a virtual instruction exception occurs. In this view, we can consider this as converting a virtual instruction exception to an illegal instruction exception, except that the Trap Cause Codes remain unchanged.

I would like to confirm which understanding is correct, thanks.

Are you asking if it's okay for an implementation to write the illegal instruction's opcode bits into mtval on an illegal instruction trap, and write 0 into mtval on a virtual instruction trap?

Yes, that's right.

The quoted Priv spec sentence, read literally, means that mtval/stval is set on an virtual instruction trap in exactly the same way as for an illegal instruction trap.  Inclusion of the word "exactly" just emphasizes the point being stated by the quoted sentence.
But still, having said that, one could try and apply a non-literal reading and say that it is ok to implement different behavior for illegal versus virtual instruction traps.
My own suggestion would be to not go there, and to implement the same behavior in both cases.  But if someone feels the need to implement differently and hence needs to ask whether the non-literal reading of the quote is architecturally valid, then someone like John Hauser (author of the H extension spec) will need to weigh in on the architectural intent of the quoted text.

My pleas would be to not go there also.
An implementation that does that would like not pass architectural tests
(when they're eventually written) and would have to apply for a waiver to
certify that it's compatible
On Mon, May 16, 2022 at 10:31 AM gfavor @.***> wrote:

The quoted Priv spec sentence, read literally, means that mtval/stval is
set on an virtual instruction trap in exactly the same way as for an
illegal instruction trap. Inclusion of the word "exactly" just emphasizes
the point being stated by the quoted sentence.
But still, having said that, one could try and apply a non-literal reading
and say that it is ok to implement different behavior for illegal versus
virtual instruction traps.
My own suggestion would be to not go there, and to implement the same
behavior in both cases. But if someone feels the need to implement
differently and hence needs to ask whether the non-literal reading of the
quote is architecturally valid, then someone like John Hauser (author of
the H extension spec) will need to weigh in on the architectural intent of
the quoted text.
—
Reply to this email directly, view it on GitHub
https://github.com/riscv/riscv-isa-manual/issues/846#issuecomment-1127945789,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHPXVJWRN7ET7WAMWMTXSP3VKKBAXANCNFSM5WB4YNFQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

cc to @jhauser-us

Are you asking if it's okay for an implementation to write the illegal instruction's opcode bits into mtval on an illegal instruction trap, and write 0 into mtval on a virtual instruction trap?

Is that the question?
As I read it, the RISC-V Privileged Architecture doesn't say that one of these two statements must be true:

mtval/stval is always set to zero on every illegal instruction trap; or
mtval/stval is always written with the faulting instruction on every illegal instruction trap.

Instead, I believe the spec says that an implementation is free to make an independent choice (zero or not zero) on each illegal instruction trap.  Hence, it should also be okay for an implementation to write the faulting instruction into mtval/stval on every illegal instruction trap, and set mtval/stval to zero on every virtual instruction trap, because that's a valid choice (zero or not zero) for each trap.
Be aware, though, that RISC-V platform standards may make additional rules that reduce an implementation's freedom.
If that's not really the question, then I don't understand the question, to be honest.

Yes, that's the point I want to ask. The original description gives the impression that it must write the same value as the illegal instruction trap. But according to your explanation, they should be independent and have the same policy of being free to choose the value to write (zero or illegal instruction).
And thank you all, my question is solved. If there is nothing else to discuss, I will close this issue.

To say it another way (because I interpreted that statement differently,
and clearly incorrectly):
for any specific value in the xcause CSR, one of those statements must be
true, but it can vary from xcause value to xcause value.
I.e if xcause=2 (illegal instruction) it might always store the faulting
instruction, but for cause=22 (virtual instruction) is might always set it
to zero -
and not that it can sometimes store the faulting instruction and sometimes
zero for illegal instruction, xcause 2.
I assumed the above, but  interpreted the spec statement to mean that it
wasn't mode dependent as well:
i.e. if Umode stored the instruction on an illegal instruction exception,
then
every mode that took an illegal instruction exception would also store the
instruction.
On Mon, May 16, 2022 at 9:24 PM Yan @.***> wrote:

Yes, that's the point I want to ask. The original description gives the
impression that it must write the same value as the illegal instruction
trap. But according to your explanation, they should be independent and
have the same policy of being free to choose the value to write (zero or
illegal instruction).
And thank you all, my question is solved. If there is nothing else to
discuss, I will close this issue.
—
Reply to this email directly, view it on GitHub
https://github.com/riscv/riscv-isa-manual/issues/846#issuecomment-1128395842,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHPXVJQLXMMO7ZDYUCQAWTTVKMNRFANCNFSM5WB4YNFQ
.
You are receiving this because you commented.Message ID:
@.***>


Comments and trivial cleans

add comments
use #== to compare classes in SoilObjectId>>#= (saves one message send)
simplify SoilIndexedDictionary #removeKey:ifAbsent:

Pharo 12 failure is tracked here: https://github.com/hpi-swa/smalltalkCI/issues/622

Now it fails with
Testing project...
Instance of MetacelloProjectRegistration did not understand #currentlyLoadedClassesInProject

I opened an issue for Pharo12: https://github.com/pharo-project/pharo/issues/15939

And it fails not always. Which means that this is the result of the new test order randomization in Pharo12... I guess another test changes the encode and does not change it back to the default.