aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Pages: 1 [2] 3

Author Topic: Tab selection in Mac OS X  (Read 14113 times)

ken

  • Hero Member
  • *****
  • Karma: 4
  • Offline Offline
  • Posts: 825
Re: Tab selection in Mac OS X
« Reply #15 on: July 09, 2006, 07:25:08 AM »

I should point out that my fix works properly against wx2.6.3, too.  It was only certain versions of wx-cvs (those that were marked as version 2.7.0 but didn't yet contain the fix from their side) that had a problem with my patch.  Is there a reason you don't build against wx2.6.3, lionel77?  It is, after all, the recommended stable release.  (That's an honest question, not a criticism. :))
Logged

lionel77

  • Provider of Mac builds, Forum Mod
  • Hero Member
  • *****
  • Karma: 4
  • Offline Offline
  • Posts: 1107
  • Mac OS X 10.4 (Power Mac G5)
Re: Tab selection in Mac OS X
« Reply #16 on: July 09, 2006, 08:28:17 AM »

You're right, ken, I should try building against 2.6.3. I had mentally marked 2.6.3 as broken, because it was not possible to get a working aMule binary with it, but that was before your recent fix for that issue. So I'll give 2.6.3 a shot and see how far I'll get with it.
Logged
Current aMule CVS builds for OS X can be found here.

lionel77

  • Provider of Mac builds, Forum Mod
  • Hero Member
  • *****
  • Karma: 4
  • Offline Offline
  • Posts: 1107
  • Mac OS X 10.4 (Power Mac G5)
Re: Tab selection in Mac OS X
« Reply #17 on: July 11, 2006, 09:19:02 AM »

Ok, so I tried building aMule CVS against wx 2.6.3 now and all I can say is "recommended stable release" my ass... ;)
Interestingly, the resulting binary also contains the 'long long unsigned' bug (e.g., wrong display of times on statistics page, frequent crashes), even though I thought that change was made later in wx CVS. But on the bright side, the tab bug is indeed fixed in 2.6.3. ;)

I just double-checked that the long long unsigned bug does not show with current aMule CVS when built against wx CVS from March 7 (that's the wx install that I've used for the past couple month, for which the tab fix does not work) and indeed it does not.

I guess it could start another compile-athlon to hopefully find an older wx CVS version in which your fix is already committed but the long long unsigned bug is not introduced yet. That would however only be a temporary solution. Eventually, we will need to get this bug fixed in wx.


EDIT:
I just saw that Kry wants to to get 2.1.4 out soon. Is there any way we can get this wx bug fixed before? I would really hate to release a second stable version of aMule in which the tab thing is broken...
« Last Edit: July 11, 2006, 09:58:19 AM by lionel77 »
Logged
Current aMule CVS builds for OS X can be found here.

Kry

  • Ex-developer
  • Retired admin
  • Hero Member
  • *****
  • Karma: -665
  • Offline Offline
  • Posts: 5795
Re: Tab selection in Mac OS X
« Reply #18 on: July 11, 2006, 09:56:22 AM »

Which is nice if you tell me when it arised, as I can check the wx changes from that date.
Logged

lionel77

  • Provider of Mac builds, Forum Mod
  • Hero Member
  • *****
  • Karma: 4
  • Offline Offline
  • Posts: 1107
  • Mac OS X 10.4 (Power Mac G5)
Re: Tab selection in Mac OS X
« Reply #19 on: July 11, 2006, 10:02:44 AM »

Quote
Originally posted by Kry
Which is nice if you tell me when it arised, as I can check the wx changes from that date.
So we know that the problem is not present in wx CVS from 2006-03-07 and it is present in 2.6.3, which was released 2006-03-25. Is that time window already narrow enough or do you want me to compile aMule with a bunch of wx versions to narrow it down further?
Logged
Current aMule CVS builds for OS X can be found here.

Kry

  • Ex-developer
  • Retired admin
  • Hero Member
  • *****
  • Karma: -665
  • Offline Offline
  • Posts: 5795
Re: Tab selection in Mac OS X
« Reply #20 on: July 11, 2006, 11:20:54 AM »

Read your post, think which one gives me less work, answer yourself.
Logged

lionel77

  • Provider of Mac builds, Forum Mod
  • Hero Member
  • *****
  • Karma: 4
  • Offline Offline
  • Posts: 1107
  • Mac OS X 10.4 (Power Mac G5)
Re: Tab selection in Mac OS X
« Reply #21 on: July 11, 2006, 05:29:07 PM »

Well, it takes me about an hour to test one version of wx and it seemed like we already have a pretty good idea what code change to look for and a relatively narrow time window to look into, so I was just trying to make sure I don't invest hours into figuring out something that would only save you 3 minutes of looking through their commits.

That said, I'm more than happy to narrow down the time window further, it might take a day or two though.
Logged
Current aMule CVS builds for OS X can be found here.

Kry

  • Ex-developer
  • Retired admin
  • Hero Member
  • *****
  • Karma: -665
  • Offline Offline
  • Posts: 5795
Re: Tab selection in Mac OS X
« Reply #22 on: July 11, 2006, 06:09:00 PM »

But it would save ME one or two hours :P
Logged

lionel77

  • Provider of Mac builds, Forum Mod
  • Hero Member
  • *****
  • Karma: 4
  • Offline Offline
  • Posts: 1107
  • Mac OS X 10.4 (Power Mac G5)
Re: Tab selection in Mac OS X
« Reply #23 on: July 11, 2006, 07:37:10 PM »

And that's exactly why I asked. ;)

Now that we've established that it would actually save you a significant amount of time I can put the ice bags around my machine and start the compile-athlon. :)
Logged
Current aMule CVS builds for OS X can be found here.

lionel77

  • Provider of Mac builds, Forum Mod
  • Hero Member
  • *****
  • Karma: 4
  • Offline Offline
  • Posts: 1107
  • Mac OS X 10.4 (Power Mac G5)
Re: Tab selection in Mac OS X
« Reply #24 on: July 12, 2006, 03:28:02 AM »

Six builds later...

So I got it narrowed down to a 24h window: The long long bug is not present yet in wx CVS 2006-03-16 22:00 PST but it is present in wx CVS 2006-03-17 22:00 PST. I've tried to cut it down further but that proved tricky because compilation is broken for some parts of that interval.

Just, let me know if you need anything else. :)
Logged
Current aMule CVS builds for OS X can be found here.

ken

  • Hero Member
  • *****
  • Karma: 4
  • Offline Offline
  • Posts: 825
Re: Tab selection in Mac OS X
« Reply #25 on: July 16, 2006, 04:56:12 PM »

First of all, lionel, you are a better man than I.  Second, here's a phrase for you to learn: "Fuck off, Kry".  :P

Now, your narrowing down the interval will no doubt help in finding the long long bug.  Unfortunately, I've been (lazily) living with that bug in my aMule for quite some time.  For me, it's only cosmetic.  aMule runs fine but displays certain values incorrectly.  So, the crashes you're experiencing may be due to some other unknown bug.

...

OK, so this is the change that caused the problem:

Code: [Select]
Index: include/wx/wxchar.h
===================================================================
RCS file: /pack/cvsroots/wxwidgets/wxWidgets/include/wx/wxchar.h,v
retrieving revision 1.190
retrieving revision 1.191
diff -u -r1.190 -r1.191
--- include/wx/wxchar.h 2006/03/09 13:16:02 1.190
+++ include/wx/wxchar.h 2006/03/17 14:26:59 1.191
@@ -4,7 +4,7 @@
  * Author:      Joel Farley, Ove KÂven
  * Modified by: Vadim Zeitlin, Robert Roebling, Ron Lee
  * Created:     1998/06/12
- * RCS-ID:      $Id: wxchar.h,v 1.190 2006/03/09 13:16:02 VZ Exp $
+ * RCS-ID:      $Id: wxchar.h,v 1.191 2006/03/17 14:26:59 SC Exp $
  * Copyright:   (c) 1998-2002 Joel Farley, Ove KÂven, Robert Roebling, Ron Lee
  * Licence:     wxWindows licence
  */
@@ -880,7 +880,8 @@
         #if defined(HAVE__VSNWPRINTF)
             #define wxVsnprintf_    _vsnwprintf
         /* MinGW?MSVCRT has the wrong vswprintf */
-        #elif defined(HAVE_VSWPRINTF) && !defined(__MINGW32__)
+ /* Mac OS X has a somehow buggy vswprintf */
+        #elif defined(HAVE_VSWPRINTF) && !defined(__MINGW32__) && !defined(__DARWIN__)
             #define wxVsnprintf_    vswprintf
         #endif
     #else /* ASCII */

Unfortunately, that only means that wx switched from using the built-in vswprintf to using wx's own implementation of that function.  And it doesn't explain why, really ("somehow buggy").

The real problem is that wx's implementation is itself buggy, so they switched from one perhaps-buggy implementation to a definitely buggy one.  And the change doesn't help us figure out why the wx implementation is buggy.
Logged

lionel77

  • Provider of Mac builds, Forum Mod
  • Hero Member
  • *****
  • Karma: 4
  • Offline Offline
  • Posts: 1107
  • Mac OS X 10.4 (Power Mac G5)
Re: Tab selection in Mac OS X
« Reply #26 on: July 21, 2006, 09:53:37 PM »

Heh, thanks ken, I'll write that down for the next time I feel suicidal. ;)
Also thanks for locating the source of the problem.

Well, I'm not sure how to proceed, guys. In terms of the crashing bug, I can post the backtrace again on the testing forum if that is any help. If there is anything else I can do to facilitate fixing this issue, please let me know.

Concerning the long long bug, even if this is really only affecting the display of numbers but not stability, I don't think we can release aMule binaries where all the displayed times are butchered. So again, if there's anything I can do please let me know.
Logged
Current aMule CVS builds for OS X can be found here.

ken

  • Hero Member
  • *****
  • Karma: 4
  • Offline Offline
  • Posts: 825
Re: Tab selection in Mac OS X
« Reply #27 on: July 25, 2006, 01:50:23 AM »

Well, I've never seen whatever bug the wx folks thinks exists in Mac OS X's vswprintf.  So, I'm inclined to just revert their change.  In other words, just remove the " && !defined(__DARWIN__)" from the end of that line in include/wx/wxchar.h.

As for the crash, I'll take another look, but I don't know if I'll have any new insight.  As I (unhelpfully) said, It Works Here.  *shrugs*
Logged

lionel77

  • Provider of Mac builds, Forum Mod
  • Hero Member
  • *****
  • Karma: 4
  • Offline Offline
  • Posts: 1107
  • Mac OS X 10.4 (Power Mac G5)
Re: Tab selection in Mac OS X
« Reply #28 on: July 25, 2006, 01:59:28 AM »

Yeah, I had already thought about simply reverting their change myself, but I was afraid that that would provide us with an even buggier wx install, because other parts of wx might now expect wx's own version of vswprintf being used. If you think the chance for this to cause problems is not too high, I might try reverting to OS X's version of vswprintf.
Logged
Current aMule CVS builds for OS X can be found here.

lionel77

  • Provider of Mac builds, Forum Mod
  • Hero Member
  • *****
  • Karma: 4
  • Offline Offline
  • Posts: 1107
  • Mac OS X 10.4 (Power Mac G5)
Re: Tab selection in Mac OS X
« Reply #29 on: July 30, 2006, 07:56:06 PM »

Alright, I tried switching back to OS X's built-in vswprintf version and things are looking pretty good so far. First, as was to be expected, the display of times is working properly again. Second, the tabs can be right-clicked again (we already knew this). Third, and most importantly, I have not been able to make aMule crash again, despite switching wildly between different download category tabs under heavy cpu load, which was pretty much a guaranteed way to take down aMule when it was built against wx's version of vswprintf.

I will have to do a little more testing, but if everything goes well, I will post a new CVS binary soon. :)
Logged
Current aMule CVS builds for OS X can be found here.
Pages: 1 [2] 3