Page 2 of 2 FirstFirst 12
Results 11 to 19 of 19
  1. #11
    Untangle Ninja sky-knight's Avatar
    Join Date
    Apr 2008
    Location
    Phoenix, AZ
    Posts
    25,263

    Default

    Quote Originally Posted by donhwyo View Post
    The problem is the lack of ssse3 not 32 vs 64. The question should be would it work without it? How bad is the performance hit? Should Untangle remove the requirement? Or at least have a test during the upgrade process to keep from killing working boxes?

    AMD has had 64 bit almost forever at least in computer years.
    But that's just it, that CPU never had SSSEv3, and yet the SSSEv3 requirement was injected with Untangle v11! That's when LIBC started requiring those extensions. So I honestly don't know how it's working on v15.1, it shouldn't... he should be getting the exact same error there too.

    And no, Untangle is dependent on several things that require those extensions, it's not a matter of performance. The product flat will not work without those CPU instructions.
    Rob Sandling, BS:SWE, MCP
    NexgenAppliances.com
    Phone: 866-794-8879 x201
    Email: support@nexgenappliances.com

  2. #12
    Untangle Ninja
    Join Date
    May 2008
    Posts
    1,334

    Default

    So it seems there should have been a test ssse3 in the past and may be now for a clean install. What about an upgrade?

    "The product flat will not work without those CPU instructions. " It seems to be working for the op?

  3. #13
    Untangle Ninja sky-knight's Avatar
    Join Date
    Apr 2008
    Location
    Phoenix, AZ
    Posts
    25,263

    Default

    Quote Originally Posted by donhwyo View Post
    So it seems there should have been a test ssse3 in the past and may be now for a clean install. What about an upgrade?

    "The product flat will not work without those CPU instructions. " It seems to be working for the op?
    That's just it... there IS. That test is not new, and it's been in Debian for a LONG time. It happens on package install, so he should have failed the upgrade from v10 to v11, and every other OS level upgrade since. I have no idea how this thing is working.
    Rob Sandling, BS:SWE, MCP
    NexgenAppliances.com
    Phone: 866-794-8879 x201
    Email: support@nexgenappliances.com

  4. #14
    Newbie
    Join Date
    Oct 2020
    Posts
    2

    Default

    I received that SSSE3 error on my Xeon E3-1230, but when looking up that CPU it says it supports SSSE3, so I'm confused, perhaps it's a setting in my proxmox vm that isn't being passed through? I installed v16 and included the libraries just in case I can get it working somehow.

  5. #15
    Untangle Ninja
    Join Date
    May 2008
    Posts
    1,334

    Default

    Did you select host as processor type? Also select advanced options to match.

  6. #16
    Newbie
    Join Date
    Oct 2020
    Posts
    2

    Default

    Quote Originally Posted by donhwyo View Post
    Did you select host as processor type? Also select advanced options to match.
    No, I didn't select host, this is now done and I will attempt a reinstall. Thanks for the tip!

  7. #17
    Untangle Ninja
    Join Date
    Jan 2011
    Posts
    1,322

    Default

    I had Untangle v14 or v15 running for awhile on an older Opteron 6134 (Magny-Cours) server without SSSE3 support, aside from getting the warning during the install it seemed to work just fine. I've no idea what function if any would actually require it, but I didn't encounter it.

  8. #18
    Newbie
    Join Date
    Nov 2013
    Posts
    10

    Default

    I just finished installing Untangle version 16.0.1 on an AMD Phenom II X4 905e that has SSE3 support but not SSSE3 support with no problems. Just change the "no" to a "yes" during installation when it complains about missing SSSE3 This was downloaded as an ISO from the Release page and I used Rufus to put it on a USB stick.

    I had this machine running the commercial Spam Blocker and it did work.

    Libhyperscan5 is a pattern-matching library from Intel. Hyperscan 4.4 and later have an API function hs_valid_platform() to check whether the host provides the SSSE3 instruction set required by Hyperscan so I would say that good programming practice would be to check if the host provides SSSE3 and pass an error back if it does not. Then the scanning code can use the "older slower way" to do it's scanning instead of the hyperscan way of doing it's scanning.

    Apparently the Chromium that comes with Untangle uses some SSE3 instructions and an old trick to get Untangle installed on CPU's that only supported SSE2 was to install it and then the Setup Wizard would crash. Then you could run Terminal and access the default inside IP of 192.168.2.1 with a browser running on a PC and login with the password "password" and finish the configuration.

    I would definitely shut off auto-updates though on a production system. Test it on a test system first. No telling what a newer version of Untangle might do.

    I did email support with Untangle asking what used libhyperscan5 and if I get anything useful back I'll update this post. I did see a mention in the wiki a few years back that said that 3rd party apps for untangle might be linked to this library. YMMV
    Last edited by tedm; 10-31-2020 at 06:12 PM. Reason: typo

  9. #19
    Newbie
    Join Date
    Nov 2013
    Posts
    10

    Default

    Here is some more info on this issue.

    Libhyperscan5 was developed specifically for use with Deep Packet Inspection software so if there is any app in Untangle that would use this it would be Application Control. However, the Untangle apps are written in Java, and at least with the OpenJava (open JDK) the lack of SSSE3 was identified as a bug here: https://bugs.openjdk.java.net/browse/JDK-8232106 and repaired.

    From the bug details:

    Instructions like pabsb/w/d, phaddd get emitted when SSE3 is available, but are not supported without SSSE3.

    E.g. AMD Opteron(tm) Processor 2218 has SSE3, but not SSSE3

    So this would be a complete non-issue with any Untangle apps written in Java because the JDK won't create bytecode that can't execute on a processor lacking SSSE3. In fact, it likely won't create bytecode that will require SSE3 if SSSE3 isn't available because those instructions are so tied to each other.

    It is also worth noting that the openssl library is affected by the presence or absence of these instructions. I believe the precompiled openssl library is built to permit use of SSE3, but an environmental variable can be passed to OpenSSL to disable attempts to use these instructions even if the library was compiled to use them and once more good programming practice would
    be to test if the special "go-fast" SSE3 instructions existed in any app and disable them on CPUs that did not have them.

    Even /proc/cpuinfo was patched to identify the presence or lack of these instructions although as
    an older program it shouldn't be used, instead use "cpuctl identify 0" instead of /proc/cpuinfo
    to check cpu features (PR#49246 in libcrypto).

    Where any of this would matter in Untangle is merely that DPI and various encryption apps (like the VPN apps) would run slower on a CPU without these instructions since longer, slower code paths would be used. So you would not get as high bandwidth through a firewall on these older CPUs for certain applications.

    Note that ARM cpu's lack these instructions so if Untangle apps are written to execute on either platform (which is the entire point of using Java code in the first place) then Untangle MUST NOT have any dependency on these instructions. The error message during the install of Untangle really needs to be modified to explain this and changed to remove the yes/no question since a "no" will always result in an Untangle install failure even when Untangle would run on the machine.

Page 2 of 2 FirstFirst 12

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

SEO by vBSEO 3.6.0 PL2