* bug#1079: GNUstep port segfaults making autoloads on x86_64
@ 2008-10-03 21:18 Glenn Morris
2008-10-04 1:04 ` Adrian Robert
` (2 more replies)
0 siblings, 3 replies; 14+ messages in thread
From: Glenn Morris @ 2008-10-03 21:18 UTC (permalink / raw)
To: bug-gnu-emacs
Trying to bootstrap the GNUStep port on x86_64 GNU/Linux, it segfaults
making autoloads. The problem can be reduced to anything that tries to
set a variable, eg:
../src/bootstrap-emacs -batch --no-site-file \
--eval '(setq make-backup-files nil)'
Disclaimer: I know nothing about GNUStep, I just grabbed a tarball and
made a local installation of it.
Backtrace:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47021579284768 (LWP 22766)]
0x00002ac40faccaf6 in NSCountFrames () at NSDebug.m:994
994 NSDebug.m: No such file or directory.
in NSDebug.m
Current language: auto; currently objective-c
(gdb) bt
#0 0x00002ac40faccaf6 in NSCountFrames () at NSDebug.m:994
#1 0x00002ac40fad4ff3 in GSPrivateStackAddresses () at NSDebug.m:1100
#2 0x00002ac40faeb920 in -[NSException raise] (self=0x1e08b5f0,
_cmd=0x2ac40ff96440) at NSException.m:822
#3 0x00002ac40faeb3f4 in +[NSException raise:format:arguments:] (
self=0x2ac40ff95fe0, _cmd=0x2ac40ff96410, name=0x2ac40ff95aa0,
format=0x2ac40ffc5020, argList=0x7fff9b952ba0) at NSException.m:765
#4 0x00002ac40faeb32a in +[NSException raise:format:] (self=0x2ac40ff95fe0,
_cmd=0x2ac40ffc66b0, name=0x2ac40ff95aa0, format=0x2ac40ffc5020)
at NSException.m:751
#5 0x00002ac40fb5ffbb in GSPropertyListFromStringsFormat (string=0x1e02e600)
at NSPropertyList.m:1505
#6 0x00002ac40fb9a474 in -[NSString propertyList] (self=0x1e02e600,
_cmd=0x2ac40fff4f80) at NSString.m:4701
#7 0x00002ac40fbcd5f3 in -[NSUserDefaults __createArgumentDictionary] (
self=0x1e0843f0, _cmd=0x2ac40fff4bf0) at NSUserDefaults.m:1816
#8 0x00002ac40fbc8e0e in -[NSUserDefaults initWithContentsOfFile:] (
self=0x1e0843f0, _cmd=0x2ac40fff4ae0, path=0x1e085620)
at NSUserDefaults.m:872
#9 0x00002ac40fbc8349 in -[NSUserDefaults initWithUser:] (self=0x1e0843f0,
_cmd=0x2ac40fff4ad0, userName=0x1df2b330) at NSUserDefaults.m:774
#10 0x00002ac40fbc82c4 in -[NSUserDefaults init] (self=0x1e0843f0,
_cmd=0x2ac40fff4910) at NSUserDefaults.m:765
#11 0x00002ac40fbc7383 in +[NSUserDefaults standardUserDefaults] (
self=0x2ac40fff46c0, _cmd=0x2ac40fff4870) at NSUserDefaults.m:474
#12 0x00002ac40fbc7c78 in +[NSUserDefaults userLanguages] (
self=0x2ac40fff46c0, _cmd=0x2ac40ff769f0) at NSUserDefaults.m:682
#13 0x00002ac40fa86b99 in +[NSBundle _bundleResourcePathsWithRootPath:subPath:]
(self=0x2ac40ff76360, _cmd=0x2ac40ff76a00, rootPath=0x1e070fa0,
subPath=0x0) at NSBundle.m:1603
#14 0x00002ac40fa86e05 in +[NSBundle pathForResource:ofType:inRootPath:inDirectory:withVersion:] (self=0x2ac40ff76360, _cmd=0x2ac40ff76a10,
name=0x2ac40ff75760, ext=0x2ac40ff75780, rootPath=0x1e070fa0, subPath=0x0,
version=0) at NSBundle.m:1637
#15 0x00002ac40fa8731f in -[NSBundle pathForResource:ofType:inDirectory:] (
self=0x1e079450, _cmd=0x2ac40ff76770, name=0x2ac40ff75760,
ext=0x2ac40ff75780, subPath=0x0) at NSBundle.m:1732
#16 0x00002ac40fa871e4 in -[NSBundle pathForResource:ofType:] (
self=0x1e079450, _cmd=0x2ac40ff76b10, name=0x2ac40ff75760,
ext=0x2ac40ff75780) at NSBundle.m:1713
#17 0x00002ac40fa890f5 in -[NSBundle infoDictionary] (self=0x1e079450,
_cmd=0x2ac40ff76990) at NSBundle.m:2192
#18 0x00002ac40fa893d5 in -[NSBundle bundleIdentifier] (self=0x1e079450,
_cmd=0x2ac40ff768f0) at NSBundle.m:2237
#19 0x00002ac40fa858b3 in -[NSBundle initWithPath:] (self=0x1e079450,
_cmd=0x2ac40ff76750, path=0x1e070fa0) at NSBundle.m:1315
#20 0x00002ac40fa852a0 in +[NSBundle bundleWithPath:] (self=0x2ac40ff76360,
_cmd=0x2ac40ff76bc0, path=0x1e079270) at NSBundle.m:1192
#21 0x00002ac40fa89980 in +[NSBundle(GNUstep) bundleForLibrary:version:] (
self=0x2ac40ff76360, _cmd=0x2ac40ff76820, libraryName=0x1e033250,
interfaceVersion=0x2ac40ff75080) at NSBundle.m:2352
#22 0x00002ac40fa8406a in +[NSBundle initialize] (self=0x2ac40ff76360,
_cmd=0x2ac40fffaef0) at NSBundle.m:819
#23 0x00002ac41005c04d in objc_msg_lookup () from /usr/lib64/libobjc.so.1
#24 0x00000000006b8b44 in ns_init_paths () at nsterm.m:329
#25 0x0000000000579fe2 in main (argc=5, argv=0x7fff9b953ca8) at emacs.c:1467
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1079: GNUstep port segfaults making autoloads on x86_64
2008-10-03 21:18 bug#1079: GNUstep port segfaults making autoloads on x86_64 Glenn Morris
@ 2008-10-04 1:04 ` Adrian Robert
2008-10-05 1:40 ` Glenn Morris
2008-10-06 9:39 ` Yavor Doganov
2008-10-06 11:32 ` Yavor Doganov
2 siblings, 1 reply; 14+ messages in thread
From: Adrian Robert @ 2008-10-04 1:04 UTC (permalink / raw)
To: Glenn Morris, 1079
On Oct 3, 2008, at 5:18 PM, Glenn Morris wrote:
>
> Trying to bootstrap the GNUStep port on x86_64 GNU/Linux, it segfaults
> making autoloads. The problem can be reduced to anything that tries to
> set a variable, eg:
>
> ../src/bootstrap-emacs -batch --no-site-file \
> --eval '(setq make-backup-files nil)'
...
> #25 0x0000000000579fe2 in main (argc=5, argv=0x7fff9b953ca8) at
> emacs.c:1467
#ifdef HAVE_NS
#ifndef CANNOT_DUMP
if (initialized)
#endif
ns_init_paths ();
#endif
Hmm, not sure if this ns_init_paths() is needed during the bootstrap
-- i.e., should the conditional be different, or should it be moved
after the init_...() calls? Unf I cannot test this stuff myself.
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1079: GNUstep port segfaults making autoloads on x86_64
2008-10-04 1:04 ` Adrian Robert
@ 2008-10-05 1:40 ` Glenn Morris
2008-10-05 2:06 ` Adrian Robert
0 siblings, 1 reply; 14+ messages in thread
From: Glenn Morris @ 2008-10-05 1:40 UTC (permalink / raw)
To: Adrian Robert; +Cc: 1079
Adrian Robert wrote:
> #ifndef CANNOT_DUMP
> if (initialized)
> #endif
> ns_init_paths ();
> #endif
>
> Hmm, not sure if this ns_init_paths() is needed during the bootstrap
I tried commenting it out; then I get a segfault loading
term/ns-win.el from the ns-list-colors call.
> -- i.e., should the conditional be different, or should it be moved
> after the init_...() calls? Unf I cannot test this stuff myself.
I tried (randomly) moving it after init_cmdargs; didn't make a
difference.
Since it works (for this stage at least) on 32-bit, but not 64, I
don't think something like that can be the answer.
It's the very first line of ns_init_paths that is the problem, does
this suggest anything?
NSBundle *bundle = [NSBundle mainBundle];
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1079: GNUstep port segfaults making autoloads on x86_64
2008-10-05 1:40 ` Glenn Morris
@ 2008-10-05 2:06 ` Adrian Robert
0 siblings, 0 replies; 14+ messages in thread
From: Adrian Robert @ 2008-10-05 2:06 UTC (permalink / raw)
To: Glenn Morris; +Cc: 1079
On Oct 4, 2008, at 9:40 PM, Glenn Morris wrote:
> Adrian Robert wrote:
>
>> #ifndef CANNOT_DUMP
>> if (initialized)
>> #endif
>> ns_init_paths ();
>> #endif
>>
>> Hmm, not sure if this ns_init_paths() is needed during the bootstrap
>
> I tried commenting it out; then I get a segfault loading
> term/ns-win.el from the ns-list-colors call.
>
>> -- i.e., should the conditional be different, or should it be moved
>> after the init_...() calls? Unf I cannot test this stuff myself.
>
> I tried (randomly) moving it after init_cmdargs; didn't make a
> difference.
>
> Since it works (for this stage at least) on 32-bit, but not 64, I
> don't think something like that can be the answer.
>
> It's the very first line of ns_init_paths that is the problem, does
> this suggest anything?
>
> NSBundle *bundle = [NSBundle mainBundle];
It's just an ordinary API call, but it's not meant to be run from an
app that is not inside a "bundle". That is, once packaged into
Emacs.app directory structure, it's OK to run this call, but the
behavior would be undefined if just being run as src/[t]emacs. From
your stack trace it looked like GNUstep tried to initialize some of
its internals and ran into an unexpected condition causing the crash.
So, if there were some way to run ns_init_paths() only in either
dumped emacs, or CANNOT_DUMP emacs but NOT during bootstrapping, I
think that would be best.
(I may not have fully thought this through when I first wrote that
conditional, probably since the ns_init_paths impl originally didn't
call -mainBundle.)
As for the location before or after init_ calls, on second thought I'm
not sure this matters a lot. I believe I put it the same place the
Carbon port had its equivalent call.
Regarding the later segfault after commenting out, ns_init_paths only
sets environment variables affecting emacs lisp load paths, does not
initialize anything else. So I'd say this is a separate bug.
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1079: GNUstep port segfaults making autoloads on x86_64
2008-10-03 21:18 bug#1079: GNUstep port segfaults making autoloads on x86_64 Glenn Morris
2008-10-04 1:04 ` Adrian Robert
@ 2008-10-06 9:39 ` Yavor Doganov
2008-10-06 17:20 ` Glenn Morris
2008-10-06 11:32 ` Yavor Doganov
2 siblings, 1 reply; 14+ messages in thread
From: Yavor Doganov @ 2008-10-06 9:39 UTC (permalink / raw)
To: Glenn Morris, 1079
At Fri, 03 Oct 2008 17:18:17 -0400,
Glenn Morris wrote:
>
> Trying to bootstrap the GNUStep port on x86_64 GNU/Linux, it segfaults
> making autoloads.
Which version of GNUstep Base is this?
Can you run the testsuite on that machine, e.g.
svn co http://svn.gna.org/svn/gnustep/tests/testsuite/trunk gnustep-testsuite
cd gnustep-testsuite
make
and post the output of the failed tests and the summary?
If the -mainBundle method call fails because the app is not yet
installed, it should fail on other architectures too. Perhaps there's
something else here.
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1079: GNUstep port segfaults making autoloads on x86_64
2008-10-03 21:18 bug#1079: GNUstep port segfaults making autoloads on x86_64 Glenn Morris
2008-10-04 1:04 ` Adrian Robert
2008-10-06 9:39 ` Yavor Doganov
@ 2008-10-06 11:32 ` Yavor Doganov
2008-10-06 17:24 ` Glenn Morris
2 siblings, 1 reply; 14+ messages in thread
From: Yavor Doganov @ 2008-10-06 11:32 UTC (permalink / raw)
To: Glenn Morris, 1079
> #5 0x00002ac40fb5ffbb in GSPropertyListFromStringsFormat (string=0x1e02e600)
> at NSPropertyList.m:1505
Maybe that's the culprit; -[NSString propertyList] is called,
resulting in NSException, because the .plist file is not a valid
dictionary (at least according to the plparse tool).
Does the naive patch below eliminate this problem?
2008-10-06 Yavor Doganov <yavor@gnu.org> (tiny change)
* GNUstep/Emacs.base/Resources/Info-gnustep.plist: Add missing
semicolons to make it a valid dictionary.
--- Info-gnustep.plist 21 авг 2008 15:40:28 +0300 1.3
+++ Info-gnustep.plist 06 окт 2008 13:31:32 +0300
@@ -99,7 +99,7 @@
{
NSPortName = Emacs;
NSMessage = requestService;
- NSUserData = open-selection
+ NSUserData = open-selection;
NSSendTypes = (NSStringPboardType);
NSMenuItem = {
default = "Emacs.app/New Buffer Containing Selection";
@@ -108,7 +108,7 @@
{
NSPortName = Emacs;
NSMessage = requestService;
- NSUserData = open-file
+ NSUserData = open-file;
NSSendTypes = (NSStringPboardType);
NSMenuItem = {
default = "Emacs.app/Open Selected File";
@@ -117,7 +117,7 @@
{
NSPortName = Emacs;
NSMessage = requestService;
- NSUserData = mail-selection
+ NSUserData = mail-selection;
NSSendTypes = (NSStringPboardType);
NSMenuItem = {
default = "Emacs.app/Email Selection";
@@ -126,7 +126,7 @@
{
NSPortName = Emacs;
NSMessage = requestService;
- NSUserData = mail-to
+ NSUserData = mail-to;
NSSendTypes = (NSStringPboardType);
NSMenuItem = {
default = "Emacs.app/Send Email to Selected Address";
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1079: GNUstep port segfaults making autoloads on x86_64
2008-10-06 9:39 ` Yavor Doganov
@ 2008-10-06 17:20 ` Glenn Morris
2008-10-06 18:39 ` Glenn Morris
2008-10-07 19:02 ` Yavor Doganov
0 siblings, 2 replies; 14+ messages in thread
From: Glenn Morris @ 2008-10-06 17:20 UTC (permalink / raw)
To: 1079; +Cc: yavor
Yavor Doganov wrote:
> Which version of GNUstep Base is this?
gnustep-startup-0.20.0.tar
> Can you run the testsuite on that machine, e.g.
>
> svn co http://svn.gna.org/svn/gnustep/tests/testsuite/trunk gnustep-testsuite
> cd gnustep-testsuite
> make
>
> and post the output of the failed tests and the summary?
I was going to ask if my GNUstep installation could be messed up somehow...
Disclosure: my GNUstep.conf file is not in /etc, so I patched
configure to accept a path to GNUstep.conf. I haven't submitted that
yet since I don't know if am doing the right thing. But I don't see
that it would make a difference to this.
64-bit output:
--- Running tests in base ---
base/GSMime/test01.m:
FAIL: can parse HTTP 200 reponse in one go
base/NSInvocation/general.m:
FAIL: Can send/return large structs
base/NSInvocation/test01.m:
FAIL: base/NSInvocation/test01.m
base/NSProxy/test01.m:
FAIL: Proxy NSPoint
FAIL: Proxy GSFinePoint
FAIL: base/NSProxy/test01.m
base/NSStream/socket.m:
FAIL: read www.google.com https
base/NSString/order.m:
FAIL: base/NSString/order.m
237 COMPLETED
8 FAIL
4848 PASS
32-bit output:
--- Running tests in base ---
base/GSMime/test01.m:
FAIL: can parse HTTP 200 reponse in one go
base/NSProxy/test01.m:
FAIL: Proxy GSFinePoint
FAIL: base/NSProxy/test01.m
base/NSStream/socket.m:
FAIL: read www.google.com https
base/NSString/order.m:
FAIL: base/NSString/order.m
238 COMPLETED
5 FAIL
4848 PASS
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1079: GNUstep port segfaults making autoloads on x86_64
2008-10-06 11:32 ` Yavor Doganov
@ 2008-10-06 17:24 ` Glenn Morris
0 siblings, 0 replies; 14+ messages in thread
From: Glenn Morris @ 2008-10-06 17:24 UTC (permalink / raw)
To: 1079; +Cc: yavor
Yavor Doganov wrote:
> Maybe that's the culprit; -[NSString propertyList] is called,
> resulting in NSException, because the .plist file is not a valid
> dictionary (at least according to the plparse tool).
>
> Does the naive patch below eliminate this problem?
I'm afraid not.
Here is a full backtrace this time:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47627448176928 (LWP 29014)]
0x00002b5120466af6 in NSCountFrames () at NSDebug.m:994
994 NSDebug.m: No such file or directory.
in NSDebug.m
Current language: auto; currently objective-c
(gdb) bt full
#0 0x00002b5120466af6 in NSCountFrames () at NSDebug.m:994
env = (jbuf_type *) 0x1b41bde0
#1 0x00002b512046eff3 in GSPrivateStackAddresses () at NSDebug.m:1100
n = 0
stack = (class NSMutableArray *) 0x2b5120994020
pool = (class NSAutoreleasePool *) 0x7fff8afb7100
i = 11089
env = (jbuf_type *) 0x8
#2 0x00002b5120485920 in -[NSException raise] (self=0x1b40b460,
_cmd=0x2b5120930440) at NSException.m:822
__value = (struct objc_object *) 0x1b40b460
__object = (struct objc_object *) 0x7fff8afb71a0
thread = (TInfo) 0x1b40b740
handler = (NSHandler *) 0x2b512092faa0
recursion = 0
#3 0x00002b51204853f4 in +[NSException raise:format:arguments:] (
self=0x2b512092ffe0, _cmd=0x2b5120930410, name=0x2b512092faa0,
format=0x2b512095f020, argList=0x7fff8afb71e0) at NSException.m:765
reason = (class NSString *) 0x1b40b740
except = (class NSException *) 0x1b40b460
#4 0x00002b512048532a in +[NSException raise:format:] (self=0x2b512092ffe0,
_cmd=0x2b51209606b0, name=0x2b512092faa0, format=0x2b512095f020)
at NSException.m:751
args = {{
gp_offset = 32,
fp_offset = 48,
overflow_arg_area = 0x7fff8afb72d0,
reg_save_area = 0x7fff8afb7200
}}
---Type <return> to continue, or q <return> to quit---
#5 0x00002b51204f9fbb in GSPropertyListFromStringsFormat (string=0x1b392730)
at NSPropertyList.m:1505
dict = (class NSMutableDictionary *) 0x0
_pld = {
ptr = 0x1b281c70 "(setq foo 1)",
end = 12,
pos = 0,
lin = 0,
err = 0x2b512095f000,
opt = NSPropertyListImmutable,
key = 0 '\000',
old = 1 '\001'
}
pld = (pldata *) 0x7fff8afb72f0
d = (class NSData *) 0x1b4082e0
__PRETTY_FUNCTION__ = "GSPropertyListFromStringsFormat"
#6 0x00002b5120534474 in -[NSString propertyList] (self=0x1b392730,
_cmd=0x2b512098ef80) at NSString.m:4701
NSLocalHandler = {
jumpState = {{
__jmpbuf = {47627439046432,
724778841060540000,
457201792,
47627433212536,
456591952,
0,
724778841060538544,
724721282700660500},
__mask_was_saved = 0,
---Type <return> to continue, or q <return> to quit---
__saved_mask = {
__val = {47627433363938,
0,
5,
34359738380,
47627439234176,
47627439124032,
456730416,
140735525123264,
47627434629713,
34816468736,
47627439234176,
47627439124112,
456730416,
51539607552,
456730416,
140735525123344}
}
}},
next = 0x7fff8afb7530,
exception = 0x7fff8afb7510
}
data = (class NSData *) 0x1b408340
result = (struct objc_object *) 0x0
format = NSPropertyListOpenStepFormat
error = (class NSString *) 0x1b40b4a0
#7 0x00002b51205675f3 in -[NSUserDefaults __createArgumentDictionary] (
self=0x1b3e85b0, _cmd=0x2b512098ebf0) at NSUserDefaults.m:1816
NSLocalHandler = {
---Type <return> to continue, or q <return> to quit---
jumpState = {{
__jmpbuf = {456730416,
724778841060539664,
457201792,
47627433212536,
456591952,
0,
724778841060539984,
724721282700869303},
__mask_was_saved = 0,
__saved_mask = {
__val = {0,
457203264,
10,
140735525123504,
47627433208785,
240,
47627439259680,
140735525123584,
47627433208551,
43406905520,
457201800,
5,
455558080,
8,
457203264,
18446744073709551615}
}
}},
---Type <return> to continue, or q <return> to quit---
next = 0x0,
exception = 0x7fff8afb7630
}
plist_val = (class NSObject *) 0xa2098e900
old = (class NSString *) 0x0
args = (class NSArray *) 0x1b3954b0
enumerator = (class NSEnumerator *) 0x1b40a690
argDict = (class NSMutableDictionary *) 0x1b404f10
done = 0 '\000'
key = (struct objc_object *) 0x1b40b3e0
val = (struct objc_object *) 0x1b392730
#8 0x00002b5120562e0e in -[NSUserDefaults initWithContentsOfFile:] (
self=0x1b3e85b0, _cmd=0x2b512098eae0, path=0x1b3e97c0)
at NSUserDefaults.m:872
mgr = (class NSFileManager *) 0x1b3aa130
r = {
location = 2147483647,
length = 0
}
loadReadonly = 0 '\000'
flag = 1 '\001'
objc_super = {
self = 0x1b3e85b0,
super_class = 0x2b5120950860
}
#9 0x00002b5120562349 in -[NSUserDefaults initWithUser:] (self=0x1b3e85b0,
_cmd=0x2b512098ead0, userName=0x1b290330) at NSUserDefaults.m:774
path = (class NSString *) 0x1b3e96a0
#10 0x00002b51205622c4 in -[NSUserDefaults init] (self=0x1b3e85b0,
---Type <return> to continue, or q <return> to quit---
_cmd=0x2b512098e910) at NSUserDefaults.m:765
No locals.
#11 0x00002b5120561383 in +[NSUserDefaults standardUserDefaults] (
self=0x2b512098e6c0, _cmd=0x2b512098e870) at NSUserDefaults.m:474
added_lang = 0 '\000'
added_locale = 0 '\000'
lang = (struct objc_object *) 0x500000000
uL = (class NSArray *) 0x7fff8afb7840
enumerator = (class NSEnumerator *) 0x2b51203bdee7
#12 0x00002b5120561c78 in +[NSUserDefaults userLanguages] (
self=0x2b512098e6c0, _cmd=0x2b51209109f0) at NSUserDefaults.m:682
currLang = (class NSArray *) 0x0
locale = (class NSString *) 0x0
result = (class NSArray *) 0x2b5120bff708
#13 0x00002b5120420b99 in +[NSBundle _bundleResourcePathsWithRootPath:subPath:]
(self=0x2b5120910360, _cmd=0x2b5120910a00, rootPath=0x1b3d5160,
subPath=0x0) at NSBundle.m:1603
primary = (class NSString *) 0x2b512090de90
language = (class NSString *) 0x1b375920
languages = (class NSArray *) 0x2b512057036f
array = (class NSMutableArray *) 0x1b3ded80
enumerate = (class NSEnumerator *) 0x2b5120910360
#14 0x00002b5120420e05 in +[NSBundle pathForResource:ofType:inRootPath:inDirectory:withVersion:] (self=0x2b5120910360, _cmd=0x2b5120910a10,
name=0x2b512090f760, ext=0x2b512090f780, rootPath=0x1b3d5160, subPath=0x0,
version=0) at NSBundle.m:1637
path = (class NSString *) 0x0
fullpath = (class NSString *) 0x2b5120950860
pathlist = (class NSEnumerator *) 0x7fff8afb79b0
---Type <return> to continue, or q <return> to quit---
#15 0x00002b512042131f in -[NSBundle pathForResource:ofType:inDirectory:] (
self=0x1b3dd610, _cmd=0x2b5120910770, name=0x2b512090f760,
ext=0x2b512090f780, subPath=0x0) at NSBundle.m:1732
rootPath = (class NSString *) 0x1b3d5160
#16 0x00002b51204211e4 in -[NSBundle pathForResource:ofType:] (
self=0x1b3dd610, _cmd=0x2b5120910b10, name=0x2b512090f760,
ext=0x2b512090f780) at NSBundle.m:1713
No locals.
#17 0x00002b51204230f5 in -[NSBundle infoDictionary] (self=0x1b3dd610,
_cmd=0x2b5120910990) at NSBundle.m:2192
path = (class NSString *) 0x7fff8afb7ad0
#18 0x00002b51204233d5 in -[NSBundle bundleIdentifier] (self=0x1b3dd610,
_cmd=0x2b51209108f0) at NSBundle.m:2237
No locals.
#19 0x00002b512041f8b3 in -[NSBundle initWithPath:] (self=0x1b3dd610,
_cmd=0x2b5120910750, path=0x1b3d5160) at NSBundle.m:1315
identifier = (class NSString *) 0x2b5120910750
objc_super = {
self = 0x1b3dd610,
super_class = 0x2b5120950860
}
#20 0x00002b512041f2a0 in +[NSBundle bundleWithPath:] (self=0x2b5120910360,
_cmd=0x2b5120910bc0, path=0x1b3dd430) at NSBundle.m:1192
No locals.
#21 0x00002b5120423980 in +[NSBundle(GNUstep) bundleForLibrary:version:] (
self=0x2b5120910360, _cmd=0x2b5120910820, libraryName=0x1b397380,
interfaceVersion=0x2b512090f080) at NSBundle.m:2352
b = (class NSBundle *) 0x2b51209f6315
isDir = 1 '\001'
---Type <return> to continue, or q <return> to quit---
paths = (class NSArray *) 0x1b2900e0
enumerator = (class NSEnumerator *) 0x1b3d6ab0
path = (class NSString *) 0x1b3dd430
fm = (class NSFileManager *) 0x1b3aa130
#22 0x00002b512041e06a in +[NSBundle initialize] (self=0x2b5120910360,
_cmd=0x2b5120994ef0) at NSBundle.m:819
env = (class NSDictionary *) 0x1b3aecb0
str = (class NSString *) 0x1b3a6100
#23 0x00002b51209f604d in objc_msg_lookup () from /usr/lib64/libobjc.so.1
No symbol table info available.
#24 0x00000000006b8c20 in ns_init_paths () at nsterm.m:329
bundle = (class NSBundle *) 0x7fff8afb7d80
binDir = (class NSString *) 0x2b512041adff
resourceDir = (class NSString *) 0x1b34fda0
resourcePath = (class NSString *) 0x1b375920
resourcePaths = (class NSString *) 0x7fff8afb7dc0
range = {
location = 456612192,
length = 0
}
onWindows = 0 '\000'
pathSeparator = (class NSString *) 0x7fff8afb7dc0
fileManager = (class NSFileManager *) 0xb5ae90
isDir = 0 '\000'
#25 0x000000000057a0aa in main (argc=5, argv=0x7fff8afb82e8) at emacs.c:1467
dummy = 47627439642688
stack_bottom_variable = 0 '\000'
do_initial_setlocale = 0
skip_args = 1
---Type <return> to continue, or q <return> to quit---
rlim = {
rlim_cur = 33554432,
rlim_max = 18446744073709551615
}
no_loadup = 0
junk = 0x0
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1079: GNUstep port segfaults making autoloads on x86_64
2008-10-06 17:20 ` Glenn Morris
@ 2008-10-06 18:39 ` Glenn Morris
2008-10-07 19:02 ` Yavor Doganov
1 sibling, 0 replies; 14+ messages in thread
From: Glenn Morris @ 2008-10-06 18:39 UTC (permalink / raw)
To: 1079; +Cc: yavor
Glenn Morris wrote:
> Disclosure: my GNUstep.conf file is not in /etc, so I patched
> configure to accept a path to GNUstep.conf.
Emacs's configure, in case that was unclear, ie will not affect these tests.
You also wanted the tests.log output. Here are the failed pieces from
x86_64:
Testing base/GSMime/test01.m...
This is gnustep-make 2.0.6. Type 'make print-gnustep-make-help' for help.
gmake[1]: Entering directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/GSMime'
Making all for test_tool test01...
Compiling file test01.m ...
test01.m: In function 'main':
test01.m:16: warning: unused variable 'complete'
Linking test_tool test01 ...
gmake[1]: Leaving directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/GSMime'
Running base/GSMime/test01.m...
This is gnustep-make 2.0.6. Type 'make print-gnustep-make-help' for help.
PASS: can parse one header
PASS: First Header not complete until next starts
PASS: Adding partial headers is ok
PASS: Parsed first header as expected
PASS: Completing partial header is ok
PASS: Partial header not complete until next starts
PASS: Folded header is ok
PASS: Parsed partial header as expected <hello>
PASS: Folded header not complete until next starts
PASS: partial end-of-line is ok
PASS: Parsed folded header as expected testing
PASS: completing end-of-line is ok
PASS: charset is inferred
PASS: raw mime data for long header is OK
FAIL: can parse HTTP 200 reponse in one go
PASS: parse is complete
COMPLETED: base/GSMime/test01.m
Testing base/NSInvocation/general.m...
This is gnustep-make 2.0.6. Type 'make print-gnustep-make-help' for help.
gmake[1]: Entering directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/NSInvocation'
Making all in ../GenericTests...
gmake[2]: Entering directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/GenericTests'
Making all for subproject generictests...
gmake[3]: Nothing to be done for `internal-subproject-all'.
gmake[2]: Leaving directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/GenericTests'
Making all in Resources...
gmake[2]: Entering directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/NSInvocation/Resources'
Making all for bundle InvokeProxy...
gmake[3]: Nothing to be done for `internal-bundle-all'.
gmake[2]: Leaving directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/NSInvocation/Resources'
Making all for test_tool general...
Compiling file general.m ...
Linking test_tool general ...
gmake[1]: Leaving directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/NSInvocation'
Running base/NSInvocation/general.m...
This is gnustep-make 2.0.6. Type 'make print-gnustep-make-help' for help.
PASS: loading resources from bundle
PASS: Invoke retChar
PASS: Can return chars
PASS: Invoke retShort
PASS: Can return short
PASS: Invoke retInt
PASS: Can return int
PASS: Invoke retLong
PASS: Can return long
PASS: Invoke retFloat
PASS: Can return float
PASS: Invoke retDouble
PASS: Can return double
PASS: Invoke retObject
PASS: Can return object
PASS: Invoke loopChar:
PASS: Can send/return chars
PASS: Invoke loopShort:
PASS: Can send/return shorts
PASS: Invoke loopInt:
PASS: Can send/return ints
PASS: Invoke loopLong:
PASS: Can send/return longs
PASS: Invoke loopFloat:
PASS: Can send/return floats
PASS: Invoke loopDouble:
PASS: Can send/return double
PASS: Invoke loopObject:
PASS: Can send/return objects
PASS: Invoke loopString:
PASS: Can send/return char *
PASS: Invoke loopSmall:
PASS: Can send/return small structs
PASS: Invoke loopLarge:
FAIL: Can send/return large structs
COMPLETED: base/NSInvocation/general.m
Testing base/NSInvocation/test01.m...
This is gnustep-make 2.0.6. Type 'make print-gnustep-make-help' for help.
gmake[1]: Entering directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/NSInvocation'
Making all in ../GenericTests...
gmake[2]: Entering directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/GenericTests'
Making all for subproject generictests...
gmake[3]: Nothing to be done for `internal-subproject-all'.
gmake[2]: Leaving directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/GenericTests'
Making all in Resources...
gmake[2]: Entering directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/NSInvocation/Resources'
Making all for bundle InvokeProxy...
gmake[3]: Nothing to be done for `internal-bundle-all'.
gmake[2]: Leaving directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/NSInvocation/Resources'
Making all for test_tool test01...
Compiling file test01.m ...
Linking test_tool test01 ...
gmake[1]: Leaving directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/NSInvocation'
Running base/NSInvocation/test01.m...
This is gnustep-make 2.0.6. Type 'make print-gnustep-make-help' for help.
PASS: loading resources from bundle
PASS: Retain return value
PASS: Will Retain arguments after -retainArguments
PASS: default will not retain arguments
PASS: Check if nil target works
PASS: Exception in invocation #1
PASS: Exception getting return value #1
gmake[1]: *** [test] Segmentation fault
FAIL: base/NSInvocation/test01.m
Testing base/NSProxy/test01.m...
This is gnustep-make 2.0.6. Type 'make print-gnustep-make-help' for help.
gmake[1]: Entering directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/NSProxy'
Making all for test_tool test01...
Compiling file test01.m ...
test01.m: In function '-[TypeTester idPid:]':
test01.m:116: warning: pointer type mismatch in conditional expression
Linking test_tool test01 ...
gmake[1]: Leaving directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/NSProxy'
Running base/NSProxy/test01.m...
This is gnustep-make 2.0.6. Type 'make print-gnustep-make-help' for help.
PASS: Proxy signed char
PASS: Proxy unsigned char
PASS: Proxy signed short
PASS: Proxy unsigned short
PASS: Proxy singed int
PASS: Proxy unsigned int
PASS: Proxy signed long
PASS: Proxy unsigned long
PASS: Proxy signed long long
PASS: Proxy unsigned long long
PASS: Proxy float
PASS: Proxy float
PASS: Proxy id
PASS: Proxy enum
PASS: Proxy NSRange
FAIL: Proxy NSPoint
PASS: Proxy NSDecimal
FAIL: Proxy GSFinePoint
gmake[1]: *** [test] Segmentation fault
FAIL: base/NSProxy/test01.m
Testing base/NSStream/socket.m...
This is gnustep-make 2.0.6. Type 'make print-gnustep-make-help' for help.
gmake[1]: Entering directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/NSStream'
Making all for test_tool socket...
Compiling file socket.m ...
socket.m:12: warning: pointer targets in initialization differ in signedness
Linking test_tool socket ...
gmake[1]: Leaving directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/NSStream'
Running base/NSStream/socket.m...
This is gnustep-make 2.0.6. Type 'make print-gnustep-make-help' for help.
2008-10-06 18:30:04.942 socket[6877] Unknown time zone name `PST'.
2008-10-06 18:30:04.942 socket[6877] Using time zone with absolute offset 0.
2008-10-06 18:30:04.938 socket[6877] Got 8 on 0x1d3dfdb0
2008-10-06 18:30:04.944 socket[6877] Got 8 on 0x1d3dbaa0
FAIL: read www.google.com https
COMPLETED: base/NSStream/socket.m
Testing base/NSString/order.m...
This is gnustep-make 2.0.6. Type 'make print-gnustep-make-help' for help.
gmake[1]: Entering directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/NSString'
Making all for test_tool order...
Compiling file order.m ...
Linking test_tool order ...
gmake[1]: Leaving directory `/scratch/gmorris/emacs/cvs/trunk/gnustep-testsuite/base/NSString'
Running base/NSString/order.m...
This is gnustep-make 2.0.6. Type 'make print-gnustep-make-help' for help.
2008-10-06 18:30:38.608 order[7286] Unknown time zone name `PST'.
2008-10-06 18:30:38.608 order[7286] Using time zone with absolute offset 0.
2008-10-06 18:30:38.603 order[7286] No iconv for encoding x90000100
gmake[1]: *** [test] Segmentation fault
FAIL: base/NSString/order.m
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1079: GNUstep port segfaults making autoloads on x86_64
2008-10-06 17:20 ` Glenn Morris
2008-10-06 18:39 ` Glenn Morris
@ 2008-10-07 19:02 ` Yavor Doganov
2008-10-08 7:51 ` Glenn Morris
1 sibling, 1 reply; 14+ messages in thread
From: Yavor Doganov @ 2008-10-07 19:02 UTC (permalink / raw)
To: Glenn Morris; +Cc: yavor, 1079
Glenn Morris wrote:
>
> > Which version of GNUstep Base is this?
>
> gnustep-startup-0.20.0.tar
That should contain the latest stable releases, so it must be OK (I've
never installed this way, though.)
> base/NSInvocation/general.m:
> FAIL: Can send/return large structs
This is a bit worrisome. Just to rule out the possibility, can you
compile gnustep-base against libffi in case it was built with
libffcall (and vice-versa -- rebuild it with libffcall if it was with
libffi). There were numerous problems with both, and libffi became
preferred by upstream a few months ago.
> > Does the naive patch below eliminate this problem?
>
> I'm afraid not.
Oh, of course not; this file is not being read at all at this point.
Nevertheless, still fixes a harmless runtime warning.
> Here is a full backtrace this time:
Thanks. I can't see how this can be a bug in Emacs. The arguments of
bootstrap-emacs are evaluated as property lists and since "(setq foo
1)" (or whatever is passed to --batch in such form) is not a validly
formatted array, an NSException is raised here:
#5 0x00002b51204f9fbb in GSPropertyListFromStringsFormat (string=0x1b392730)
at NSPropertyList.m:1505
dict = (class NSMutableDictionary *) 0x0
_pld = {
ptr = 0x1b281c70 "(setq foo 1)",
end = 12,
pos = 0,
lin = 0,
err = 0x2b512095f000,
opt = NSPropertyListImmutable,
key = 0 '\000',
old = 1 '\001'
}
However, this exception should be caught and handled by the parent
exception handler at NSUserDefaults.m:1814 -- note the comment there:
else
{ // Real parameter
/* Parsing the argument as a property list is very
delicate. We *MUST NOT* crash here just because a
strange parameter (such as `(load "test.scm")`) is
passed, otherwise the whole library is useless in a
foreign environment. */
NSObject *plist_val;
NS_DURING
[....]
This is precisely the case here, and it's handled properly on i386.
It is getting too complicated for me, but can you compile this test
program (it should never crash):
test.m:
=======
#import <Foundation/Foundation.h>
int
main (int argc, char** argv, char **env)
{
NSAutoreleasePool *pool = [NSAutoreleasePool new];
NSProcessInfo *proc = [NSProcessInfo processInfo];
NSBundle *bundle = [NSBundle mainBundle];
NSArray *args;
unsigned i;
int retval = 0;
[NSProcessInfo initializeWithArguments:argv
count:argc
environment:env];
args = [proc arguments];
GSPrintf (stderr, @"Useless info about bundle: %@\n", bundle);
if ([args count] <= 1)
{
GSPrintf (stderr, @"Please specify some arguments.\n");
RELEASE (pool);
exit (EXIT_FAILURE);
}
else if ([[proc environment] valueForKey:@"NOHANDLE"] != nil)
GSPrintf (stderr, @"NOHANDLE defined; should exit with success.\n");
else
{
for (i = 1; i < [args count]; i++)
{
NSString *opt = [args objectAtIndex: i];
NS_DURING
{
NSString *tempString;
id result;
tempString = [NSString stringWithString: opt];
if (tempString == nil)
GSPrintf (stderr, @"This should not happen.\n");
/* Exception handler taking care here. */
else if (![tempString propertyList]);
else if ((result = [tempString propertyList]) == nil)
GSPrintf (stderr, @"'%@' - a nil property list.\n", opt);
else if ([result isKindOfClass: [NSDictionary class]] == YES)
GSPrintf (stderr, @"'%@' - a dictionary.\n", opt);
else if ([result isKindOfClass: [NSArray class]] == YES)
GSPrintf (stderr, @"'%@' - an array.\n", opt);
else if ([result isKindOfClass: [NSString class]] == YES)
GSPrintf (stderr, @"'%@' - a string.\n", opt);
else
GSPrintf (stderr, @"'%@' - unknown class %@.\n",
opt, [[result class] description]);
}
NS_HANDLER
{
GSPrintf (stderr, @"'%@' failed with:\n%@.\n", opt,
[localException reason]);
GSPrintf (stderr, @"Failure.\n");
retval = 1;
}
NS_ENDHANDLER
}
}
RELEASE (pool);
return retval;
}
You can use this simple makefile to build it:
GNUmakefile:
============
include $(GNUSTEP_MAKEFILES)/common.make
TOOL_NAME = test
test_OBJC_FILES = test.m
include $(GNUSTEP_MAKEFILES)/tool.make
Just type `make'.
Then test it as follows (the executable should be /obj/test):
(gdb) r '{a=b; c=d}' '(foo, bar)' --batch '(setq foo 1)'
...
(gdb) set environment NOHANDLE=yes
(gdb) r (with the same arguments)
Thanks.
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1079: GNUstep port segfaults making autoloads on x86_64
2008-10-07 19:02 ` Yavor Doganov
@ 2008-10-08 7:51 ` Glenn Morris
2008-10-08 11:55 ` Yavor Doganov
0 siblings, 1 reply; 14+ messages in thread
From: Glenn Morris @ 2008-10-08 7:51 UTC (permalink / raw)
To: 1079; +Cc: yavor
Yavor Doganov wrote:
> Just to rule out the possibility, can you compile gnustep-base
> against libffi in case it was built with libffcall (and vice-versa
> -- rebuild it with libffcall if it was with libffi).
I don't have either. gnustep-startup provides both, but uses ffcall by
default. I tried to get it to use ffi instead, but it did not work out
of the box and I haven't had time to look into it yet.
> Nevertheless, still fixes a harmless runtime warning.
Installed.
> It is getting too complicated for me, but can you compile this test
> program (it should never crash):
Never say never...
32-bit:
(gdb) r '{a=b; c=d}' '(foo, bar)' --batch '(setq foo 1)'
Starting program: /scratch/gmorris/tmp/gnustep/obj/test '{a=b; c=d}'
'(foo, bar)' --batch '(setq foo 1)'
[Thread debugging using libthread_db enabled]
[New Thread -1208932672 (LWP 26878)]
Useless info about bundle: <NSBundle: 0x93e3970>
</scratch/gmorris/tmp/gnustep/Resources/test>
'{a=b; c=d}' - a dictionary.
'(foo, bar)' - an array.
'--batch' - a string.
'(setq foo 1)' failed with:
Parse failed - Parse failed at line 1 (char 7) - unexpected character
(wanted ',' or ')').
Failure.
Program exited with code 01.
(gdb) set environment NOHANDLE=yes
(gdb) r '{a=b; c=d}' '(foo, bar)' --batch '(setq foo 1)'
Starting program: /scratch/gmorris/tmp/gnustep/obj/test '{a=b; c=d}'
'(foo, bar)' --batch '(setq foo 1)'
[Thread debugging using libthread_db enabled]
[New Thread -1208916288 (LWP 26885)]
Useless info about bundle: <NSBundle: 0x8edf9b8>
</scratch/gmorris/tmp/gnustep/Resources/test>
NOHANDLE defined; should exit with success.
Program exited normally.
64-bit:
(gdb) r '{a=b; c=d}' '(foo, bar)' --batch '(setq foo 1)'
Starting program: /scratch/gmorris/tmp/gnustep/obj/test '{a=b; c=d}'
'(foo, bar)' --batch '(setq foo 1)'
[Thread debugging using libthread_db enabled]
[New Thread 47102936683440 (LWP 11003)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47102936683440 (LWP 11003)]
0x00002ad701150af6 in NSCountFrames () at NSDebug.m:994
994 NSDebug.m: No such file or directory.
in NSDebug.m
#0 0x00002ad701150af6 in NSCountFrames () at NSDebug.m:994
env = (jbuf_type *) 0x573a370
#1 0x00002ad701158ff3 in GSPrivateStackAddresses () at NSDebug.m:1100
n = 0
stack = (class NSMutableArray *) 0x2ad70167e020
pool = (class NSAutoreleasePool *) 0x7fffa9b14020
i = 10967
env = (jbuf_type *) 0x8
#2 0x00002ad70116f920 in -[NSException raise] (self=0x5738c50,
_cmd=0x2ad70161a440) at NSException.m:822
__value = (struct objc_object *) 0x5738c50
__object = (struct objc_object *) 0x7fffa9b140c0
thread = (TInfo) 0x57394b0
handler = (NSHandler *) 0x2ad701619aa0
recursion = 0
#3 0x00002ad70116f3f4 in +[NSException raise:format:arguments:] (
self=0x2ad701619fe0, _cmd=0x2ad70161a410, name=0x2ad701619aa0,
format=0x2ad701649020, argList=0x7fffa9b14100) at NSException.m:765
reason = (class NSString *) 0x57394b0
except = (class NSException *) 0x5738c50
#4 0x00002ad70116f32a in +[NSException raise:format:]
(self=0x2ad701619fe0,
_cmd=0x2ad70164a6b0, name=0x2ad701619aa0, format=0x2ad701649020)
at NSException.m:751
args = {{
gp_offset = 32,
fp_offset = 48,
overflow_arg_area = 0x7fffa9b141f0,
reg_save_area = 0x7fffa9b14120
}}
---Type <return> to continue, or q <return> to quit---
#5 0x00002ad7011e3fbb in GSPropertyListFromStringsFormat
(string=0x56ee4e0)
at NSPropertyList.m:1505
dict = (class NSMutableDictionary *) 0x0
_pld = {
ptr = 0x5737450 "(setq foo 1)8",
end = 12,
pos = 0,
lin = 0,
err = 0x2ad701649000,
opt = NSPropertyListImmutable,
key = 0 '\000',
old = 1 '\001'
}
pld = (pldata *) 0x7fffa9b14210
d = (class NSData *) 0x5738e00
__PRETTY_FUNCTION__ = "GSPropertyListFromStringsFormat"
#6 0x00002ad70121e474 in -[NSString propertyList] (self=0x56ee4e0,
_cmd=0x2ad701678f80) at NSString.m:4701
NSLocalHandler = {
jumpState = {{
__jmpbuf = {47102929706784,
-6946947468941412056,
91449456,
47102923872888,
91075728,
0,
-6946947468941410312,
-6947038554855696004},
__mask_was_saved = 0,
---Type <return> to continue, or q <return> to quit---
__saved_mask = {
__val = {47102924024290,
0,
6,
34359738380,
47102929894528,
47102929784384,
91153632,
140736040354784,
47102925290065,
34450891952,
47102929894528,
47102929784464,
91153632,
51539607552,
91153632,
140736040354864}
}
}},
next = 0x7fffa9b14450,
exception = 0x7fffa9b14430
}
data = (class NSData *) 0x57374a0
result = (struct objc_object *) 0x0
format = NSPropertyListOpenStepFormat
error = (class NSString *) 0x5738d80
#7 0x00002ad7012515f3 in -[NSUserDefaults __createArgumentDictionary] (
self=0x57341d0, _cmd=0x2ad701678bf0) at NSUserDefaults.m:1816
NSLocalHandler = {
---Type <return> to continue, or q <return> to quit---
jumpState = {{
__jmpbuf = {91153632,
-6946947468941412200,
91449456,
47102923872888,
91075728,
0,
-6946947468941412008,
-6947038554855380769},
__mask_was_saved = 0,
__saved_mask = {
__val = {0,
91449728,
10,
140736040355024,
47102923869137,
240,
47102929920032,
140736040355104,
47102923868903,
43041122496,
91449464,
5,
91449696,
8,
91449728,
18446744073709551615}
}
}},
---Type <return> to continue, or q <return> to quit---
next = 0x0,
exception = 0x7fffa9b14550
}
plist_val = (class NSObject *) 0xa01678900
old = (class NSString *) 0x0
args = (class NSArray *) 0x56f0830
enumerator = (class NSEnumerator *) 0x5736d00
argDict = (class NSMutableDictionary *) 0x5737320
done = 0 '\000'
key = (struct objc_object *) 0x5737420
val = (struct objc_object *) 0x56ee4e0
#8 0x00002ad70124ce0e in -[NSUserDefaults initWithContentsOfFile:] (
self=0x57341d0, _cmd=0x2ad701678ae0, path=0x5734fa0)
at NSUserDefaults.m:872
mgr = (class NSFileManager *) 0x5706160
r = {
location = 2147483647,
length = 0
}
loadReadonly = 0 '\000'
flag = 0 '\000'
objc_super = {
self = 0x57341d0,
super_class = 0x2ad70163a860
}
#9 0x00002ad70124c349 in -[NSUserDefaults initWithUser:]
(self=0x57341d0,
_cmd=0x2ad701678ad0, userName=0x56ae9f0) at NSUserDefaults.m:774
path = (class NSString *) 0x5734e60
#10 0x00002ad70124c2c4 in -[NSUserDefaults init] (self=0x57341d0,
---Type <return> to continue, or q <return> to quit---
_cmd=0x2ad701678910) at NSUserDefaults.m:765
No locals.
#11 0x00002ad70124b383 in +[NSUserDefaults standardUserDefaults] (
self=0x2ad7016786c0, _cmd=0x2ad701678870) at NSUserDefaults.m:474
added_lang = 0 '\000'
added_locale = 0 '\000'
lang = (struct objc_object *) 0x2ad7018e8708
uL = (class NSArray *) 0x7fffa9b14760
enumerator = (class NSEnumerator *) 0x2ad7010a7fba
#12 0x00002ad70124bc78 in +[NSUserDefaults userLanguages] (
self=0x2ad7016786c0, _cmd=0x2ad7015fa9f0) at NSUserDefaults.m:682
currLang = (class NSArray *) 0x0
locale = (class NSString *) 0x57341a0
result = (class NSArray *) 0x2ad7018e8708
#13 0x00002ad70110ab99 in +[NSBundle
_bundleResourcePathsWithRootPath:subPath:]
(self=0x2ad7015fa360, _cmd=0x2ad7015faa00, rootPath=0x57283d0,
subPath=0x0)
at NSBundle.m:1603
primary = (class NSString *) 0x2ad7015f7e90
language = (class NSString *) 0x56df120
languages = (class NSArray *) 0x2ad70125a36f
array = (class NSMutableArray *) 0x572e4a0
enumerate = (class NSEnumerator *) 0x2ad7015fa360
#14 0x00002ad70110ae05 in +[NSBundle
pathForResource:ofType:inRootPath:inDirectory:withVersion:]
(self=0x2ad7015fa360, _cmd=0x2ad7015faa10,
name=0x2ad7015f9760, ext=0x2ad7015f9780, rootPath=0x57283d0,
subPath=0x0,
version=0) at NSBundle.m:1637
path = (class NSString *) 0x0
fullpath = (class NSString *) 0x2ad70163a860
pathlist = (class NSEnumerator *) 0x7fffa9b148d0
---Type <return> to continue, or q <return> to quit---
#15 0x00002ad70110b31f in -[NSBundle
pathForResource:ofType:inDirectory:] (
self=0x572d710, _cmd=0x2ad7015fa770, name=0x2ad7015f9760,
ext=0x2ad7015f9780, subPath=0x0) at NSBundle.m:1732
rootPath = (class NSString *) 0x57283d0
#16 0x00002ad70110b1e4 in -[NSBundle pathForResource:ofType:]
(self=0x572d710,
_cmd=0x2ad7015fab10, name=0x2ad7015f9760, ext=0x2ad7015f9780)
at NSBundle.m:1713
No locals.
#17 0x00002ad70110d0f5 in -[NSBundle infoDictionary] (self=0x572d710,
_cmd=0x2ad7015fa990) at NSBundle.m:2192
path = (class NSString *) 0x7fffa9b149f0
#18 0x00002ad70110d3d5 in -[NSBundle bundleIdentifier] (self=0x572d710,
_cmd=0x2ad7015fa8f0) at NSBundle.m:2237
No locals.
#19 0x00002ad7011098b3 in -[NSBundle initWithPath:] (self=0x572d710,
_cmd=0x2ad7015fa750, path=0x57283d0) at NSBundle.m:1315
identifier = (class NSString *) 0x2ad7015fa750
objc_super = {
self = 0x572d710,
super_class = 0x2ad70163a860
}
#20 0x00002ad7011092a0 in +[NSBundle bundleWithPath:]
(self=0x2ad7015fa360,
_cmd=0x2ad7015fabc0, path=0x572d530) at NSBundle.m:1192
No locals.
#21 0x00002ad70110d980 in +[NSBundle(GNUstep) bundleForLibrary:version:]
(
self=0x2ad7015fa360, _cmd=0x2ad7015fa820, libraryName=0x5706f40,
interfaceVersion=0x2ad7015f9080) at NSBundle.m:2352
b = (class NSBundle *) 0x2ad7016df315
isDir = 1 '\001'
---Type <return> to continue, or q <return> to quit---
paths = (class NSArray *) 0x5706f80
enumerator = (class NSEnumerator *) 0x5729420
path = (class NSString *) 0x572d530
fm = (class NSFileManager *) 0x5706160
#22 0x00002ad70110806a in +[NSBundle initialize] (self=0x2ad7015fa360,
_cmd=0x2ad70167eef0) at NSBundle.m:819
env = (class NSDictionary *) 0x570d850
str = (class NSString *) 0x5701b30
#23 0x00002ad7016df04d in objc_msg_lookup () from /usr/lib64/libobjc.so.1
No symbol table info available.
#24 0x0000000000400c12 in main (argc=5, argv=0x7fffa9b14e98,
env=0x7fffa9b14ec8) at test.m:8
pool = (class NSAutoreleasePool *) 0x56df120
proc = (class NSProcessInfo *) 0x56ad230
bundle = (class NSBundle *) 0x382141abc0
args = (class NSArray *) 0x401220
i = 4196843
retval = 0
(gdb) set environment NOHANDLE=yes
(gdb) r '{a=b; c=d}' '(foo, bar)' --batch '(setq foo 1)'
Starting program: /scratch/gmorris/tmp/gnustep/obj/test '{a=b; c=d}'
'(foo, bar)' --batch '(setq foo 1)'
[Thread debugging using libthread_db enabled]
[New Thread 47495076418480 (LWP 11065)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47495076418480 (LWP 11065)]
0x00002b324e6e8af6 in NSCountFrames () at NSDebug.m:994
994 NSDebug.m: No such file or directory.
in NSDebug.m
(gdb) bt full
#0 0x00002b324e6e8af6 in NSCountFrames () at NSDebug.m:994
env = (jbuf_type *) 0xac85460
#1 0x00002b324e6f0ff3 in GSPrivateStackAddresses () at NSDebug.m:1100
n = 0
stack = (class NSMutableArray *) 0x2b324ec16020
pool = (class NSAutoreleasePool *) 0x7fff5c579a70
i = 11058
env = (jbuf_type *) 0x8
#2 0x00002b324e707920 in -[NSException raise] (self=0xac83d40,
_cmd=0x2b324ebb2440) at NSException.m:822
__value = (struct objc_object *) 0xac83d40
__object = (struct objc_object *) 0x7fff5c579b10
thread = (TInfo) 0xac845a0
handler = (NSHandler *) 0x2b324ebb1aa0
recursion = 0
#3 0x00002b324e7073f4 in +[NSException raise:format:arguments:] (
self=0x2b324ebb1fe0, _cmd=0x2b324ebb2410, name=0x2b324ebb1aa0,
format=0x2b324ebe1020, argList=0x7fff5c579b50) at NSException.m:765
reason = (class NSString *) 0xac845a0
except = (class NSException *) 0xac83d40
#4 0x00002b324e70732a in +[NSException raise:format:]
(self=0x2b324ebb1fe0,
_cmd=0x2b324ebe26b0, name=0x2b324ebb1aa0, format=0x2b324ebe1020)
at NSException.m:751
args = {{
gp_offset = 32,
fp_offset = 48,
overflow_arg_area = 0x7fff5c579c40,
reg_save_area = 0x7fff5c579b70
}}
---Type <return> to continue, or q <return> to quit---
#5 0x00002b324e77bfbb in GSPropertyListFromStringsFormat
(string=0xac39500)
at NSPropertyList.m:1505
dict = (class NSMutableDictionary *) 0x0
_pld = {
ptr = 0xac82540 "(setq foo 1)8",
end = 12,
pos = 0,
lin = 0,
err = 0x2b324ebe1000,
opt = NSPropertyListImmutable,
key = 0 '\000',
old = 1 '\001'
}
pld = (pldata *) 0x7fff5c579c60
d = (class NSData *) 0xac83ef0
__PRETTY_FUNCTION__ = "GSPropertyListFromStringsFormat"
#6 0x00002b324e7b6474 in -[NSString propertyList] (self=0xac39500,
_cmd=0x2b324ec10f80) at NSString.m:4701
NSLocalHandler = {
jumpState = {{
__jmpbuf = {47495069441824,
5927823237564070548,
180885856,
47495063607928,
180511920,
0,
5927823237564070180,
5927738896990535792},
__mask_was_saved = 0,
---Type <return> to continue, or q <return> to quit---
__saved_mask = {
__val = {47495063759330,
0,
6,
34359738380,
47495069629568,
47495069519424,
180589824,
140734742634032,
47495065025105,
34540328144,
47495069629568,
47495069519504,
180589824,
51539607552,
180589824,
140734742634112}
}
}},
next = 0x7fff5c579ea0,
exception = 0x7fff5c579e80
}
data = (class NSData *) 0xac82590
result = (struct objc_object *) 0x0
format = NSPropertyListOpenStepFormat
error = (class NSString *) 0xac83e70
#7 0x00002b324e7e95f3 in -[NSUserDefaults __createArgumentDictionary] (
self=0xac7f2c0, _cmd=0x2b324ec10bf0) at NSUserDefaults.m:1816
NSLocalHandler = {
---Type <return> to continue, or q <return> to quit---
jumpState = {{
__jmpbuf = {180589824,
5927823237564070852,
180885856,
47495063607928,
180511920,
0,
5927823237564070532,
5927738896990794195},
__mask_was_saved = 0,
__saved_mask = {
__val = {0,
180886128,
10,
140734742634272,
47495063604177,
240,
47495069655072,
140734742634352,
47495063603943,
43130558896,
180885864,
5,
180886096,
8,
180886128,
18446744073709551615}
}
}},
---Type <return> to continue, or q <return> to quit---
next = 0x0,
exception = 0x7fff5c579fa0
}
plist_val = (class NSObject *) 0xa4ec10900
old = (class NSString *) 0x0
args = (class NSArray *) 0xac3b850
enumerator = (class NSEnumerator *) 0xac81df0
argDict = (class NSMutableDictionary *) 0xac82410
done = 0 '\000'
key = (struct objc_object *) 0xac82510
val = (struct objc_object *) 0xac39500
#8 0x00002b324e7e4e0e in -[NSUserDefaults initWithContentsOfFile:] (
self=0xac7f2c0, _cmd=0x2b324ec10ae0, path=0xac80090)
at NSUserDefaults.m:872
mgr = (class NSFileManager *) 0xac51170
r = {
location = 2147483647,
length = 0
}
loadReadonly = 0 '\000'
flag = 0 '\000'
objc_super = {
self = 0xac7f2c0,
super_class = 0x2b324ebd2860
}
#9 0x00002b324e7e4349 in -[NSUserDefaults initWithUser:]
(self=0xac7f2c0,
_cmd=0x2b324ec10ad0, userName=0xabf99f0) at NSUserDefaults.m:774
path = (class NSString *) 0xac7ff50
#10 0x00002b324e7e42c4 in -[NSUserDefaults init] (self=0xac7f2c0,
---Type <return> to continue, or q <return> to quit---
_cmd=0x2b324ec10910) at NSUserDefaults.m:765
No locals.
#11 0x00002b324e7e3383 in +[NSUserDefaults standardUserDefaults] (
self=0x2b324ec106c0, _cmd=0x2b324ec10870) at NSUserDefaults.m:474
added_lang = 0 '\000'
added_locale = 0 '\000'
lang = (struct objc_object *) 0x2b324ee80708
uL = (class NSArray *) 0x7fff5c57a1b0
enumerator = (class NSEnumerator *) 0x2b324e63ffba
#12 0x00002b324e7e3c78 in +[NSUserDefaults userLanguages] (
self=0x2b324ec106c0, _cmd=0x2b324eb929f0) at NSUserDefaults.m:682
currLang = (class NSArray *) 0x0
locale = (class NSString *) 0xac7f290
result = (class NSArray *) 0x2b324ee80708
#13 0x00002b324e6a2b99 in +[NSBundle
_bundleResourcePathsWithRootPath:subPath:]
(self=0x2b324eb92360, _cmd=0x2b324eb92a00, rootPath=0xac734c0,
subPath=0x0)
at NSBundle.m:1603
primary = (class NSString *) 0x2b324eb8fe90
language = (class NSString *) 0xac2a140
languages = (class NSArray *) 0x2b324e7f236f
array = (class NSMutableArray *) 0xac79590
enumerate = (class NSEnumerator *) 0x2b324eb92360
#14 0x00002b324e6a2e05 in +[NSBundle
pathForResource:ofType:inRootPath:inDirectory:withVersion:]
(self=0x2b324eb92360, _cmd=0x2b324eb92a10,
name=0x2b324eb91760, ext=0x2b324eb91780, rootPath=0xac734c0,
subPath=0x0,
version=0) at NSBundle.m:1637
path = (class NSString *) 0x0
fullpath = (class NSString *) 0x2b324ebd2860
pathlist = (class NSEnumerator *) 0x7fff5c57a320
---Type <return> to continue, or q <return> to quit---
#15 0x00002b324e6a331f in -[NSBundle
pathForResource:ofType:inDirectory:] (
self=0xac78800, _cmd=0x2b324eb92770, name=0x2b324eb91760,
ext=0x2b324eb91780, subPath=0x0) at NSBundle.m:1732
rootPath = (class NSString *) 0xac734c0
#16 0x00002b324e6a31e4 in -[NSBundle pathForResource:ofType:]
(self=0xac78800,
_cmd=0x2b324eb92b10, name=0x2b324eb91760, ext=0x2b324eb91780)
at NSBundle.m:1713
No locals.
#17 0x00002b324e6a50f5 in -[NSBundle infoDictionary] (self=0xac78800,
_cmd=0x2b324eb92990) at NSBundle.m:2192
path = (class NSString *) 0x7fff5c57a440
#18 0x00002b324e6a53d5 in -[NSBundle bundleIdentifier] (self=0xac78800,
_cmd=0x2b324eb928f0) at NSBundle.m:2237
No locals.
#19 0x00002b324e6a18b3 in -[NSBundle initWithPath:] (self=0xac78800,
_cmd=0x2b324eb92750, path=0xac734c0) at NSBundle.m:1315
identifier = (class NSString *) 0x2b324eb92750
objc_super = {
self = 0xac78800,
super_class = 0x2b324ebd2860
}
#20 0x00002b324e6a12a0 in +[NSBundle bundleWithPath:]
(self=0x2b324eb92360,
_cmd=0x2b324eb92bc0, path=0xac78620) at NSBundle.m:1192
No locals.
#21 0x00002b324e6a5980 in +[NSBundle(GNUstep) bundleForLibrary:version:]
(
self=0x2b324eb92360, _cmd=0x2b324eb92820, libraryName=0xac51f50,
interfaceVersion=0x2b324eb91080) at NSBundle.m:2352
b = (class NSBundle *) 0x2b324ec77315
isDir = 1 '\001'
---Type <return> to continue, or q <return> to quit---
paths = (class NSArray *) 0xac51f90
enumerator = (class NSEnumerator *) 0xac74510
path = (class NSString *) 0xac78620
fm = (class NSFileManager *) 0xac51170
#22 0x00002b324e6a006a in +[NSBundle initialize] (self=0x2b324eb92360,
_cmd=0x2b324ec16ef0) at NSBundle.m:819
env = (class NSDictionary *) 0xac58930
str = (class NSString *) 0xac4cc00
#23 0x00002b324ec7704d in objc_msg_lookup () from /usr/lib64/libobjc.so.1
No symbol table info available.
#24 0x0000000000400c12 in main (argc=5, argv=0x7fff5c57a8e8,
env=0x7fff5c57a918) at test.m:8
pool = (class NSAutoreleasePool *) 0xac2a140
proc = (class NSProcessInfo *) 0xabf8230
bundle = (class NSBundle *) 0x382141abc0
args = (class NSArray *) 0x401220
i = 4196843
retval = 0
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1079: GNUstep port segfaults making autoloads on x86_64
2008-10-08 7:51 ` Glenn Morris
@ 2008-10-08 11:55 ` Yavor Doganov
2008-10-10 1:03 ` Glenn Morris
0 siblings, 1 reply; 14+ messages in thread
From: Yavor Doganov @ 2008-10-08 11:55 UTC (permalink / raw)
To: Glenn Morris, 1079; +Cc: yavor
Glenn Morris wrote:
>
> I don't have either. gnustep-startup provides both, but uses ffcall
> by default. I tried to get it to use ffi instead, but it did not
> work out of the box and I haven't had time to look into it yet.
AFAICS ./InstallGNUstep --ffi=libffi should DTRT.
Failing that, ./configure --enable-libffi --disable-ffcall in the
gnustep-base tree should suffice (after installing libffi). It is
enough to recompile only GNUstep Base, not the whole thing.
Maybe someone else with access on a x86_64 machine can try this.
> > can you compile this test program (it should never crash):
>
> Never say never...
It is excellent that it crashes, this confirms it's a GNUstep bug. It
looks like it is unable to pass the exception up to the call stack or
something like that.
Before reporting it to the GNUstep developers, it would be useful to:
1) Check if it still crashes with -base built against libffi.
2) Check if the problem persists in SVN trunk:
svn co http://svn.gna.org/svn/gnustep/libs/base/trunk gnustep-base
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#1079: GNUstep port segfaults making autoloads on x86_64
2008-10-08 11:55 ` Yavor Doganov
@ 2008-10-10 1:03 ` Glenn Morris
2008-10-10 1:15 ` Processed: " Emacs bug Tracking System
0 siblings, 1 reply; 14+ messages in thread
From: Glenn Morris @ 2008-10-10 1:03 UTC (permalink / raw)
To: 1079; +Cc: yavor
reassign 1079 gnustep
stop
Yavor Doganov wrote:
> AFAICS ./InstallGNUstep --ffi=libffi should DTRT.
It doesn't work, it builds libffcall anyway.
> It is excellent that it crashes, this confirms it's a GNUstep bug.
Reassigned as such.
> 1) Check if it still crashes with -base built against libffi.
> 2) Check if the problem persists in SVN trunk:
> svn co http://svn.gna.org/svn/gnustep/libs/base/trunk gnustep-base
Still crashes with trunk gnustep-base built against libffi.
Backtrace:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47788427799904 (LWP 5561)]
0x00002b769ba95ea2 in NSCountFrames () at NSDebug.m:994
994 _NS_COUNT_HACK(24); _NS_COUNT_HACK(25); _NS_COUNT_HACK(26);
(gdb) bt full
#0 0x00002b769ba95ea2 in NSCountFrames () at NSDebug.m:994
env = (jbuf_type *) 0xe4cda90
#1 0x00002b769ba9e39f in GSPrivateStackAddresses () at NSDebug.m:1100
n = 0
stack = (class NSMutableArray *) 0x2b769bfc06e0
pool = (class NSAutoreleasePool *) 0x7fff0f1d3670
i = 11126
env = (jbuf_type *) 0x8
#2 0x00002b769bab4f00 in -[NSException raise] (self=0xe4cc370,
_cmd=0x2b769bf5c5e0) at NSException.m:824
__value = (struct objc_object *) 0xe4cc370
__object = (struct objc_object *) 0x7fff0f1d3710
thread = (TInfo) 0xe4ccbd0
handler = (NSHandler *) 0x2b769bf5bc40
recursion = 0
#3 0x00002b769bab49d4 in +[NSException raise:format:arguments:] (
self=0x2b769bf5c180, _cmd=0x2b769bf5c5b0, name=0x2b769bf5bc40,
format=0x2b769bf8b5c0, argList=0x7fff0f1d3750) at NSException.m:767
reason = (class NSString *) 0xe4ccbd0
except = (class NSException *) 0xe4cc370
#4 0x00002b769bab490a in +[NSException raise:format:] (self=0x2b769bf5c180,
_cmd=0x2b769bf8cc50, name=0x2b769bf5bc40, format=0x2b769bf8b5c0)
at NSException.m:753
args = {{
gp_offset = 32,
fp_offset = 48,
overflow_arg_area = 0x7fff0f1d3840,
reg_save_area = 0x7fff0f1d3770
}}
---Type <return> to continue, or q <return> to quit---
#5 0x00002b769bb29a1b in GSPropertyListFromStringsFormat (string=0xe481290)
at NSPropertyList.m:1510
dict = (class NSMutableDictionary *) 0x0
_pld = {
ptr = 0xe4caa60 "(setq foo 1)8",
end = 12,
pos = 0,
lin = 0,
err = 0x2b769bf8b5a0,
opt = NSPropertyListImmutable,
key = 0 '\000',
old = 1 '\001'
}
pld = (pldata *) 0x7fff0f1d3860
d = (class NSData *) 0xe4cc520
__PRETTY_FUNCTION__ = "GSPropertyListFromStringsFormat"
#6 0x00002b769bb6404b in -[NSString propertyList] (self=0xe481290,
_cmd=0x2b769bfbb640) at NSString.m:4704
NSLocalHandler = {
jumpState = {{
__jmpbuf = {47788422907072,
-4067403250950454424,
239902336,
47788417072620,
239527008,
0,
-4067403250950455080,
-4067319175159268909},
__mask_was_saved = 0,
---Type <return> to continue, or q <return> to quit---
__saved_mask = {
__val = {47788422984784,
239604368,
239604368,
239902336,
47788417072620,
239527008,
0,
140733446961712,
47788418504034,
34599342688,
47788423095104,
47788422984864,
239604368,
51539607552,
239604368,
140733446961792}
}
}},
next = 0x7fff0f1d3aa0,
exception = 0x7fff0f1d3a80
}
data = (class NSData *) 0xe4caab0
result = (struct objc_object *) 0x0
format = NSPropertyListOpenStepFormat
error = (class NSString *) 0xe4cc4a0
#7 0x00002b769bb9745c in -[NSUserDefaults __createArgumentDictionary] (
self=0xe4c76d0, _cmd=0x2b769bfbb2b0) at NSUserDefaults.m:1816
NSLocalHandler = {
---Type <return> to continue, or q <return> to quit---
jumpState = {{
__jmpbuf = {239604368,
-4067403250950454728,
239902336,
47788417072620,
239527008,
0,
-4067403250950454408,
-4067319175160263208},
__mask_was_saved = 0,
__saved_mask = {
__val = {0,
239902608,
10,
140733446961952,
47788417068869,
240,
47788423120608,
140733446962032,
47788417068635,
43189575376,
239902344,
5,
239902576,
8,
239902608,
18446744073709551615}
}
}},
---Type <return> to continue, or q <return> to quit---
next = 0x0,
exception = 0x7fff0f1d3ba0
}
plist_val = (class NSObject *) 0xa9bfbafc0
old = (class NSString *) 0x0
args = (class NSArray *) 0xe4836f0
enumerator = (class NSEnumerator *) 0xe4ca310
argDict = (class NSMutableDictionary *) 0xe4ca930
done = 0 '\000'
key = (struct objc_object *) 0xe4caa30
val = (struct objc_object *) 0xe481290
#8 0x00002b769bb92c5a in -[NSUserDefaults initWithContentsOfFile:] (
self=0xe4c76d0, _cmd=0x2b769bfbb1a0, path=0xe4c85b0)
at NSUserDefaults.m:872
mgr = (class NSFileManager *) 0xe499120
r = {
location = 2147483647,
length = 0
}
loadReadonly = 0 '\000'
flag = 0 '\000'
objc_super = {
self = 0xe4c76d0,
super_class = 0x2b769bf7ce00
}
#9 0x00002b769bb92195 in -[NSUserDefaults initWithUser:] (self=0xe4c76d0,
_cmd=0x2b769bfbb190, userName=0xe442c60) at NSUserDefaults.m:774
path = (class NSString *) 0xe4c8470
#10 0x00002b769bb92110 in -[NSUserDefaults init] (self=0xe4c76d0,
---Type <return> to continue, or q <return> to quit---
_cmd=0x2b769bfbafd0) at NSUserDefaults.m:765
No locals.
#11 0x00002b769bb911cf in +[NSUserDefaults standardUserDefaults] (
self=0x2b769bfbad80, _cmd=0x2b769bfbaf30) at NSUserDefaults.m:474
added_lang = 0 '\000'
added_locale = 0 '\000'
lang = (struct objc_object *) 0x2b769c22b708
uL = (class NSArray *) 0x7fff0f1d3db0
enumerator = (class NSEnumerator *) 0x2b769b9e90ea
#12 0x00002b769bb91ac4 in +[NSUserDefaults userLanguages] (
self=0x2b769bfbad80, _cmd=0x2b769bf3caf0) at NSUserDefaults.m:682
currLang = (class NSArray *) 0x0
locale = (class NSString *) 0xe4c76a0
result = (class NSArray *) 0x2b769c22b708
#13 0x00002b769ba4fded in +[NSBundle _bundleResourcePathsWithRootPath:subPath:]
(self=0x2b769bf3c460, _cmd=0x2b769bf3cb00, rootPath=0xe4bb830, subPath=0x0)
at NSBundle.m:1603
primary = (class NSString *) 0x2b769bf9db60
language = (class NSString *) 0x9
languages = (class NSArray *) 0x100000000
array = (class NSMutableArray *) 0xe4c19c0
enumerate = (class NSEnumerator *) 0x2b769bf3c460
#14 0x00002b769ba50059 in +[NSBundle pathForResource:ofType:inRootPath:inDirectory:withVersion:] (self=0x2b769bf3c460, _cmd=0x2b769bf3cb10,
name=0x2b769bf3b860, ext=0x2b769bf3b880, rootPath=0xe4bb830, subPath=0x0,
version=0) at NSBundle.m:1637
path = (class NSString *) 0x7fff00000001
fullpath = (class NSString *) 0x2b769bb00170
pathlist = (class NSEnumerator *) 0x7fff0f1d3f20
---Type <return> to continue, or q <return> to quit---
#15 0x00002b769ba50573 in -[NSBundle pathForResource:ofType:inDirectory:] (
self=0xe4c0b50, _cmd=0x2b769bf3c870, name=0x2b769bf3b860,
ext=0x2b769bf3b880, subPath=0x0) at NSBundle.m:1732
rootPath = (class NSString *) 0xe4bb830
#16 0x00002b769ba50438 in -[NSBundle pathForResource:ofType:] (self=0xe4c0b50,
_cmd=0x2b769bf3cc10, name=0x2b769bf3b860, ext=0x2b769bf3b880)
at NSBundle.m:1713
No locals.
#17 0x00002b769ba52349 in -[NSBundle infoDictionary] (self=0xe4c0b50,
_cmd=0x2b769bf3ca90) at NSBundle.m:2192
path = (class NSString *) 0x7fff0f1d4040
#18 0x00002b769ba52629 in -[NSBundle bundleIdentifier] (self=0xe4c0b50,
_cmd=0x2b769bf3c9f0) at NSBundle.m:2237
No locals.
#19 0x00002b769ba4eb07 in -[NSBundle initWithPath:] (self=0xe4c0b50,
_cmd=0x2b769bf3c850, path=0xe4bb830) at NSBundle.m:1315
identifier = (class NSString *) 0x2b769bf3c850
objc_super = {
self = 0xe4c0b50,
super_class = 0x2b769bf7ce00
}
#20 0x00002b769ba4e4f4 in +[NSBundle bundleWithPath:] (self=0x2b769bf3c460,
_cmd=0x2b769bf3ccc0, path=0xe4c0990) at NSBundle.m:1192
No locals.
#21 0x00002b769ba52bd4 in +[NSBundle(GNUstep) bundleForLibrary:version:] (
self=0x2b769bf3c460, _cmd=0x2b769bf3c920, libraryName=0xe499f00,
interfaceVersion=0x2b769bf3b180) at NSBundle.m:2352
b = (class NSBundle *) 0x2b769c022315
isDir = 1 '\001'
---Type <return> to continue, or q <return> to quit---
paths = (class NSArray *) 0xe499f40
enumerator = (class NSEnumerator *) 0xe4bc880
path = (class NSString *) 0xe4c0990
fm = (class NSFileManager *) 0xe499120
#22 0x00002b769ba4d2be in +[NSBundle initialize] (self=0x2b769bf3c460,
_cmd=0x2b769bfc15b0) at NSBundle.m:819
env = (class NSDictionary *) 0xe4a0980
str = (class NSString *) 0xe494c60
#23 0x00002b769c02204d in objc_msg_lookup () from /usr/lib64/libobjc.so.1
No symbol table info available.
#24 0x0000000000400c12 in main (argc=5, argv=0x7fff0f1d44e8,
env=0x7fff0f1d4518) at test.m:8
pool = (class NSAutoreleasePool *) 0xe4720f0
proc = (class NSProcessInfo *) 0xe4414a0
bundle = (class NSBundle *) 0x382141abc0
args = (class NSArray *) 0x401220
i = 4196843
retval = 0
^ permalink raw reply [flat|nested] 14+ messages in thread
* Processed: Re: bug#1079: GNUstep port segfaults making autoloads on x86_64
2008-10-10 1:03 ` Glenn Morris
@ 2008-10-10 1:15 ` Emacs bug Tracking System
0 siblings, 0 replies; 14+ messages in thread
From: Emacs bug Tracking System @ 2008-10-10 1:15 UTC (permalink / raw)
To: Glenn Morris; +Cc: Emacs Bugs, gnustep #1079, ns #1079
Processing commands for control@emacsbugs.donarmstrong.com:
> reassign 1079 gnustep
bug#1079: GNUstep port segfaults making autoloads on x86_64
Warning: Unknown package 'ns'
Warning: Unknown package 'gnustep'
bug reassigned from package `emacs,ns' to `gnustep'.
> stop
Stopping processing here.
Please contact me if you need assistance.
Don Armstrong
(administrator, Emacs bugs database)
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2008-10-10 1:15 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-03 21:18 bug#1079: GNUstep port segfaults making autoloads on x86_64 Glenn Morris
2008-10-04 1:04 ` Adrian Robert
2008-10-05 1:40 ` Glenn Morris
2008-10-05 2:06 ` Adrian Robert
2008-10-06 9:39 ` Yavor Doganov
2008-10-06 17:20 ` Glenn Morris
2008-10-06 18:39 ` Glenn Morris
2008-10-07 19:02 ` Yavor Doganov
2008-10-08 7:51 ` Glenn Morris
2008-10-08 11:55 ` Yavor Doganov
2008-10-10 1:03 ` Glenn Morris
2008-10-10 1:15 ` Processed: " Emacs bug Tracking System
2008-10-06 11:32 ` Yavor Doganov
2008-10-06 17:24 ` Glenn Morris
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).