radareorg/iaito

Debug not working

Opened this issue · 5 comments

Environment Details

Despite we only fix issues reproducible in git-master branch, it's fine to report issues found in releases. And those will be closed when a new release comes out.

# copypaste this script into your shell and replace it with the output
iaito 5.2.2
Wed Feb 23 07:47:08 AM CET 2022
radare2 5.4.2 0 @ linux-x86-64 git.5.4.2
commit: unknown build: 2021-10-01__17:48:03
Linux x86_64

Description

The debugging-feature is not working with the packaged version of iaito in arch-linux. The file loaded has 777 file-permissions.

Screenshot_2022-02-23_07-49-53

Shell-output, I think the last line is essential. It appears on pressing debug:

QCommandLineParser: already having an option named "w"
Plugins are loaded from "/home/max/.local/share/radareorg/iaito/plugins"
Loaded 0 plugin(s).                                                     
Plugins are loaded from "/home/max/.local/share/flatpak/exports/share/radareorg/iaito/plugins"
Plugins are loaded from "/var/lib/flatpak/exports/share/radareorg/iaito/plugins"              
Plugins are loaded from "/usr/local/share/radareorg/iaito/plugins"              
Plugins are loaded from "/usr/share/radareorg/iaito/plugins"      
Warning: run r2 with -e bin.cache=true to fix relocations in disassembly
[x] Analyze all flags starting with sym. and entry0 (aa)                
[x] Analyze function calls (aac)                        
[x] Analyze len bytes of instructions for references (aar)
[x] Finding and parsing C++ vtables (avrr)                
[x] Type matching analysis for all functions (aaft)
[x] Propagate noreturn information (aanr)          
[x] Integrate dwarf function information.
[x] Use -AA or aaaa to perform additional experimental analysis.
WARNING: r_str_trim_head_ro: assertion 'str' failed (line 86)   
WARNING: r_str_trim_tail: assertion 'str' failed (line 173)  
WARNING: pj_ks: assertion 'j && k && v' failed (line 184)  
WARNING: r_str_trim_head_ro: assertion 'str' failed (line 86)
WARNING: r_str_trim_tail: assertion 'str' failed (line 173)  
WARNING: pj_ks: assertion 'j && k && v' failed (line 184)  
WARNING: r_str_trim_head_ro: assertion 'str' failed (line 86)
WARNING: r_str_trim_tail: assertion 'str' failed (line 173)  
WARNING: pj_ks: assertion 'j && k && v' failed (line 184)  
WARNING: r_str_trim_head_ro: assertion 'str' failed (line 86)
WARNING: r_str_trim_tail: assertion 'str' failed (line 173)  
WARNING: pj_ks: assertion 'j && k && v' failed (line 184)  
WARNING: r_str_trim_head_ro: assertion 'str' failed (line 86)
WARNING: r_str_trim_tail: assertion 'str' failed (line 173)  
WARNING: pj_ks: assertion 'j && k && v' failed (line 184)  
WARNING: r_str_trim_head_ro: assertion 'str' failed (line 86)
WARNING: r_str_trim_tail: assertion 'str' failed (line 173)  
WARNING: pj_ks: assertion 'j && k && v' failed (line 184)  
WARNING: r_str_trim_head_ro: assertion 'str' failed (line 86)
WARNING: r_str_trim_tail: assertion 'str' failed (line 173)  
WARNING: pj_ks: assertion 'j && k && v' failed (line 184)  
WARNING: r_str_trim_head_ro: assertion 'str' failed (line 86)
WARNING: r_str_trim_tail: assertion 'str' failed (line 173)  
WARNING: pj_ks: assertion 'j && k && v' failed (line 184)  
WARNING: r_str_trim_head_ro: assertion 'str' failed (line 86)
WARNING: r_str_trim_tail: assertion 'str' failed (line 173)  
WARNING: pj_ks: assertion 'j && k && v' failed (line 184)  
r_config_get: variable 'file.path' not found

Using r2-iaito-git solves this issue.

However that pkgbuild needs some modification. Namely the line that packages the documentation.
See my patch file: https://gist.github.com/LevitatingBusinessMan/f07efe7310af336dde81c718a3a92061

ive found another regression in r2 that was making the iaito debugger to not work. its fixed in git. But still. iaito should be using r2 in a thread safety way

It would certainly help to have better matching iaito releases again, packaging this has become major pita unfortunately.
is iaito expected to add fixes that do not require want_threads=false?

Totally agree. I understand that iaito is far from ready to be used/packaged right now, i have focused on reducing techdebt and making it usable over r2 releases.

But as long as im the only one maintaining all the projects under the radareorg umbrella and none of the 4 people who proposed to maintain iaito did nothing in 2 years, its the least prio project for me.

i understand how users would like to use a GUI, but my priority focus on improving r2, making it more stable and powerful, jumping on gui/cli development is not fun at all, so it's usually my last devstop after each r2 release (in order i use to priorize: sdb, acr, r2frida, r2, r2env, r2ghidra, r2bindings, iaito)

i am writing the building blocks in r2 to make iaito handle threads properly, but as long as this is an abi break change it wont appear until 5.7.0, then iaito could be fixed to work with thready builds of r2.

Sumarizing, i hope to get iaito stable / usable / packageable when r2-5.7 is out (thats two releases away, kind of 4 month timeframe) but as usual, contributions and contributors are always welcome. This is free software and anyone could be fixing this, not just me.

also, i was suposed to publish another gui i have been doing in my spare time that is way simpler and easier to maintain than c++/qt. But time doesnt let me work on more projects and i dont want to publish it unless its fully ready.

I see and totally understand, I hope you will get more help and maintainer to make this happen in sync. In a perfect world we would do compatibility releases synchronously with incompatible r2 releases 🐱
Thanks for the efforts!