Thread: [CEDET-devel] eieio-persistent-validate/fix-slot-value: Wrong type argument: arrayp, n
Brought to you by:
zappo
From: Xaver G. <tor...@ya...> - 2014-08-17 17:58:45
|
Hi, I am haunted by a: eieio-persistent-validate/fix-slot-value: Wrong type argument: arrayp, nil error, when trying to load a previously created project, or when trying to load files from such projects. Currently I cannot use ede at all. In the following I will describe a stripped down procedure how this error occurs on my system. Any help would be most appreciated. Regards, Xaver Prolog: ------- - I'm running GNU Emacs 24.3.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.4) - Torso of an init.el: (global-ede-mode 1) (setq ede-project-directories t) Step 1 ------ - Created new empty directory 'khl' - Started emacs in this directory - Used ede-new to generate new Automake project - Created single target 'mmm', type program, named 'tessi' in directory 'khl' - Added single *.cc file 'test.cc' to target 'mmm': int main() { return 0; } - The Project.ede files then reads: ;; Object mmm ;; EDE Project Files are auto generated: Do Not Edit (ede-proj-project "mmm" :file "Project.ede" :name "mmm" :targets (list (ede-proj-target-makefile-program "tessi" :name "tessi" :path "" :source '("test.cc") ) ) :makefile-type 'Makefile.am ) - Compiled the project with C-c . C - After that the directory 'khl' contains drwxr-xr-x 4 xxxxxx users 4096 Aug 11 19:29 ./ drwxr-xr-x 89 xxxxxx users 4096 Aug 11 13:50 ../ -rw-r--r-- 1 xxxxxx users 38803 Aug 11 19:26 aclocal.m4 -rw-r--r-- 1 xxxxxx users 33 Aug 11 19:26 AUTHORS drwxr-xr-x 2 xxxxxx users 4096 Aug 11 19:29 autom4te.cache/ -rw-r--r-- 1 xxxxxx users 1 Aug 11 19:26 ChangeLog -rw-r--r-- 1 xxxxxx users 722 Aug 11 19:26 config.h -rw-r--r-- 1 xxxxxx users 625 Aug 11 19:26 config.h.in -rw-r--r-- 1 xxxxxx users 11523 Aug 11 19:29 config.log -rwxr-xr-x 1 xxxxxx users 32424 Aug 11 19:29 config.status* -rwxr-xr-x 1 xxxxxx users 133851 Aug 11 19:29 configure* -rw-r--r-- 1 xxxxxx users 479 Aug 11 19:26 configure.ac -rw-r--r-- 1 xxxxxx users 35147 Aug 11 19:26 COPYING -rwxr-xr-x 1 xxxxxx users 23566 Aug 11 19:26 depcomp* drwxr-xr-x 2 xxxxxx users 4096 Aug 11 19:26 .deps/ -rw-r--r-- 1 xxxxxx users 15749 Aug 11 19:26 INSTALL -rwxr-xr-x 1 xxxxxx users 13997 Aug 11 19:26 install-sh* -rw-r--r-- 1 xxxxxx users 27662 Aug 11 19:29 Makefile -rw-r--r-- 1 xxxxxx users 373 Aug 11 19:26 Makefile.am -rw-r--r-- 1 xxxxxx users 28016 Aug 11 19:29 Makefile.in -rwxr-xr-x 1 xxxxxx users 6873 Aug 11 19:26 missing* -rw-r--r-- 1 xxxxxx users 17 Aug 11 19:26 NEWS -rw-r--r-- 1 xxxxxx users 291 Aug 11 19:25 Project.ede -rw-r--r-- 1 xxxxxx users 1 Aug 11 19:26 README -rw-r--r-- 1 xxxxxx users 30 Aug 11 19:29 stamp-h -rw-r--r-- 1 xxxxxx users 23 Aug 11 19:29 stamp-h1 -rwxr-xr-x 1 xxxxxx users 12887 Aug 11 19:26 tessi* -rw-r--r-- 1 xxxxxx users 27 Aug 11 19:26 test.cc -rw-r--r-- 1 xxxxxx users 2928 Aug 11 19:26 test.o - The program can be run with C-c . R with no error. - * Now I close emacs * !! Step 2 ------ - Start emacs - Trying to load the project in 'khl' I get the error: eieio-persistent-validate/fix-slot-value: Wrong type argument: arrayp, nil - If I toggle the debugger: M-x toggle-debug-on-error RET and try to load the project in 'khl' I get Debugger entered--Lisp error: (wrong-type-argument arrayp nil) child-of-class-p(ede-proj-target-makefile-program ede-target) eieio-persistent-validate/fix-slot-value(ede-proj-project :targets (list (ede-proj-target-makefile-program "tessi" :name "tessi" :path "" :source (quote ("test.cc"))))) eieio-persistent-convert-list-to-object((ede-proj-project "mmm" :file "Project.ede" :name "mmm" :targets (list (ede-proj-target-makefile-program "tessi" :name "tessi" :path "" :source (quote ("test.cc")))) :makefile-type (quote Makefile\.am))) eieio-persistent-read("/home/xxxxxx/projects/khl/Project.ede" ede-proj-project) ede-proj-load("/home/xxxxxx/projects/khl/") #[(this dir) "\303#\304\"\204##\305 !\204##\306\307!\210\303#\310\" !\211#\204 #\306\311!\210\312\n!)\207" [this dir o eieio-oref :safe-p ede-directory-safe-p error "Attempt to load an unsafe project (bug elsewhere in EDE)" load-type "Project type error: :load-type failed to create a project" ede-add-project-to-global-list] 4 "Load in the project associated with THIS project autoload description.\nTHIS project description should be valid for DIR, where the project will\nbe loaded."]([object ede-project-autoload "edeproject-makefile" "Make" ede/proj "Project.ede" "" unbound nil ede-proj-load ede-proj-project nil t nil] "/home/xxxxxx/projects/khl/") apply(#[(this dir) "\303#\304\"\204##\305 !\204##\306\307!\210\303#\310\" !\211#\204 #\306\311!\210\312\n!)\207" [this dir o eieio-oref :safe-p ede-directory-safe-p error "Attempt to load an unsafe project (bug elsewhere in EDE)" load-type "Project type error: :load-type failed to create a project" ede-add-project-to-global-list] 4 "Load in the project associated with THIS project autoload description.\nTHIS project description should be valid for DIR, where the project will\nbe loaded."] ([object ede-project-autoload "edeproject-makefile" "Make" ede/proj "Project.ede" "" unbound nil ede-proj-load ede-proj-project nil t nil] "/home/xxxxxx/projects/khl/")) ede-auto-load-project([object ede-project-autoload "edeproject-makefile" "Make" ede/proj "Project.ede" "" unbound nil ede-proj-load ede-proj-project nil t nil] "/home/xxxxxx/projects/khl/") ede-load-project-file("/home/xxxxxx/projects/khl") ede("/home/xxxxxx/projects/khl") call-interactively(ede nil nil) |
From: Eric M. L. <er...@si...> - 2014-08-17 23:54:38
|
I was working through some tests a month ago, and noticed I needed to add: (require ede/proj-prog) to get the test to work. I fixed that by adding those autoloads into the project definition directly, but I haven't posted those fixes to trunk yet. There is a list you might need. The above should solve the issue for the specific stack below, but you may have other targets, such as from ede/proj-misc or others that need to be required also. Eric On 08/17/2014 01:58 PM, Xaver Gerster wrote: > Hi, > > I am haunted by a: > > eieio-persistent-validate/fix-slot-value: Wrong type argument: arrayp, nil > > error, when trying to load a previously created project, or when trying > to load files from such projects. Currently I cannot use ede at all. In > the following I will describe a stripped down procedure how this error > occurs on my system. Any help would be most appreciated. > > Regards, > Xaver > > > Prolog: > ------- > - I'm running GNU Emacs 24.3.1 (x86_64-unknown-linux-gnu, GTK+ Version > 3.10.4) > > - Torso of an init.el: > > (global-ede-mode 1) > (setq ede-project-directories t) > > > Step 1 > ------ > - Created new empty directory 'khl' > - Started emacs in this directory > - Used ede-new to generate new Automake project > - Created single target 'mmm', type program, named 'tessi' in directory > 'khl' > - Added single *.cc file 'test.cc' to target 'mmm': > > int main() { > return 0; > } > > - The Project.ede files then reads: > > ;; Object mmm > ;; EDE Project Files are auto generated: Do Not Edit > (ede-proj-project "mmm" > :file "Project.ede" > :name "mmm" > :targets (list > (ede-proj-target-makefile-program "tessi" > :name "tessi" > :path "" > :source '("test.cc") > ) > ) > :makefile-type 'Makefile.am > ) > > - Compiled the project with C-c . C > - After that the directory 'khl' contains > > drwxr-xr-x 4 xxxxxx users 4096 Aug 11 19:29 ./ > drwxr-xr-x 89 xxxxxx users 4096 Aug 11 13:50 ../ > -rw-r--r-- 1 xxxxxx users 38803 Aug 11 19:26 aclocal.m4 > -rw-r--r-- 1 xxxxxx users 33 Aug 11 19:26 AUTHORS > drwxr-xr-x 2 xxxxxx users 4096 Aug 11 19:29 autom4te.cache/ > -rw-r--r-- 1 xxxxxx users 1 Aug 11 19:26 ChangeLog > -rw-r--r-- 1 xxxxxx users 722 Aug 11 19:26 config.h > -rw-r--r-- 1 xxxxxx users 625 Aug 11 19:26 config.h.in > -rw-r--r-- 1 xxxxxx users 11523 Aug 11 19:29 config.log > -rwxr-xr-x 1 xxxxxx users 32424 Aug 11 19:29 config.status* > -rwxr-xr-x 1 xxxxxx users 133851 Aug 11 19:29 configure* > -rw-r--r-- 1 xxxxxx users 479 Aug 11 19:26 configure.ac > -rw-r--r-- 1 xxxxxx users 35147 Aug 11 19:26 COPYING > -rwxr-xr-x 1 xxxxxx users 23566 Aug 11 19:26 depcomp* > drwxr-xr-x 2 xxxxxx users 4096 Aug 11 19:26 .deps/ > -rw-r--r-- 1 xxxxxx users 15749 Aug 11 19:26 INSTALL > -rwxr-xr-x 1 xxxxxx users 13997 Aug 11 19:26 install-sh* > -rw-r--r-- 1 xxxxxx users 27662 Aug 11 19:29 Makefile > -rw-r--r-- 1 xxxxxx users 373 Aug 11 19:26 Makefile.am > -rw-r--r-- 1 xxxxxx users 28016 Aug 11 19:29 Makefile.in > -rwxr-xr-x 1 xxxxxx users 6873 Aug 11 19:26 missing* > -rw-r--r-- 1 xxxxxx users 17 Aug 11 19:26 NEWS > -rw-r--r-- 1 xxxxxx users 291 Aug 11 19:25 Project.ede > -rw-r--r-- 1 xxxxxx users 1 Aug 11 19:26 README > -rw-r--r-- 1 xxxxxx users 30 Aug 11 19:29 stamp-h > -rw-r--r-- 1 xxxxxx users 23 Aug 11 19:29 stamp-h1 > -rwxr-xr-x 1 xxxxxx users 12887 Aug 11 19:26 tessi* > -rw-r--r-- 1 xxxxxx users 27 Aug 11 19:26 test.cc > -rw-r--r-- 1 xxxxxx users 2928 Aug 11 19:26 test.o > > - The program can be run with C-c . R with no error. > - * Now I close emacs * !! > > Step 2 > ------ > > - Start emacs > - Trying to load the project in 'khl' I get the error: > > eieio-persistent-validate/fix-slot-value: Wrong type argument: arrayp, nil > > - If I toggle the debugger: M-x toggle-debug-on-error RET > and try to load the project in 'khl' I get > > Debugger entered--Lisp error: (wrong-type-argument arrayp nil) > child-of-class-p(ede-proj-target-makefile-program ede-target) > eieio-persistent-validate/fix-slot-value(ede-proj-project :targets > (list (ede-proj-target-makefile-program "tessi" :name "tessi" :path "" > :source (quote ("test.cc"))))) > eieio-persistent-convert-list-to-object((ede-proj-project "mmm" :file > "Project.ede" :name "mmm" :targets (list > (ede-proj-target-makefile-program "tessi" :name "tessi" :path "" :source > (quote ("test.cc")))) :makefile-type (quote Makefile\.am))) > eieio-persistent-read("/home/xxxxxx/projects/khl/Project.ede" > ede-proj-project) > ede-proj-load("/home/xxxxxx/projects/khl/") > #[(this dir) "\303#\304\"\204##\305 !\204##\306\307!\210\303#\310\" > !\211#\204 #\306\311!\210\312\n!)\207" [this dir o eieio-oref :safe-p > ede-directory-safe-p error "Attempt to load an unsafe project (bug > elsewhere in EDE)" load-type "Project type error: :load-type failed to > create a project" ede-add-project-to-global-list] 4 "Load in the project > associated with THIS project autoload description.\nTHIS project > description should be valid for DIR, where the project will\nbe > loaded."]([object ede-project-autoload "edeproject-makefile" "Make" > ede/proj "Project.ede" "" unbound nil ede-proj-load ede-proj-project nil > t nil] "/home/xxxxxx/projects/khl/") > apply(#[(this dir) "\303#\304\"\204##\305 > !\204##\306\307!\210\303#\310\" !\211#\204 #\306\311!\210\312\n!)\207" > [this dir o eieio-oref :safe-p ede-directory-safe-p error "Attempt to > load an unsafe project (bug elsewhere in EDE)" load-type "Project type > error: :load-type failed to create a project" > ede-add-project-to-global-list] 4 "Load in the project associated with > THIS project autoload description.\nTHIS project description should be > valid for DIR, where the project will\nbe loaded."] ([object > ede-project-autoload "edeproject-makefile" "Make" ede/proj "Project.ede" > "" unbound nil ede-proj-load ede-proj-project nil t nil] > "/home/xxxxxx/projects/khl/")) > ede-auto-load-project([object ede-project-autoload > "edeproject-makefile" "Make" ede/proj "Project.ede" "" unbound nil > ede-proj-load ede-proj-project nil t nil] "/home/xxxxxx/projects/khl/") > ede-load-project-file("/home/xxxxxx/projects/khl") > ede("/home/xxxxxx/projects/khl") > call-interactively(ede nil nil) > > ------------------------------------------------------------------------------ > _______________________________________________ > Cedet-devel mailing list > Ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-devel > |
From: Xaver G. <tor...@ya...> - 2014-08-18 07:59:55
|
Ok. This fixed it. Thank you. Since you mention potential future issues of similar nature - where could I read off from the stack by myself which ede autoload would be missing? Xaver On 08/18/2014 01:54 AM, Eric M. Ludlam wrote: > I was working through some tests a month ago, and noticed I needed to add: > > (require ede/proj-prog) > > to get the test to work. I fixed that by adding those autoloads into > the project definition directly, but I haven't posted those fixes to > trunk yet. > > There is a list you might need. The above should solve the issue for > the specific stack below, but you may have other targets, such as from > ede/proj-misc or others that need to be required also. > > Eric > > On 08/17/2014 01:58 PM, Xaver Gerster wrote: >> Hi, >> >> I am haunted by a: >> >> eieio-persistent-validate/fix-slot-value: Wrong type argument: arrayp, >> nil >> >> error, when trying to load a previously created project, or when trying >> to load files from such projects. Currently I cannot use ede at all. In >> the following I will describe a stripped down procedure how this error >> occurs on my system. Any help would be most appreciated. >> >> Regards, >> Xaver >> >> >> Prolog: >> ------- >> - I'm running GNU Emacs 24.3.1 (x86_64-unknown-linux-gnu, GTK+ Version >> 3.10.4) >> >> - Torso of an init.el: >> >> (global-ede-mode 1) >> (setq ede-project-directories t) >> >> >> Step 1 >> ------ >> - Created new empty directory 'khl' >> - Started emacs in this directory >> - Used ede-new to generate new Automake project >> - Created single target 'mmm', type program, named 'tessi' in directory >> 'khl' >> - Added single *.cc file 'test.cc' to target 'mmm': >> >> int main() { >> return 0; >> } >> >> - The Project.ede files then reads: >> >> ;; Object mmm >> ;; EDE Project Files are auto generated: Do Not Edit >> (ede-proj-project "mmm" >> :file "Project.ede" >> :name "mmm" >> :targets (list >> (ede-proj-target-makefile-program "tessi" >> :name "tessi" >> :path "" >> :source '("test.cc") >> ) >> ) >> :makefile-type 'Makefile.am >> ) >> >> - Compiled the project with C-c . C >> - After that the directory 'khl' contains >> >> drwxr-xr-x 4 xxxxxx users 4096 Aug 11 19:29 ./ >> drwxr-xr-x 89 xxxxxx users 4096 Aug 11 13:50 ../ >> -rw-r--r-- 1 xxxxxx users 38803 Aug 11 19:26 aclocal.m4 >> -rw-r--r-- 1 xxxxxx users 33 Aug 11 19:26 AUTHORS >> drwxr-xr-x 2 xxxxxx users 4096 Aug 11 19:29 autom4te.cache/ >> -rw-r--r-- 1 xxxxxx users 1 Aug 11 19:26 ChangeLog >> -rw-r--r-- 1 xxxxxx users 722 Aug 11 19:26 config.h >> -rw-r--r-- 1 xxxxxx users 625 Aug 11 19:26 config.h.in >> -rw-r--r-- 1 xxxxxx users 11523 Aug 11 19:29 config.log >> -rwxr-xr-x 1 xxxxxx users 32424 Aug 11 19:29 config.status* >> -rwxr-xr-x 1 xxxxxx users 133851 Aug 11 19:29 configure* >> -rw-r--r-- 1 xxxxxx users 479 Aug 11 19:26 configure.ac >> -rw-r--r-- 1 xxxxxx users 35147 Aug 11 19:26 COPYING >> -rwxr-xr-x 1 xxxxxx users 23566 Aug 11 19:26 depcomp* >> drwxr-xr-x 2 xxxxxx users 4096 Aug 11 19:26 .deps/ >> -rw-r--r-- 1 xxxxxx users 15749 Aug 11 19:26 INSTALL >> -rwxr-xr-x 1 xxxxxx users 13997 Aug 11 19:26 install-sh* >> -rw-r--r-- 1 xxxxxx users 27662 Aug 11 19:29 Makefile >> -rw-r--r-- 1 xxxxxx users 373 Aug 11 19:26 Makefile.am >> -rw-r--r-- 1 xxxxxx users 28016 Aug 11 19:29 Makefile.in >> -rwxr-xr-x 1 xxxxxx users 6873 Aug 11 19:26 missing* >> -rw-r--r-- 1 xxxxxx users 17 Aug 11 19:26 NEWS >> -rw-r--r-- 1 xxxxxx users 291 Aug 11 19:25 Project.ede >> -rw-r--r-- 1 xxxxxx users 1 Aug 11 19:26 README >> -rw-r--r-- 1 xxxxxx users 30 Aug 11 19:29 stamp-h >> -rw-r--r-- 1 xxxxxx users 23 Aug 11 19:29 stamp-h1 >> -rwxr-xr-x 1 xxxxxx users 12887 Aug 11 19:26 tessi* >> -rw-r--r-- 1 xxxxxx users 27 Aug 11 19:26 test.cc >> -rw-r--r-- 1 xxxxxx users 2928 Aug 11 19:26 test.o >> >> - The program can be run with C-c . R with no error. >> - * Now I close emacs * !! >> >> Step 2 >> ------ >> >> - Start emacs >> - Trying to load the project in 'khl' I get the error: >> >> eieio-persistent-validate/fix-slot-value: Wrong type argument: arrayp, >> nil >> >> - If I toggle the debugger: M-x toggle-debug-on-error RET >> and try to load the project in 'khl' I get >> >> Debugger entered--Lisp error: (wrong-type-argument arrayp nil) >> child-of-class-p(ede-proj-target-makefile-program ede-target) >> eieio-persistent-validate/fix-slot-value(ede-proj-project :targets >> (list (ede-proj-target-makefile-program "tessi" :name "tessi" :path "" >> :source (quote ("test.cc"))))) >> eieio-persistent-convert-list-to-object((ede-proj-project "mmm" :file >> "Project.ede" :name "mmm" :targets (list >> (ede-proj-target-makefile-program "tessi" :name "tessi" :path "" :source >> (quote ("test.cc")))) :makefile-type (quote Makefile\.am))) >> eieio-persistent-read("/home/xxxxxx/projects/khl/Project.ede" >> ede-proj-project) >> ede-proj-load("/home/xxxxxx/projects/khl/") >> #[(this dir) "\303#\304\"\204##\305 !\204##\306\307!\210\303#\310\" >> !\211#\204 #\306\311!\210\312\n!)\207" [this dir o eieio-oref :safe-p >> ede-directory-safe-p error "Attempt to load an unsafe project (bug >> elsewhere in EDE)" load-type "Project type error: :load-type failed to >> create a project" ede-add-project-to-global-list] 4 "Load in the project >> associated with THIS project autoload description.\nTHIS project >> description should be valid for DIR, where the project will\nbe >> loaded."]([object ede-project-autoload "edeproject-makefile" "Make" >> ede/proj "Project.ede" "" unbound nil ede-proj-load ede-proj-project nil >> t nil] "/home/xxxxxx/projects/khl/") >> apply(#[(this dir) "\303#\304\"\204##\305 >> !\204##\306\307!\210\303#\310\" !\211#\204 #\306\311!\210\312\n!)\207" >> [this dir o eieio-oref :safe-p ede-directory-safe-p error "Attempt to >> load an unsafe project (bug elsewhere in EDE)" load-type "Project type >> error: :load-type failed to create a project" >> ede-add-project-to-global-list] 4 "Load in the project associated with >> THIS project autoload description.\nTHIS project description should be >> valid for DIR, where the project will\nbe loaded."] ([object >> ede-project-autoload "edeproject-makefile" "Make" ede/proj "Project.ede" >> "" unbound nil ede-proj-load ede-proj-project nil t nil] >> "/home/xxxxxx/projects/khl/")) >> ede-auto-load-project([object ede-project-autoload >> "edeproject-makefile" "Make" ede/proj "Project.ede" "" unbound nil >> ede-proj-load ede-proj-project nil t nil] "/home/xxxxxx/projects/khl/") >> ede-load-project-file("/home/xxxxxx/projects/khl") >> ede("/home/xxxxxx/projects/khl") >> call-interactively(ede nil nil) >> >> ------------------------------------------------------------------------------ >> >> _______________________________________________ >> Cedet-devel mailing list >> Ced...@li... >> https://lists.sourceforge.net/lists/listinfo/cedet-devel >> |
From: Eric M. L. <er...@si...> - 2014-08-18 11:44:49
|
On 08/18/2014 03:59 AM, Xaver Gerster wrote: > Ok. This fixed it. Thank you. > Since you mention potential future issues of similar nature - where > could I read off from the stack by myself which ede autoload would be > missing? I found it here: >>> ;; Object mmm >>> ;; EDE Project Files are auto generated: Do Not Edit >>> (ede-proj-project "mmm" >>> :file "Project.ede" >>> :name "mmm" >>> :targets (list >>> (ede-proj-target-makefile-program "tessi" ^^^^^^^^^^^^^^^^ and also here: >>> and try to load the project in 'khl' I get >>> >>> Debugger entered--Lisp error: (wrong-type-argument arrayp nil) >>> child-of-class-p(ede-proj-target-makefile-program ede-target) ^^^^^^^^^^^^^^^^^^ and I happened to know it was in ede/proj-prog.el. You can just grep the missing class to see which ede/proj-* file it is in. Eric |
From: <la...@gm...> - 2014-10-06 09:10:12
|
Yup same problem here.. same version, I'm no lisp guy, and got no idea what the problem.. just let you know your not the only one see this problem ! Lachlan |