jakob / Postico

Public issue tracking for Postico
https://eggerapps.at/postico/
475 stars 9 forks source link

Constantly crashes after update to macOS Sequoia #884

Closed paridin closed 1 month ago

paridin commented 1 month ago

What did you do?

What actually happened?

[crash report removed by jakob for brevity]

What software versions are you using?

Postico version:
Version 2.1.1 (9692)

macOS version:
15.0 (24A335)

PostgreSQL version:
PostgreSQL 14.12 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-12), 64-bit

dikobrazsd commented 1 month ago

same here.. crashing while changing filter

dikobrazsd commented 1 month ago
[crash report removed by jakob for brevity]
jakob commented 1 month ago

I have not yet been able to reproduce this bug. I've received around 300 crash reports from 30 users. So it seems that the problem only affects a small number of users, but it keeps happening again and again for the affected users.

The crash is caused by some mouse tracking code in token fields. The "is in list" filter is the only Postico feature that uses token fields, so it must be related to that.

The bug is more common on Intel Macs than on Apple Silicon, but it happens on both.

I wonder if it is triggered by certain filter values. Since Postico stores filters in the "DisplaySettings", it would explain why it crashes again and again for some users.

If you run into the crash again, could you share the display settings of the table that crashes with me? Here's how to get the display settings:

1) Open Postico 2) Go to the list of servers 3) Right Click on the problematic server, select "Show In Finder" 4) Open the revealed folder 5) Open the "DisplayOptions" folder 6) Find the json file for the table that crashed 7) Email me a copy of that file to jakob@eggerapps.at

Thank you !

jakob commented 1 month ago

Thank you for emailing the DisplaySettings file! I was able to reproduce the crash when running Postico using Rosetta.

The crash seems to happen when moving the mouse over the "is in list" field. Apparently there is a bug in the mouse-over code of NSTokenFieldCell in macOS Sequoia.

I've tried to work around the issue by disabling the mouse-over code in build 9701. I think this might cause an incorrect cursor to be shown in some cases (bar cursor instead of arrow cursor), but apart from that there seem to be no side effects.

This is the second crashing bug in token fields that I've had to work around. Maybe I should not use this control, it's obvious Apple doesn't test it.

Please download the latest build from https://releases.eggerapps.at/postico2/changelog?update_channel=1

As soon as I have done some more testing, I will release this fix in Postico 2.1.2

jakob commented 1 month ago

Postico 2.1.2 is now released. Thank you for reporting this bug!