Crash in wfut
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ember |
Invalid
|
High
|
Alexey Torkhov | ||
libwfut |
Invalid
|
High
|
Alexey Torkhov | ||
libwfut (Fedora) |
Fix Committed
|
Undecided
|
Alexey Torkhov |
Bug Description
When starting ember with wfut enabled it crashes with following bt:
#0 parseFile (element=0x18ecc10, file=@0x7fffff7
#1 0x00007f96f50a99d2 in parseFiles (node=0x18ed0e0, files=@0x14094b0) at FileParser.cpp:48
#2 0x00007f96f50a9e69 in WFUT::parseFile
#3 0x00007f96f50ad7bb in WFUT::WFUTClien
#4 0x000000000076ea00 in Ember::
localPath=
at /usr/lib/
#5 0x0000000000480c40 in EmberOgre:
at /usr/lib/
#6 0x000000000046d687 in EmberOgre:
#7 0x00000000004645c4 in Ember::
#8 0x00000000004680e5 in main (argc=0, argv=<value optimized out>)
at /usr/lib/
Changed in ember: | |
assignee: | nobody → erik-hjortsberg |
importance: | Undecided → High |
status: | New → Confirmed |
Changed in ember: | |
status: | Invalid → Confirmed |
status: | Confirmed → Invalid |
Changed in libwfut: | |
assignee: | nobody → atorkhov |
status: | New → Fix Committed |
Changed in ember: | |
importance: | Undecided → High |
> Окт 19 02:19:20 <erikh> I did find some funky string allocations in Ember::WfutSession. I've committed a fix for those, could you update and see if that has anything to do with it (probably not).
This didn't helped.
> Окт 19 02:18:05 <erikh> Nope. Going through your bt. But FileParser.cpp:48 shouldn't even try to access any string, at least not in my version of libwfut.
> Окт 19 02:18:19 <erikh> It says "parseFile(e, file);"
> Окт 19 02:18:40 <erikh> And parsefile accepts a reference and a pointer, so there's no dereferencing going on.
It accesses string somewhere from parseFile(), from #0 frame - it doesn't show inlined calls.
At /usr/include/ c++/4.3. 0/bits/ basic_string. h:278 there is private function that accesses private data (_M_data()). :decodeString( fname);
And the only access to std::string from parseFile() is
file.filename = Encoder:
file is FileObject _struct_, and file.filename is its std::string member. I'm unsure about are members in structs constructed properly. Probably will be better to have it as simple classes.