hello *,
your bug might've been related to the disabling of the record-extension.
however, it has recently been re-enabled and cnee still has problems:
$ cnee --record --events-to-record 1000 --mouse --keyboard \
-o /tmp/xnee.xns -e /tmp/xnee.log -v
--> xnee_prepare
---> xnee_open_files
--- xnee_open_files: handling err
--- xnee_open_files: opening err: /tmp/xnee.log
segfault
find /tmp/xnee.log attached.
without -v i get the following output and the logfile stays empty:
Error received:
error type 0 (0x0)
error code 157 (0x9d)
error code major 135 (0x87)
error code minor 5 (0x5)
display 20011760 (0x1315af0)
XRecordBadContext
This error can be ignored
Error number: 35
Error: Record memory failure
Solution: Xnee failed due to bad data received from RECORD extension
this has also been reported on ubuntu, so it's probably an upstream-bug:
https://bugs.launchpad.net/ubuntu/+source/xnee/+bug/378648
--- xnee_open_files: opening err: /tmp/xnee.log OK
--- xnee_open_files: is recorder
--- xnee_open_files: handling out
--- xnee_open_files: opening out: /tmp/xnee.xns
--> xnee_rep_prepare
Open display :0.0
Open display :0.0
Display :0.0 = 20912880
Open display :0.0
Open display :0.0
Display :0.0 = 20963648
Open display :0.0
Open display :0.0
Display :0.0 = 21014256
Freeing modifier mapping memory 0 building modifier map on 21014256
display data 20912880
display control 20963648
display fake 21014256
---> xnee_setup_recordext
int arg=20906000
nt arg=4
string arg=ReparentNotify
-- calling xnee_add_range_str (20906000, 4, ReparentNotify)
--> add_range_str (20906000, 4, ReparentNotify)
-- add_range_str first string="ReparentNotify" (21)
-- add_range_str 1 21 0
-- add_range_str 4
Returning max_val=0
<-- add_range_str (20906000, 4, ReparentNotify) max range=0
<-- parse_range()
---> xnee_add_range 4 21 21
Returning max_val=0
MAX -1 ALLOC 0
-- Allocating a new range of size 1
Adding 4 range 21 - 21 at range 0
<--- xnee_add_range
---> xnee_add_range 5 2 6
Returning max_val=1
MAX 0 ALLOC 0
Adding 5 range 2 - 6 at range 0
<--- xnee_add_range
Returning max_val=1
<--- xnee_setup_recordext 0
key_click_percent 0
bell_percent 50
bell_pitch 400
bell_duration 100
led_mask 0
global_auto_repeat 1
Auto repeat:
<-- xnee_rep_prepare returning 0
<-- xnee_prepare returning 0
----> xnee_grab_all_keys 1
---> xnee_km_check
--- xnee_km_check 0
<--- xnee_km_check
---- xnee_grab_all_keys 2
---- xnee_grab_all_keys ----
---- xnee_grab_all_keys: i=0
---- xnee_grab_all_keys: string is NULL
---- xnee_grab_all_keys ----
---- xnee_grab_all_keys: i=1
---- xnee_grab_all_keys: string is NULL
---- xnee_grab_all_keys ----
---- xnee_grab_all_keys: i=2
---- xnee_grab_all_keys: string is NULL
---- xnee_grab_all_keys ----
---- xnee_grab_all_keys: i=3
---- xnee_grab_all_keys: string is NULL
---- xnee_grab_all_keys ----
---- xnee_grab_all_keys: i=4
---- xnee_grab_all_keys: string is NULL
<---- xnee_grab_all_keys
##############################################
# Xnee application arguments #
##############################################
# cnee --record --events-to-record 1000 --mouse --keyboard -o /tmp/xnee.xns -e /tmp/xnee.log -v
##############################################
# Displays #
##############################################
# display :0.0
Looking for 26 ===> 25 'distribute'
# distribute
##############################################
# Files #
##############################################
Looking for 2 ===> 1 'out-file'
# out-file /tmp/xnee.xns
Looking for 1 ===> 0 'err-file'
# err-file /tmp/xnee.log
##############################################
# Key Grabs #
##############################################
Looking for 12 ===> 12 'stop-key'
# stop-key 0
Looking for 13 ===> 13 'pause-key'
# pause-key 0
Looking for 14 ===> 14 'resume-key'
# resume-key 0
Looking for 15 ===> 15 'insert-key'
# insert-key 0
Looking for 16 ===> 16 'exec-key'
# exec-key 0
Looking for 17 ===> 17 'exec-key'
# exec-key xnee-exec-no-program
##############################################
# Recording limits etc #
##############################################
Looking for 9 ===> 9 'events-to-record'
events-to-record 1000
Looking for 10 ===> 10 'data-to-record'
data-to-record -1
Looking for 11 ===> 11 'seconds-to-record'
seconds-to-record -1
# first-last
# Record all (including current) clients or only future ones
Looking for 6 ===> 7 'all-clients'
all-clients
# Looking for 7 ===> 8 'future-clients'
future-clients
# Store the starting mouse position
# Looking for 42 ===> 35 'store-mouse-position'
store-mouse-position
##############################################
# Resolution #
##############################################
# Resolution
Looking for 23 ===> 20 'recorded-resolution'
#recorded-resolution 1280x1024
Looking for 24 ===> 21 'replay-resolution'
#replay-resolution 1x1
Looking for 25 ===> 22 'resolution-adjustment'
#resolution-adjustment 0
##############################################
# Speed #
##############################################
# Speed
Looking for 22 ===> 19 'speed-percent'
#speed-percent 100
##############################################
# Replaying limits etc #
##############################################
Looking for 47 ===> 48 'max-threshold'
max-threshold 20
Looking for 48 ===> 49 'min-threshold'
min-threshold 20
Looking for 49 ===> 50 'tot-threshold'
tot-threshold 40
##############################################
# Feedback #
##############################################
xnee_get_requested_feedback
#Looking for 46 ===> 38 'feedback-none'
feedback-none
xnee_get_requested_feedback
#Looking for 45 ===> 37 'feedback-stderr'
feedback-stderr
xnee_get_requested_feedback
Looking for 44 ===> 36 'feedback-xosd'