On Oct 2, 2014, at 1:20 PM, Kevin Bernhagen <ke...@calxalot.net> wrote:

> You should not autorelease the return value from NSLocalizedStringFromTable. 

OK. Do you think that might be the source of the crash in XBoard?

Regards,
John Ralls

> 
> 
> On Oct 2, 2014, at 1:03 PM, Joshua Pettus <jshpet...@gmail.com> wrote:
> 
>> 
>>> 
>>> Please copy the list on all replies; use “reply all” (the double-arrow).
>> 
>> Oops Sorry about that. :\
>>> 
>>> Please either open a bug with the stack trace of the crash or post it here; 
>>> if you use the crash log you please cut it off after the stack trace, as 
>>> the hundred lines of dylib information just adds clutter. If you can, 
>>> please use a debug build of gtk-mac-integration and of your application so 
>>> that the line numbers are present in the stack trace.
>>> 
>> 
>> Ok, interestingly enough, launching Xboard with the -debug flag avoids the 
>> crash and it looks like it works via putting Xboard at the end.  But the 
>> xboard debug log doesn’t say anything useful for this, and is mostly for 
>> internal stuff xboard.  Our coder, Harm Geert Muller, might know why this 
>> could be the case, but he knows very little about OSX.
>> 
>> If it helps, the problem is avoided when we change the english input side of 
>> the string in those two areas that will eventually have the application name 
>> with it.
>> Hide and Quit
>> 
>> But here is the crash log anway:
>> 
>> 
>> Process:         XBoard-bin [74422]
>> Path:            /Applications/Chess/*/XBoard.app/Contents/MacOS/XBoard-bin
>> Identifier:      org.fsf.xboard.www
>> Version:         master-20140119 (master-20140119)
>> Code Type:       X86-64 (Native)
>> Parent Process:  launchd [173]
>> Responsible:     XBoard-bin [74422]
>> User ID:         501
>> 
>> Date/Time:       2014-10-02 15:43:50.993 -0400
>> OS Version:      Mac OS X 10.9.5 (13F34)
>> Report Version:  11
>> Anonymous UUID:  B5F105E8-A871-4B39-64DC-CA53CCBFDFF7
>> 
>> Sleep/Wake UUID: AE44AA16-3216-49DE-B4E9-AB60CE22E37F
>> 
>> Crashed Thread:  0  Dispatch queue: com.apple.main-thread
>> 
>> Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
>> Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000018
>> 
>> VM Regions Near 0x18:
>> --> 
>>     __TEXT                 0000000107687000-0000000107736000 [  700K] 
>> r-x/rwx SM=COW  /Applications/Chess/*/XBoard.app/Contents/MacOS/xboard-bin
>> 
>> Application Specific Information:
>> objc_msgSend() selector name: autorelease
>> 
>> 
>> Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
>> 0   libobjc.A.dylib                  0x00007fff868fd097 objc_msgSend + 23
>> 1   libgtkmacintegration.2.dylib     0x0000000108421852 
>> gtkosx_application_set_menu_bar + 794
>> 2   XBoard-bin                       0x00000001077183cb GenericPopUp + 12221
>> 3   XBoard-bin                       0x00000001076fea9b BoardPopUp + 695
>> 4   XBoard-bin                       0x000000010770fe6a main + 3809
>> 5   libdyld.dylib                    0x00007fff90fc65fd start + 1
>> 
>> Thread 1:
>> 0   libsystem_kernel.dylib           0x00007fff8f277e6a __workq_kernreturn + 
>> 10
>> 1   libsystem_pthread.dylib          0x00007fff8caa5f08 _pthread_wqthread + 
>> 330
>> 2   libsystem_pthread.dylib          0x00007fff8caa8fb9 start_wqthread + 13
>> 
>> Thread 2:: Dispatch queue: com.apple.libdispatch-manager
>> 0   libsystem_kernel.dylib           0x00007fff8f278662 kevent64 + 10
>> 1   libdispatch.dylib                0x00007fff91ff4421 _dispatch_mgr_invoke 
>> + 239
>> 2   libdispatch.dylib                0x00007fff91ff4136 _dispatch_mgr_thread 
>> + 52
>> 
>> Thread 3:
>> 0   libsystem_kernel.dylib           0x00007fff8f277e6a __workq_kernreturn + 
>> 10
>> 1   libsystem_pthread.dylib          0x00007fff8caa5f08 _pthread_wqthread + 
>> 330
>> 2   libsystem_pthread.dylib          0x00007fff8caa8fb9 start_wqthread + 13
>> 
>> Thread 4:
>> 0   libsystem_kernel.dylib           0x00007fff8f277e6a __workq_kernreturn + 
>> 10
>> 1   libsystem_pthread.dylib          0x00007fff8caa5f08 _pthread_wqthread + 
>> 330
>> 2   libsystem_pthread.dylib          0x00007fff8caa8fb9 start_wqthread + 13
>> 
>> Thread 5:
>> 0   libsystem_kernel.dylib           0x00007fff8f277e6a __workq_kernreturn + 
>> 10
>> 1   libsystem_pthread.dylib          0x00007fff8caa5f08 _pthread_wqthread + 
>> 330
>> 2   libsystem_pthread.dylib          0x00007fff8caa8fb9 start_wqthread + 13
>> 
>> Thread 6:
>> 0   libsystem_kernel.dylib           0x00007fff8f277e6a __workq_kernreturn + 
>> 10
>> 1   libsystem_pthread.dylib          0x00007fff8caa5f08 _pthread_wqthread + 
>> 330
>> 2   libsystem_pthread.dylib          0x00007fff8caa8fb9 start_wqthread + 13
>> 
>> Thread 0 crashed with X86 Thread State (64-bit):
>>   rax: 0x00007fff868fd1c4  rbx: 0x00007f8a50409f70  rcx: 0x00007fff75b8ecf0  
>> rdx: 0x00007f8a50602c48
>>   rdi: 0x00007f8a50602cc0  rsi: 0x00007fff8a68166e  rbp: 0x00007fff58577c90  
>> rsp: 0x00007fff58577c28
>>    r8: 0x00007f8a50602cc0   r9: 0x00000001084278c8  r10: 0x00007fff8a68166e  
>> r11: 0x0000000000000000
>>   r12: 0x0000000108427758  r13: 0x00007fff868fd080  r14: 0x0000000108427758  
>> r15: 0x00007f8a504099c0
>>   rip: 0x00007fff868fd097  rfl: 0x0000000000010246  cr2: 0x0000000000000018
>>   
>> Logical CPU:     1
>> Error Code:      0x00000004
>> Trap Number:     14
>> 
>> 
>>> Menu items moved from other menus need to be translated in the application 
>>> using whatever localization scheme you use for the rest of the program; 
>>> that’s normally gettext for Gtk applications.
>>> 
>> 
>> Ok, thanks for clarifying that.  It’s therefor on our end. :)
>> 
>> 
>>> You can’t just change the keys in the strings. You also have to change the 
>>> keys in the table lookup. For example, the “Hide” lookup is at line 246 in 
>>> gtkosxapplication_quartz.c:
>>> 
>>>  menuitem = [[NSMenuItem alloc] initWithTitle: [[NSLocalizedStringFromTable 
>>> (@"Hide",  @"GtkosxApplication", @"Hide menu item title") autorelease] 
>>> stringByAppendingFormat: @" %@", appname]
>>>           action: @selector (hide: ) keyEquivalent: @"h”];
>>> 
>>> That’s not really the right way to do that, since it forces the app name to 
>>> the end of the string. It also won’t find the key “Hide %@“ in your revised 
>>> strings file. It needs to be something like (because I haven’t tested it)
>>> 
>>>  menuitem = [[NSMenuItem alloc] initWithTitle: [stringWithFormat: 
>>> [NSLocalizedStringFromTable (@“Hide %@", @"GtkosxApplication", @"Hide menu 
>>> item title") autorelease], appname]
>>>           action: @selector (hide: ) keyEquivalent: @"h”];
>> 
>> Ah, makes sense. I tried compiling it with one then the other, which 
>> succeeded, and then rebuilt xboard.   Neither translated “Quit %@“ or “Hide 
>> %@“.   It would be ideal to place the application name before or after the 
>> string depending on the language.
>> 
>> Thank-you!
>> Josh Pettus
>> 
>> 
>> _______________________________________________
>> Gtk-osx-users-list mailing list
>> Gtk-osx-users-list@gnome.org
>> https://mail.gnome.org/mailman/listinfo/gtk-osx-users-list

_______________________________________________
Gtk-osx-users-list mailing list
Gtk-osx-users-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-users-list

Reply via email to