Opened 7 months ago

Closed 5 months ago

#68550 closed defect (worksforme)

tk @ 8.6.13: KERN_PROTECTION_FAILURE on 10.5 (Intel)

Reported by: Jazzzny Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc: chrstphrchvz (Christopher Chavez)
Port: tk

Description

When attempting to render a tk widget via X11 on 10.5 (Intel), the tk window will forcibly resize and crash, with the specified widget never rendering.

I have observed this behaviour in every application utilizing tk, including wish (https://wiki.tcl-lang.org/page/Hello%2C+Widgets%21+%28a+rock-bottom+basic+tutorial+in+Tcl+and+Tk%29 for a demo, window renders fine until a window is packed), a simple tkinter application, and the Python IDLE editor.

Attachments (1)

crash.rtf (25.3 KB) - added by Jazzzny 7 months ago.
Crash log

Download all attachments as: .zip

Change History (9)

Changed 7 months ago by Jazzzny

Attachment: crash.rtf added

Crash log

comment:1 Changed 7 months ago by jmroot (Joshua Root)

Milestone: MacPorts Future
Owner: set to MarcusCalhoun-Lopez
Status: newassigned

comment:2 Changed 7 months ago by chrstphrchvz (Christopher Chavez)

Cc: chrstphrchvz added

comment:3 Changed 7 months ago by chrstphrchvz (Christopher Chavez)

The crash log is for XQuartz rather than Tk, and for an old version of XQuartz from Apple, so MacPorts cannot fix any issues it has. I doubt that this crash is due to some intentional incompatibility between Tk and older X11 servers.

MacPorts offers relatively newer of versions XQuartz. For 10.5 Leopard, there is xorg-server-1.18 and xorg-server-legacy; I believe the latter is recommended.

Last edited 5 months ago by chrstphrchvz (Christopher Chavez) (previous) (diff)

comment:4 Changed 7 months ago by Jazzzny

Installing xorg-server-legacy and running tk programs through its X11.app now works properly. However, running applications directly still launches the Apple XQuartz. Can I override the default X11 server?

Thanks

comment:5 in reply to:  4 Changed 7 months ago by chrstphrchvz (Christopher Chavez)

Replying to Jazzzny:

Installing xorg-server-legacy and running tk programs through its X11.app now works properly. However, running applications directly still launches the Apple XQuartz. Can I override the default X11 server?

The notes for the xinit port say to log out and log back in to have MacPorts’ XQuartz be the default. If you want or need to try removing Apple XQuartz, however, maybe try the commands at https://www.xquartz.org/FAQs.html#messed-it-up-got-confused-want-to-start-over-leopard:

  • Delete pretty much all X11 from you system, and let it forget its receipts
        sudo rm -rf /usr/X11* /System/Library/Launch*/org.x.* /Applications/Utilities/X11.app /etc/*paths.d/X11
        sudo pkgutil --forget com.apple.pkg.X11DocumentationLeo
        sudo pkgutil --forget com.apple.pkg.X11User
        sudo pkgutil --forget com.apple.pkg.X11SDKLeo
        sudo pkgutil --forget org.x.X11
    

comment:6 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)

Unloading Xquartz's launchd plist before deleting it would be a good idea.

comment:7 Changed 6 months ago by Jazzzny

After a bit of tinkering, I've figured out the process:

  1. Follow comment 5 to remove XQuartz
  2. This will uninstall Xterm, so reinstall it with MacPorts
  3. Load the MacPorts startx with sudo launchctl load -w /Library/LaunchAgents/org.macports.startx.plist
  4. Reboot

With these steps, all X11 apps are now using xorg-server-legacy.

Thanks for the help, everyone

comment:8 Changed 5 months ago by neverpanic (Clemens Lang)

Resolution: worksforme
Status: assignedclosed
Note: See TracTickets for help on using tickets.