• Javascript restriction in Trixie

    From bp@3:633/10 to All on Monday, December 08, 2025 10:00:01
    I just set up another Trixie install for a Pi2Bv1.1, so armv7, for
    use with an Owon vds1022 USB oscilloscope. I have an older install
    (bookworm) on a separate microSD card which works correctly, but the
    card is too small (8GB) to allow useful working space. The new install
    is less than a year newer than the working one.

    The new install allows installation of Florentbr's software found at
    GitHub but when the software is run it gets stuck in a loop and can't
    connect to the 'scope:

    bob@raspberrypi:~/OWON-VDS1022-1.1.5-cf19 $ sudo owon-vds-tiny
    env: Linux, Java 25.0.1 arm
    app dir: /opt/owon-vds-tiny
    user dir: /root/.owon-vds-tiny
    locale: en_US, en_US, true
    WARNING: A restricted method in java.lang.System has been called
    WARNING: java.lang.System::load has been called by ch.ntb.usb.LibusbJava in an unnamed module (file:/opt/owon-vds-tiny/lib/ch.ntb.usb-0.5.9.jar)
    WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
    WARNING: Restricted methods will be blocked in a future release unless native access is enabled

    ch.ntb.usb.USBException: LibusbJava.usb_claim_interface: Device or resource busy
    at com.owon.uppersoft.vds.core.usb.CDevice.open(CDevice.java:91)
    at com.owon.uppersoft.vds.core.usb.CDevice.getDevices(CDevice.java:300)
    at com.owon.uppersoft.dso.source.usb.USBSourceManager.refreshUSBPort(USBSourceManager.java:79)
    at com.owon.uppersoft.dso.source.comm.detect.USBLoopChecker.checkUSBDevice(USBLoopChecker.java:74)
    at com.owon.uppersoft.dso.source.comm.USBDaemonHelper.onNotConnecting(USBDaemonHelper.java:35)
    at com.owon.uppersoft.vds.machine.InfiniteDaemonTiny0.onNotConnecting(InfiniteDaemonTiny0.java:37)
    at com.owon.uppersoft.dso.source.comm.Flow.run(Flow.java:79)
    at com.owon.uppersoft.dso.global.ControlAppsTiny$1.run(ControlAppsTiny.java:38)

    that never seems to stop.

    The warning prompted me to try running under sudo, but that made no difference.

    On closer inspection, it's not clear the warning has any relevance to the "device or resource busy" message. Busy isn't the same as restricted.

    If anybody's got a suggestion please post!

    Thanks for reading,

    bob prohaska


    --- PyGate Linux v1.5.1
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Theo@3:633/10 to All on Monday, December 08, 2025 03:05:02
    bp@www.zefox.net wrote:
    I just set up another Trixie install for a Pi2Bv1.1, so armv7, for
    use with an Owon vds1022 USB oscilloscope. I have an older install
    (bookworm) on a separate microSD card which works correctly, but the
    card is too small (8GB) to allow useful working space. The new install
    is less than a year newer than the working one.

    The new install allows installation of Florentbr's software found at
    GitHub but when the software is run it gets stuck in a loop and can't
    connect to the 'scope:

    bob@raspberrypi:~/OWON-VDS1022-1.1.5-cf19 $ sudo owon-vds-tiny
    env: Linux, Java 25.0.1 arm

    That's Java, not Javascript.

    app dir: /opt/owon-vds-tiny
    user dir: /root/.owon-vds-tiny
    locale: en_US, en_US, true
    WARNING: A restricted method in java.lang.System has been called
    WARNING: java.lang.System::load has been called by ch.ntb.usb.LibusbJava in an unnamed module (file:/opt/owon-vds-tiny/lib/ch.ntb.usb-0.5.9.jar)
    WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
    WARNING: Restricted methods will be blocked in a future release unless native access is enabled

    ch.ntb.usb.USBException: LibusbJava.usb_claim_interface: Device or resource busy
    at com.owon.uppersoft.vds.core.usb.CDevice.open(CDevice.java:91)
    at com.owon.uppersoft.vds.core.usb.CDevice.getDevices(CDevice.java:300)
    at com.owon.uppersoft.dso.source.usb.USBSourceManager.refreshUSBPort(USBSourceManager.java:79)
    at com.owon.uppersoft.dso.source.comm.detect.USBLoopChecker.checkUSBDevice(USBLoopChecker.java:74)
    at com.owon.uppersoft.dso.source.comm.USBDaemonHelper.onNotConnecting(USBDaemonHelper.java:35)
    at com.owon.uppersoft.vds.machine.InfiniteDaemonTiny0.onNotConnecting(InfiniteDaemonTiny0.java:37)
    at com.owon.uppersoft.dso.source.comm.Flow.run(Flow.java:79)
    at com.owon.uppersoft.dso.global.ControlAppsTiny$1.run(ControlAppsTiny.java:38)

    that never seems to stop.

    The warning prompted me to try running under sudo, but that made no difference.

    On closer inspection, it's not clear the warning has any relevance to the "device or resource busy" message. Busy isn't the same as restricted.

    If anybody's got a suggestion please post!

    From various searching it seems this error is to do with something else
    already having grabbed the port. Could be an old run of the app that hasn't properly stopped, a desktop app (eg GNOME's Nautilus file manager likes to
    grab MTP devices, which prevents digiKam downloading photos) or a system service (eg if appears as a HID device, maybe the system USB keyboard driver grabs it, or a storage device that got automounted).

    Depending on what kind of device it appears as (serial, keyboard, mass
    storage, network, ...) see if you can work out what other app might have grabbed it. ('sudo lsof' is handy here, if it appears as a device node that you can grep for)

    Theo

    --- PyGate Linux v1.5.1
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From bp@3:633/10 to All on Sunday, December 14, 2025 17:30:01
    bp@www.zefox.net wrote:
    bp@www.zefox.net wrote:
    Daniel James <daniel@me.invalid> wrote:
    On 07/12/2025 18:55, bp@www.zefox.net wrote:
    WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module

    Have you done that?

    After a fashion, yes. I tried appending
    --enable-native-access=ALL-UNNAMED
    on the command line, but it made no difference.

    Clearly, the restriction is new(ish) and there's no obvious reason to
    think that's the right place put the option. The references I found on-line >> to this change date from 2025, the application was last updated in 2022 IIRC.

    Thanks for writing!

    bob prohaska

    It turns out there's a problem report that resembles mine at https://github.com/florentbr/OWON-VDS1022/issues/76
    but it doesn't offer an explicit resolution.

    At this point I have Trixie and Bookworm installs that don't connect
    and a somewhat older Bookworm install that worked out of the box. So
    far, the one that works is on a 33 bit Pi2.

    I made a copy of the working microSD, booted that and verified it could communicate with the 'scope. Then I invited the system to upgrade and
    it made about 350 changes to packages. After that, the 'scope couldn't
    be connected to.

    So, clearly, an incompatibility has been introduced by the upgrade.

    Is there some way to selectively update and revert when trouble strikes?
    It isn't something I _have_ to fix, but it might be useful to know now.

    Thanks for reading,

    bob prohaska


    --- PyGate Linux v1.5.2
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)