Re: string length on Mac
"John Selverian" <[email protected]> Tue, 16 Apr 2024 18:35:29 -0400
| Newsgroups | gmane.comp.lib.fox-toolkit.user |
|---|---|
| Organization | JAHM Software |
| Message-ID | <[email protected]> |
This is part of the dump I see:
System Integrity Protection: enabled
Notes:
PC register does not match crashing frame (0x0 vs 0x1237BC28F)
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0xfffffffffffffffc
Exception Codes: 0x0000000000000001, 0xfffffffffffffffc
Termination Reason: Namespace SIGNAL, Code 11 Segmentation
fault: 11
Terminating Process: exc handler [32740]
VM Region Info: 0xfffffffffffffffc is not in any region. Bytes
after previous region: 18446603349843460093
REGION TYPE START - END [ VSIZE]
PRT/MAX SHRMOD REGION DETAIL
unused __TEXT 7ffca5bc0000-7ffcd40cc000 [741.0M]
r-x/r-x SM=COW unused unknown system shared lib __TEXT
--->
UNUSED SPACE AT END
Error Formulating Crash Report:
PC register does not match crashing frame (0x0 vs 0x1237BC28F)
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libFOX-1.7.0.dylib 0x1237bc28f
FX::FXString::length() const + 15
1 libFOX-1.7.0.dylib 0x1239fb0af
FX::FXString::append(FX::FXString const&) + 47
2 libFOX-1.7.0.dylib 0x123a0177c
FX::operator+(FX::FXString const&, FX::FXString const&) + 60
3 MPDB 0x10821b267
__cxx_global_var_init.31 + 55
4 MPDB 0x10821b859
_GLOBAL__sub_I_ReferencesAlAlloys.cpp + 89
5 dyld 0x20e45639f
invocation function for block in
dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&)
const::$_0::operator()() const + 185
6 dyld 0x20e4904c8
invocation function for block in
dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&,
dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int)
block_pointer, void const*) const + 133
7 dyld 0x20e484bcf
invocation function for block in
dyld3::MachOFile::forEachSection(void
(dyld3::MachOFile::SectionInfo const&, bool, bool&)
block_pointer) const + 543
8 dyld 0x20e43b07f
dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void
(load_command const*, bool&) block_pointer) const + 249
9 dyld 0x20e483d0c
dyld3::MachOFile::forEachSection(void
(dyld3::MachOFile::SectionInfo const&, bool, bool&)
block_pointer) const + 176
10 dyld 0x20e4861b0
dyld3::MachOFile::forEachInitializerPointerSection(Diagnostics&,
void (unsigned int, unsigned int, bool&) block_pointer) const +
116
11 dyld 0x20e4901fe
dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&,
dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int)
block_pointer, void const*) const + 390
12 dyld 0x20e4530cd
dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&)
const + 225
13 dyld 0x20e4589c9
dyld4::JustInTimeLoader::runInitializers(dyld4::RuntimeState&)
const + 21
14 dyld 0x20e4532e5
dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&,
dyld3::Array<dyld4::Loader const*>&) const + 213
15 dyld 0x20e456414
dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::Runt
imeState&) const::$_1::operator()() const + 98
16 dyld 0x20e45337e
dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::Runt
imeState&) const + 96
17 dyld 0x20e472d9a
dyld4::APIs::runAllInitializersForMain() + 326
18 dyld 0x20e440203
dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*) + 3364
19 dyld 0x20e43f2ff start
+ 1839
Thread 1:: com.apple.rosetta.exceptionserver
0 runtime 0x7ff7ffc40494
0x7ff7ffc3c000 + 17556
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x000000010dc7da78 rbx: 0x000000010821b800 rcx:
0x00007fbe197169af rdx: 0xffffffffffffffef
rdi: 0x0000000000000000 rsi: 0x0000000000000000 rbp:
0x0000000315519020 rsp: 0x0000000315519020
r8: 0x0000000000000128 r9: 0x6f642f2f3a737074 r10:
0x30312f67726f2e69 r11: 0x31732f373030312e
r12: 0x000000010dc72518 r13: 0x0000000102ffc558 r14:
0x0000000315519668 r15: 0x0000000315519158
rip: <unavailable> rfl: 0x0000000000000206
tmp0: 0x0000000123cf0078 tmp1: 0x0000000124162f80 tmp2:
0x00000001237bc280
-----Original Message-----
From: Jeroen van der Zijp <[email protected]>
Sent: Tuesday, April 16, 2024 6:04 PM
To: John Selverian <[email protected]>
Cc: [email protected]
Subject: Re: [Foxgui-users] string length on Mac
On Tue, 16 Apr 2024 17:20:41 -0400
"John Selverian" <[email protected]> wrote:
> My program is crashing on start-up on the Mac. It works fine
on
> Windows and Linux. I can't catch it in the debugger, it crashes
in
> FXString::length() in the fox lib. I have some long strings (up
to
> 2000 chars). Could this be the problem? Is there a length limit
for
> FXString?
Length limit is, basically, MAX_INT (2**31-1). Why does it
crash? I don't know. I assume you've at least executed the
FXString constructor? FXString is essentially a pointer to a
text buffer, preceded by the size of the string [there's an extra
byte at the end, not accounted for in the length].
An empty string is a special pointer, which is preceeded by a
count of 0, and whose contents is a single end-of-string
character ('\0').
-- JVZ