Develop
Ticket #1579 (closed defect: worksforme)
StaticString.hpp line 90, 6.3 Master
| Reported by: | scottp | Owned by: | scottp |
|---|---|---|---|
| Priority: | normal | Milestone: | XCSoar 6.3 |
| Component: | Configuration | Version: | 6.3 |
| Keywords: | Cc: |
Description
assert for null string 'other' on line 90 of StaticString?.hpp when running UNIX or PC version vai Wine.
GIT 499b32ba8bca40fce94a2d92b9a40b278ae1ead4
Deleting XCSoarData directory fixes the problem, so it is likely a data issue with preferences or similar. I will play with a few and see which one has the problem.
Change History
comment:2 Changed 18 months ago by max
- Owner set to scottp
- Status changed from new to assigned
A malformed XCI file must never cause a crash/assertion failure. Please investigate why this happened. If you can't please supply a backtrace. As a developer, you might know that a crash report without a backtrace is near to useless.
comment:3 Changed 18 months ago by scottp
Howdy Max. Sorry I can't generate back trace from Wine (is there a way), and the Unix version won't run at all for me (separate bug, to do with the non-OpenGL version and threads).
comment:5 Changed 18 months ago by scottp
OK Here is your backtrace. But after a little research I think that it is not until after an ignore on an assert. Ie. there does not seem to be a way to get a backtrace at an assert only at a segfault.
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x6824473d). Register dump: CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b EIP:6824473d ESP:009fe644 EBP:009fe668 EFLAGS:00010206( R- -- I - -P- ) EAX:00000064 EBX:001a5eb8 ECX:009fe704 EDX:00000000 ESI:00000001 EDI:009ff904 Stack dump: 0x009fe644: 00000001 009ff904 00577d4e 009fe704 0x009fe654: 00000000 0000005a 001a5eb8 00000001 0x009fe664: 009ff904 009fe688 00577d84 009fe704 0x009fe674: 00000000 009fe6b8 004dcca5 001a71f4 0x009fe684: 00000001 009fe6d8 00549732 009fe704 0x009fe694: 00000000 00010000 001a72b0 00000019 Backtrace: =>0 0x6824473d NTDLL_wcscmp+0xd() in ntdll (0x009fe668) 1 0x00577d84 in xcsoar (+0x177d83) (0x009fe688) 2 0x00549732 in xcsoar (+0x149731) (0x009fe6d8) 3 0x0043c8d6 in xcsoar (+0x3c8d5) (0x009ff928) 4 0x00437a4e in xcsoar (+0x37a4d) (0x009ff968) 5 0x0047a63b in xcsoar (+0x7a63a) (0x009ffd78) 6 0x004b2103 in xcsoar (+0xb2102) (0x009ffda8) 7 0x005c86dd in xcsoar (+0x1c86dc) (0x009ffdc8) 8 0x0040159a in xcsoar (+0x1599) (0x009ffea0) 9 0x6831584c call_process_entry+0xb() in kernel32 (0x009ffeb8) 10 0x68316500 ExitProcess+0xcaf() in kernel32 (0x009ffef8) 0x6824473d NTDLL_wcscmp+0xd in ntdll: movzwl 0x0(%edx),%esi
Would it be worth using backtrace printed out before the assert... is that something worth adding in?
Scott

Bug found, it is in XCI files. I have made a simple XCI file with valid format.
I can't get any XCI files to work that all worked pre 6.3