Opened 3 years ago

Closed 19 months ago

#1197 closed defect (fixed)

Update checker can crash on OS X 10.6

Reported by: jbuchmann Owned by: nielsm
Priority: normal Milestone: 2.1.9
Component: General Version: 2.1.8
Severity: crash Keywords: updatechecker
Cc: Platform: OS X
Sub Component:

Description (last modified by nielsm)

It seems that the automatic update checker can cause crashes under some circumstances on Mac OS X 10.6.


Original report:

I download and install Aegisub 2.1.8 intel, when opening the app i get a Fatal Exception.
Try several times, also reinstall and keep crashing.

Attached crash report.

Attachments (4)

crash.txt (33.6 KB) - added by jbuchmann 3 years ago.
Aegisub crah on start, Mac Os 10.6.3
ifconfig.txt (1.5 KB) - added by jbuchmann 3 years ago.
Sample of Aegisub crash.txt (26.8 KB) - added by jbuchmann 3 years ago.
bug1197.patch (508 bytes) - added by nielsm 3 years ago.
Best fix I can think of, but haven't been able to reproduce issue myself

Download all attachments as: .zip

Change History (20)

Changed 3 years ago by jbuchmann

Aegisub crah on start, Mac Os 10.6.3

comment:1 follow-up: Changed 3 years ago by nielsm

How much do you get to see on screen before the crash? The crash report unfortunately doesn't have much useful information.

comment:2 in reply to: ↑ 1 Changed 3 years ago by jbuchmann

Replying to nielsm:

How much do you get to see on screen before the crash? The crash report unfortunately doesn't have much useful information.

The interface seems to be completed, immediately then it crash, also it said is going to try saving a copy of the file, either when i do not open choosing a file. I'm at work now, but later i will try to attach a screen capture from home.

Thanks

comment:3 Changed 3 years ago by nielsm

Nah don't bother with that, I doubt it's going to help.

Instead, can you try opening the ~/Library/Application Support/Aegisub/config.dat file in a text editor, find the auto check for updates line and set it to 0 (zero), it's probably 1 right now. Then try starting Aegisub again.

comment:4 Changed 3 years ago by jbuchmann

Ok, I did what you told me and put "check for updates=0", reopen and seems no to crash anymore. Solved.

Thank you for the fast response, and if you need any other info or want to test something let me now, my username at the forum is jbuchmann.

comment:5 Changed 3 years ago by nielsm

  • Description modified (diff)
  • Keywords updatechecker added
  • Milestone set to 2.1.9
  • Owner set to nielsm
  • Severity changed from minor to crash
  • Status changed from new to accepted
  • Summary changed from Crash on start Mac OS 10.6.3 to Update checker can crash on OS X 10.6

Can you tell some more about your configuration, especially network configuration such as what kinds of connections you're using, if you use any network-level authentication (like 802.1x) and whether you have any proxy servers configured?
Strange things with the network is the most immediate cause I can think about. I'll need to test things myself too.

comment:6 Changed 3 years ago by jbuchmann

My MBP is connected directly to internet over en0 using a CableModem (dhcp), no validation.
Sharing connection to other mac over en1 (wifi) using Internet Sharing. (my Time Capsule is dead +)
Some virtual boards for parallel, don´t using at the moment.

I don´t have validation at all as I use dhcp, but I have the Mac OS firewall ON, and don´t ask to allow or deny traffic before the crash, usually when an app not listed in the allow rules (as Aegisub) try to connect a pop-up windows appears, not in this case.
I can try to turn down the firewall, set update to 1 and probe again.
If you want i can attach ifconfig configuration in a new post.

Changed 3 years ago by jbuchmann

comment:7 Changed 3 years ago by jbuchmann

Tried turning firewall off with no success.

comment:8 Changed 3 years ago by nielsm

Okay I can't really see anything unusual there, it doesn't look like it's much different from any other configuration.

Looking at the crash report again, I noticed it's a SIGABRT, which could point to something with missing error checking somewhere.

Changed 3 years ago by jbuchmann

comment:9 Changed 3 years ago by jbuchmann

I attach a sample taken with Activity Monitor of the app just after hitting "check for updates" with a new crash.

I compare it with a another one taken before and you can see a new Thread 11668 doing check, calling sigtrap
and quitting on fatal after 2514.

comment:10 Changed 3 years ago by nielsm

That looks very helpful, if it's accurate it points to something unexpected happening with a string allocation, and it probably is some missing exception checking. I'm quite puzzled by what's really happening, though.

comment:11 Changed 3 years ago by jbuchmann

I try the above test two more times and I always get the same thread.
Also I install a little program to track internet access and I saw that the aegisub hangs before trying to access the server, no connection (socket) was open at crash time.

Changed 3 years ago by nielsm

Best fix I can think of, but haven't been able to reproduce issue myself

comment:12 Changed 3 years ago by nielsm

I can't reproduce this myself, and the only fix I can think of shouldn't be doing anything that isn't already done. (A catch-all exception handler is already installed in the thread entry procedure, so adding another shouldn't make a difference.)

jbuchmann, if you can still reproduce the issue, what is your system language set to, and does changing it affect whether the bug reproduces?

comment:13 Changed 3 years ago by nielsm

  • Status changed from accepted to infoneeded

Setting to infoneeded, see previous note.

comment:14 Changed 2 years ago by verm

  • Resolution set to fixed
  • Status changed from infoneeded to closed

(In [4ce827b]) I was never able to reproduce this error as well but I do agree with the fix, I've comitted the patch. closes #1197

comment:15 Changed 19 months ago by nielsm

  • Resolution fixed deleted
  • Status changed from closed to reopened

Magically, I am now reproducing this.

The crash does not, directly, happen in the update checker thread, but rather seems to be happening in the main thread as a result of something the checker thread does. I think it's related to the checker thread closing its socket which requires some synchronisation with the main thread.

Maybe we should just hack up some dumb HTTP client stuff of our own just to get out of wx's weird stuff.

comment:16 Changed 19 months ago by nielsm

  • Resolution set to fixed
  • Status changed from reopened to closed

(In [4fc08f9]) Write a new HTTP client for the update checker for Mac builds, to avoid the problems the wx one causes. Fixes #1197 by the virtue of no longer depending on wxHTTP.

Note: See TracTickets for help on using tickets.