2024-11-20

haproxy-3.0.6 failed to chroot, explained by Gemini Code Assist

 

haproxy-2.6.6 was able to run with user root

but haproxy-3.0.6 hit error:

haproxy[384105]: [ALERT] (384105) : [/usr/local/sbin/haproxy.main()] Cannot chroot(/opt/haproxy/chroot).

The fact that HAProxy 2.6.6 ran as root while HAProxy 3.0.6 fails with a chroot error when run as root indicates a key difference: HAProxy 2.6.6 was not actually using chroot, even if the directive was present in the configuration file. Running as root bypasses the chroot setup because root has access to the entire filesystem. The chroot directive was effectively being ignored.

With HAProxy 3.0.6, the chroot is being correctly enforced. Since the chroot environment (/opt/haproxy/chroot) is likely missing the necessary files for HAProxy to run (its binary, libraries, configuration, etc.), it fails to start.

Here's what to do:

  1. Confirm chroot necessity: Do you actually need chroot? If not, remove the chroot /opt/haproxy/chroot line from your /etc/haproxy/haproxy.cfg. This is often the simplest and best solution.

  2. If chroot is required:

    • Populate the chroot environment: Copy the necessary files into /opt/haproxy/chroot. This includes the HAProxy binary, required libraries (use ldd /usr/local/sbin/haproxy to find them), your haproxy.cfg file, and any other files HAProxy needs (e.g., certificates). Remember, the paths inside the chroot must match the paths HAProxy expects. So, if a library is normally in /lib64/, it needs to be in /opt/haproxy/chroot/lib64/.
    • Permissions: Even as root, ensure the files within /opt/haproxy/chroot have the correct permissions for the user HAProxy runs as within the chroot.
  3. Alternatives: Consider alternatives to chroot, such as Docker or systemd's isolation features, which are easier to manage and often provide better security.

The key takeaway: your HAProxy 2.6.6 was likely not using chroot at all, even if the directive was present in the configuration. The root user bypassed the chroot restriction. Now, with 3.0.6, the chroot is being enforced, hence the error. Either populate the chroot or, better yet, remove the chroot directive if it's not essential.













2024-10-29

Spring Boot 2 to 3

 

JPA

"Auditable"

with @MappedSuperclass

Fixed by 

replace package:
javax.persistence

by package:
jakarta.persistence







2024-10-18

Maven build script JDK version error

 
Issue:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile (default-compile) on project tn-hp-inc-gts-e4h-ws-keycloak-sample: Compilation failure
[ERROR] /C:/[Project]/SpringBootApplication.java:[4,32] cannot access org.springframework.boot.SpringApplication
[ERROR]   bad class file: [.m2]\repository\org\springframework\boot\spring-boot\3.3.1\spring-boot-3.3.1.jar(org/springframework/boot/SpringApplication.class)
[ERROR]     class file has wrong version 61.0, should be 52.0
[ERROR]     Please remove or make sure it appears in the correct subdirectory of the classpath.





Resolved by configured to Execution Environment.
Instead of Alternate JRE from reference URL, as if project been shared by a team via Git/SVN, which develop at different environments.








Reference URL:



If running from Eclipse (e.g. Maven commands), you need to be using the right JDK version for Run As -> Maven. Ensure that your JRE version is selected appropriately under the JRE tab:









Maven structure - year '22

 Maven structure


https://stackoverflow.com/questions/73652655/microservices-and-maven-structure








2024-10-15

Eclipse Version: 2024-09 (4.33.0) - Downloading external resources is disabled

 


Downloading external resources is disabled. pom.xml /your-project line 3 Language Servers

Solved by below:

https://stackoverflow.com/a/77973991











2024-10-09

Backup WiFi

 




Reference URL : https://winaero.com/backup-and-restore-wireless-network-profiles-in-windows-10/

Backup

mkdir C:\Billson\WiFi
netsh wlan export profile key=clear folder=C:\Billson\WiFi

Restore

Please refer to the URL above








Processes/Files that locking USB external HDD to be ejected and safely removed from laptop.

 




Image PID Type Handle Name
svchost.exe (LocalSystemNetworkRestricted -p) 18036 File D:\System Volume Information\tracking.log
svchost.exe (LocalSystemNetworkRestricted -p) 18036 File D:\$Extend\$ObjId:$O:$INDEX_ALLOCATION

20241009T125929+0800






2024-10-04

Eclipse Java Maven Project doesn't download Maven Dependencies

 

Run As > Maven Install

To trigger Eclipse download Maven Project Dependencies.















Google Referrals