Nicht debugbarer Crash

Hi Leute, ich habe hier mal einen Crashreport. Das passiert immer an der gleichen Stelle, aber nicht bei mir, deshlab “tappe” ich etwas im dunkeln.
Auerdem scheint es nur bei einem einzigen Kunden zu passieren, sonst htte ich schon mehr Mails dazu erhalten.

Kann mir jemand sagen, was mir der Crashreport verrt?

Danke!

Process: EuroFaktura [1486]
Path: /Applications/EuroFaktura.app/Contents/MacOS/EuroFaktura
Identifier: de.onlymac.eurofaktura
Version: 5.3.3 (5.3.3)
Code Type: X86 (Native)
Parent Process: launchd [166]
Responsible: EuroFaktura [1486]
User ID: 501

Date/Time: 2015-01-07 17:14:05.261 +0100
OS Version: Mac OS X 10.9.5 (13F34)
Report Version: 11
Anonymous UUID: 69276278-9ABD-9D54-8B49-7D4F9A2BB3AF

Sleep/Wake UUID: F508FE12-E6ED-4459-A659-3620F21CF887

Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000

VM Regions Near 0:
–> __PAGEZERO 0000000000000000-0000000000001000 [ 4K] —/--- SM=NUL /Applications/EuroFaktura.app/Contents/MacOS/EuroFaktura
__TEXT 0000000000001000-0000000001fe8000 [ 31.9M] r-x/rwx SM=COW /Applications/EuroFaktura.app/Contents/MacOS/EuroFaktura

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_c.dylib 0x962f2710 strlen + 16
1 libc++.1.dylib 0x9ad76f20 std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >::assign(char const*) + 18
2 com.xojo.XojoFramework 0x0214fa93 0x207e000 + 858771
3 com.xojo.XojoFramework 0x021c8040 0x207e000 + 1351744
4 com.xojo.XojoFramework 0x021c8d0a RuntimeExceptionStack + 158
5 de.onlymac.eurofaktura 0x0002cf8e 0x1000 + 180110
6 de.onlymac.eurofaktura 0x005bc5d2 0x1000 + 6010322
7 de.onlymac.eurofaktura 0x000ad8c8 0x1000 + 706760
8 com.xojo.XojoFramework 0x021d2cea 0x207e000 + 1395946
9 com.xojo.XojoFramework 0x020af662 0x207e000 + 202338
10 com.apple.AppKit 0x9104f1bc -[NSApplication run] + 823
11 com.xojo.XojoFramework 0x021d2d67 0x207e000 + 1396071
12 com.xojo.XojoFramework 0x021d131f RuntimeRun + 49
13 de.onlymac.eurofaktura 0x00202ad7 0x1000 + 2104023
14 de.onlymac.eurofaktura 0x000107d6 0x1000 + 63446
15 de.onlymac.eurofaktura 0x00002760 0x1000 + 5984
16 de.onlymac.eurofaktura 0x01e4b541 0x1000 + 31761729

Thread 1:: Dispatch queue: com.apple.libdispatch-manager
0 libsystem_kernel.dylib 0x988a7992 kevent64 + 10
1 libdispatch.dylib 0x95780899 _dispatch_mgr_invoke + 238
2 libdispatch.dylib 0x95780532 _dispatch_mgr_thread + 52

Thread 2:
0 libsystem_kernel.dylib 0x988a1f7a mach_msg_trap + 10
1 libsystem_kernel.dylib 0x988a116c mach_msg + 68
2 com.apple.CoreFoundation 0x96c31bf9 __CFRunLoopServiceMachPort + 169
3 com.apple.CoreFoundation 0x96c311d1 __CFRunLoopRun + 1393
4 com.apple.CoreFoundation 0x96c309ea CFRunLoopRunSpecific + 394
5 com.apple.CoreFoundation 0x96c3084b CFRunLoopRunInMode + 123
6 com.apple.AppKit 0x91206b88 _NSEventThread + 283
7 libsystem_pthread.dylib 0x981fb5fb _pthread_body + 144
8 libsystem_pthread.dylib 0x981fb485 _pthread_start + 130
9 libsystem_pthread.dylib 0x98200cf2 thread_start + 34

Thread 3:
0 libsystem_kernel.dylib 0x988a7046 __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x981fcdcf _pthread_wqthread + 372
2 libsystem_pthread.dylib 0x98200cce start_wqthread + 30

Thread 4:
0 libsystem_kernel.dylib 0x988a7046 __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x981fcdcf _pthread_wqthread + 372
2 libsystem_pthread.dylib 0x98200cce start_wqthread + 30

Thread 5:
0 libsystem_kernel.dylib 0x988a7046 __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x981fcdcf _pthread_wqthread + 372
2 libsystem_pthread.dylib 0x98200cce start_wqthread + 30

Thread 0 crashed with X86 Thread State (32-bit):
eax: 0xffffffff ebx: 0x0000173c ecx: 0x00000000 edx: 0x00000000
edi: 0x00001000 esi: 0x00000000 ebp: 0xbffff888 esp: 0xbffff86c
ss: 0x00000023 efl: 0x00210286 eip: 0x962f2710 cs: 0x0000001b
ds: 0x00000023 es: 0x00000023 fs: 0x00000000 gs: 0x0000000f
cr2: 0x00000000

Logical CPU: 1
Error Code: 0x00000004
Trap Number: 14

Binary Images:
0x1000 - 0x1fe7f56 +de.onlymac.eurofaktura (5.3.3 - 5.3.3) <3BFCDE99-3757-38A9-A9CF-C260809B371F> /Applications/EuroFaktura.app/Contents/MacOS/EuroFaktura
0x207e000 - 0x2233ff7 +com.xojo.XojoFramework (1.0 - 1) /Applications/EuroFaktura.app/Contents/Frameworks/XojoFramework.framework/Versions/A/XojoFramework
0x25e0000 - 0x25e4fff +RBAddressBook.xojo_plugin_0.dylib (???) <2F1D11BB-5038-3EE8-AD3B-108E8E599C13> /Applications/EuroFaktura.app/Contents/Frameworks/RBAddressBook.xojo_plugin_0.dylib
0x25ea000 - 0x25f3ffb +RBAppearancePak.xojo_plugin_0.dylib (???) /Applications/EuroFaktura.app/Contents/Frameworks/RBAppearancePak.xojo_plugin_0.dylib
0x5320000 - 0x5388ff3 +RBCrypto.xojo_plugin_0.dylib (???) <82828EA9-BB14-3C95-92E7-1AA8AE8BB2A0> /Applications/EuroFaktura.app/Contents/Frameworks/RBCrypto.xojo_plugin_0.dylib
0x5397000 - 0x539bfff +RBGUIKit.xojo_plugin_0.dylib (???) <381EDB39-5DBF-3E0C-AE4D-354DA927B220> /Applications/EuroFaktura.app/Contents/Frameworks/RBGUIKit.xojo_plugin_0.dylib
0x53a1000 - 0x53a2ff7 +RBInternetEncodings.xojo_plugin_0.dylib (???) <8143B803-69E6-3C37-B34B-411F51E290E8> /Applications/EuroFaktura.app/Contents/Frameworks/RBInternetEncodings.xojo_plugin_0.dylib
0x53aa000 - 0x53b6fff +RBShell.xojo_plugin_0.dylib (???) <7E9071DB-D977-37DB-828A-97BBD1E1AD9B> /Applications/EuroFaktura.app/Contents/Frameworks/RBShell.xojo_plugin_0.dylib
0x53bf000 - 0x53d9ff3 +MBS Xojo Cocoa Plugin.xojo_plugin_0.dylib (13.5 - 13.5) /Applications/EuroFaktura.app/Contents/Frameworks/MBS Xojo Cocoa Plugin.xojo_plugin_0.dylib
0x53ec000 - 0x53efff9 +MBS Xojo Main Plugin.xojo_plugin_4.dylib (13.5 - 13.5) <5FA76BF9-43BD-3325-ADF2-CCB14562B8A6> /Applications/EuroFaktura.app/Contents/Frameworks/MBS Xojo Main Plugin.xojo_plugin_4.dylib
0x6562000 - 0x65f2ff3 +RBREALSQLDatabase.xojo_plugin_0.dylib (???) <2207E627-539D-3371-8DF2-AF2B1C7D26B3> /Applications/EuroFaktura.app/Contents/Frameworks/RBREALSQLDatabase.xojo_plugin_0.dylib
0x65fc000 - 0x6654ffb +RBRegEx.xojo_plugin_0.dylib (???) /Applications/EuroFaktura.app/Contents/Frameworks/RBRegEx.xojo_plugin_0.dylib
0x665a000 - 0x671ffff +RBSSL.xojo_plugin_0.dylib (???) <7BD737FA-FFB6-3CC9-80AD-3C4FF1CA4811> /Applications/EuroFaktura.app/Contents/Frameworks/RBSSL.xojo_plugin_0.dylib
0x673f000 - 0x67aaff7 +RBXML.xojo_plugin_0.dylib (???) /Applications/EuroFaktura.app/Contents/Frameworks/RBXML.xojo_plugin_0.dylib
0x67b6000 - 0x67defff +CubeSQLPlugin.xojo_plugin_0.dylib (1) /Applications/EuroFaktura.app/Contents/Frameworks/CubeSQLPlugin.xojo_plugin_0.dylib
0x6803000 - 0x689ffef +MBS Real Studio ChartDirector Plugin.rbx_0.dylib (???) /Applications/EuroFaktura.app/Contents/Frameworks/MBS Real Studio ChartDirector Plugin.rbx_0.dylib
0x6c56000 - 0x6f57fcb +[Memory Based Bundle] (???) [Memory Based Bundle]
0x6fef000 - 0x6ff8ff1 +MBS Xojo Cocoa Plugin.xojo_plugin_8.dylib (13.5 - 13.5) /Applications/EuroFaktura.app/Contents/Frameworks/MBS Xojo Cocoa Plugin.xojo_plugin_8.dylib
0x7100000 - 0x7125ff6 +MBS Xojo Cocoa Plugin.xojo_plugin_25.dylib (13.5 - 13.5) /Applications/EuroFaktura.app/

strlen crasht bei NULL Pointer.
Also beim sammeln vom stack fehlt ihm wohl ein Name.

Hmm, was bedeutet das? kann ich das fixen oder liegt es am Framework?

was ist strlen?

strlen = Lnge eines Strings. Hast Du Session Logs, so da Du sehen kannst, wo das Programm crasht?

Nein, kann ich aber besorgen…

du meinst das log unter “System-Diagnoseberichte” ??oder ein anders???

Nein, das meine ich nicht. Mein Programm kann über currentMethodname am Anfang und am Ende von Funktionen/Events so ungefähr protokollieren, was es macht. Diese Informationen werden in eine Text-Datei geschrieben, die man im Programm an mich schicken kann.

strlen is eine C Funktion, die laut deinem Crash Report aufgerufen wird.

wieso steht eigentlich im crashlog keine Methoden Namen ?? kann man das einstellen?

Beatrix, wie sieht das denn aus mit den currentMethodname?

Bremst das Dein Programm nicht ordentlich aus?

Wäre es nicht sinnvoller so etwas in den Speicher zu schreiben und im Fehler-Fall in dann in eine Datei zu schreiben?

Ich habe in meiner App einen BugReporter der alle UnhandeldExceptions abfngt und mir auf Wunsch des benutzern per mail sendet. Damit komme ich gut klar, nur wenn es ein harte Crash ist, ist halt bld…

hier sieht man dann genau wo es passiert ist… in der Console stehen ja die Methodennamen nicht, dann ist man blind
Error Stack:
RaiseExceptionClass
RaiseNilObjectException
Adressliste.Adressliste.zeige%%o<Adressliste.Adressliste>i4ss
Adressliste.Adressliste.ListBox1_Open%%o<Adressliste.Adressliste>o<LB_DataOnDemand>&o
Delegate.IM_Invoke%%o<LB_DataOnDemand>&o
AddHandler.Stub.38%%&o
LB_DataOnDemand.Event_Open%%o<LB_DataOnDemand>
FireWindowOpenEvents
Window.Constructor%%o
Adressliste.Adressliste%o<Adressliste.Adressliste>%
Splash.Splash.BevelButton1_Action%%o<Splash.Splash>o
Delegate.IM_Invoke%%o
AddHandler.Stub.16%%
_Z21PictureButton_MouseUpP25REALcontrolInstanceStructii
CustomControlCreatePane
DecodeBackslashEscapeString
DecodeBackslashEscapeString
DecodeBackslashEscapeString
DecodeBackslashEscapeString
Delegate.Invoke%%
Application._CallFunctionWithExceptionHandling%%op
DecodeBackslashEscapeString
DecodeBackslashEscapeString
RuntimeRun
REALbasic._RuntimeRun
_Main
% main

Hast Du in den “Build Settings” unter “Shared” “Include Function Names” angekeuzt?

Ich habe einen Logger-Klasse, in die ich Daten schreiben kann. CurrentMethodName ist der Name der aktuellen Klasse und der aktuellen Methode. Siehe hier: http://documentation.xojo.com/index.php/CurrentMethodName

Ja, das macht das Programm langsamer. Deshalb wird natürlich nicht alles geloggt. Aber ich sehe so ungefähr, was die User getrieben haben. Bei Bedarf füge ich dann mehr Logging hinzu, so daß ich Crashs (harte, NOEs oder ähnliches) relativ leicht auffinden kann.

“Include Function Names” … jetzt wei ich dann auch endlich wozu das gut ist… DANKE

Compiliert mit neuester Beta-> Fehler behoben… Gott sei dank!