Closed Bug 1810534 Opened 1 year ago Closed 1 year ago

Issue with frozen glean in universal2 binary

Categories

(Testing :: mozregression, defect)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: zeid, Assigned: zeid)

References

Details

Attachments

(1 file)

When running a universal2 build (e.g., 5.3.0rc*) from arm64, the following error is encountered. This is because glean-sdk does not provide a universal2 binary.

[95893] Traceback:                                                                                                                                                                         
Traceback (most recent call last):                                                                                                                                                         
  File "PyInstaller/loader/pyimod03_ctypes.py", line 53, in __init__                                                                                                                       
  File "ctypes/__init__.py", line 376, in __init__                                                                                                                                         
OSError: dlopen(/Applications/mozregression GUI.app/Contents/MacOS/glean/libglean_ffi.dylib, 0x0006): tried: '/Applications/mozregression GUI.app/Contents/MacOS/glean/libglean_ffi.dylib' 
(mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Applications/mozregression GUI.app/Contents/MacOS/glean/libglean_ff
i.dylib' (no such file), '/Applications/mozregression GUI.app/Contents/MacOS/glean/libglean_ffi.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))

The above exception was the direct cause of the following exception:
Traceback (most recent call last):                                                                                                                                                         
  File "mozregression-gui.py", line 3, in <module>                                                                                                                                         
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load                                                                                                                       
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked                                                                                                              
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked                                                                                                                        
  File "PyInstaller/loader/pyimod02_importers.py", line 499, in exec_module                                                                                                                
  File "mozregui/main.py", line 11, in <module>                                                                                                                                            
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load                                                                                                                       
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked                                                                                                              
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked                                                                                                                        
  File "PyInstaller/loader/pyimod02_importers.py", line 499, in exec_module                                                                                                                
  File "mozregui/global_prefs.py", line 4, in <module>                                                                                                                                     
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load                                                                                                                       
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked                                                                                                              
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked                                                                                                                        
  File "PyInstaller/loader/pyimod02_importers.py", line 499, in exec_module                                                                                                                
  File "glean/__init__.py", line 18, in <module>                                                                                                                                           
    from .glean import Glean                                                                                                                                                               
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load                                                                                                                       
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked                                                                                                              
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked                                                                                                                        
  File "PyInstaller/loader/pyimod02_importers.py", line 499, in exec_module
  File "glean/glean.py", line 19, in <module>                                                
    from .config import Configuration
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked 
  File "PyInstaller/loader/pyimod02_importers.py", line 499, in exec_module  
  File "glean/config.py", line 13, in <module>                     
    from . import net                                                                        
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller/loader/pyimod02_importers.py", line 499, in exec_module
  File "glean/net/__init__.py", line 11, in <module>
    from .base_uploader import BaseUploader
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller/loader/pyimod02_importers.py", line 499, in exec_module
  File "glean/net/base_uploader.py", line 13, in <module>
    from .ping_uploader import PingUploader, UploadResult
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller/loader/pyimod02_importers.py", line 499, in exec_module
  File "glean/net/ping_uploader.py", line 9, in <module>
    from .._uniffi import UploadResult
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "PyInstaller/loader/pyimod02_importers.py", line 499, in exec_module
  File "glean/_uniffi.py", line 346, in <module>
    _UniFFILib = loadIndirect()
                 ^^^^^^^^^^^^^^
  File "glean/_uniffi.py", line 341, in loadIndirect
    return ctypes.cdll.LoadLibrary(path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ctypes/__init__.py", line 454, in LoadLibrary
  File "PyInstaller/loader/pyimod03_ctypes.py", line 55, in __init__
pyimod03_ctypes.install.<locals>.PyInstallerImportError: Failed to load dynlib/dll '/Applications/mozregression GUI.app/Contents/MacOS/glean/libglean_ffi.dylib'. Most likely this dynlib/dll was not found when the application was frozen.
Depends on: 1810737
Attached file GitHub Pull Request
Assignee: nobody → zeid
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: