|  09-07-2013, 07:08 AM | #16 | |
| Connoisseur            Posts: 97 Karma: 90350 Join Date: Aug 2013 Location: Berlin, Germany Device: PB 622, PB 623 | Quote: 
 Are you sure about the segfault? All the program should do when it can't open the PTY is call CloseApp() and die. Well, I'll go through all the destructors to check if there's anything that could be responsible.. Best regards, Jens | |
|   |   | 
|  09-07-2013, 12:11 PM | #17 | 
| Wizard            Posts: 3,067 Karma: 18821071 Join Date: Oct 2010 Location: Sudbury, ON, Canada Device: PRS-505, PB 902, PRS-T1, PB 623, PB 840, PB 633 | 
			
			Well, it segfaults if I run it from a utelnetd session or from poterm.app itself.  Then I can see what gets printed out.  I don't actually know that it crashes in the same place when run from the Application tab.  Anyway, here's what I can see when it runs in either of the command-lines above: bash-4.1$ ./pbterm.app Atached mp shm: id 0 addr 404ed000 size 17260 Atached mqueue: id 8001 attach_shm: mtfb key=251331154 size=1028432 Atached mtfb shm: id 58006 addr 404f6000 size 1028432 ndepth:2 hqdepth:4 attach_shm: ref key=2130378752 size=993600 Atached ref shm: id 8001 addr 405f2000 size 993600 allocated 500912 bytes for ecmd Segmentation fault P.S. I tried to get gdb working on the PB device, but it relies on ncurses to handle the inputs, and that doesn't seem to work inside the utelnetd session unfortunately. Maybe I'll see if gdbserver can get around this somehow. | 
|   |   | 
|  09-07-2013, 03:23 PM | #18 | 
| Wizard            Posts: 3,067 Karma: 18821071 Join Date: Oct 2010 Location: Sudbury, ON, Canada Device: PRS-505, PB 902, PRS-T1, PB 623, PB 840, PB 633 | 
			
			I managed to get pbterm.app to run via gdbserver.  The segfault occurs in Term::get_shell_output().  I'll need a debugging version of pbterm.app to know more than that.
		 | 
|   |   | 
|  09-08-2013, 07:52 AM | #19 | |
| Connoisseur            Posts: 97 Karma: 90350 Join Date: Aug 2013 Location: Berlin, Germany Device: PB 622, PB 623 | Quote: 
 http://users.physik.fu-berlin.de/~jt...1-debug.tar.gz It contains the application, compiled with "-O0 -g3". Please let me know if you need it compiled in some other way or additional information. Once I got my WLAN stuff running (but I fear that will have to wait until a new firmware version is out) I'll sk you for help with the reprroducing the setup you've got there (telnet/gdbserver) - that sounds great! Best regards, Jens | |
|   |   | 
|  09-08-2013, 04:18 PM | #20 | 
| Wizard            Posts: 3,067 Karma: 18821071 Join Date: Oct 2010 Location: Sudbury, ON, Canada Device: PRS-505, PB 902, PRS-T1, PB 623, PB 840, PB 633 | 
			
			It's hard to tell with the remote debugging, but it looks like the segfault occurs during the read() because m_pty_fd = -1.  I think the function should probably check the file descriptor value first, but in the end, without the pty working properly, nothing correct is ever going to happen anyway, so maybe getting a segfault at that point isn't any worse than just failing gracefully.
		 | 
|   |   | 
|  09-08-2013, 05:19 PM | #21 | |
| Connoisseur            Posts: 97 Karma: 90350 Join Date: Aug 2013 Location: Berlin, Germany Device: PB 622, PB 623 | Quote: 
 But then I'm also surprised that you get to the get_shell_output() function if 'm_pty_fd' is negative - that's checked when the PTY is opened and on failure (or other problems) CloseApp() is called. Looks like my assumption that, like exit(), it would terminate the program immmediately, is wrong. I'll put something in that avoids this situation. Thanks for making me aware of this possibility! Best regards, Jens PS: The modified version is now available for download. Last edited by jtt; 09-08-2013 at 05:30 PM. | |
|   |   | 
|  09-08-2013, 06:03 PM | #22 | 
| Wizard            Posts: 3,067 Karma: 18821071 Join Date: Oct 2010 Location: Sudbury, ON, Canada Device: PRS-505, PB 902, PRS-T1, PB 623, PB 840, PB 633 | 
			
			I'm not 100% sure that when I call 'step' within gdb in the remote system that it takes just one step.  I'm new to remote debugging, so maybe it's not behaving as I expect. Anyway, the new pbterm-1.3 version still segfaults, so perhaps it is occurring somewhere else than in the read() function call. I'm not sure it's really worth pursuing, since without the pty working, the program will not work anyway. I'll write up some notes on using gdbserver later and put them in a new thread in this PB/Developer section. That way, you and others can try it if you like. | 
|   |   | 
|  09-08-2013, 06:18 PM | #23 | ||
| Connoisseur            Posts: 97 Karma: 90350 Join Date: Aug 2013 Location: Berlin, Germany Device: PB 622, PB 623 | Quote: 
 Quote: 
 Best regards, Jens | ||
|   |   | 
|  09-08-2013, 07:08 PM | #24 | 
| Connoisseur            Posts: 97 Karma: 90350 Join Date: Aug 2013 Location: Berlin, Germany Device: PB 622, PB 623 | 
			
			Hi rkomar, I just tried to reproduce the SIGSEGV on my machine by setting 'm_pty_fd' to -1 (instead of opening the master side of the PTY), but had no luck in catching any signals as a result, the program seems to exit just normally and as expected. So, at the moment I'm out of ideas what else to try - perhaps the software on your device is too different from that on mine:-( Best regards, Jens | 
|   |   | 
|  09-10-2013, 01:32 PM | #25 | 
| Connoisseur            Posts: 97 Karma: 90350 Join Date: Aug 2013 Location: Berlin, Germany Device: PB 622, PB 623 | 
				
				New version 1.4
			 
			
			Hi, a new version is available (see links in my first post). Beside internal code reorganization the following things have changed in the interface: a) The program now comes with an (english) keyboard layout file that adds the missing '|' key. Use of the layout is optional and any other can be used (e.g. by setting your favourite layout in the configuration file). b) A tap on the lower left hand corner of the screen (about a quarter of the screens width and height) brings up the on-screen menu, seems more convenient to me than using a long tap. c) Also the "Ctrl-D" control character can now be send (to end a program that waits for further input). Use with care since, if send to the shell (instead of to a program started via the shell), the shell itself exits an thus the whole program. Best regards, Jens | 
|   |   | 
|  09-15-2013, 03:29 PM | #26 | 
| Zealot            Posts: 117 Karma: 37584 Join Date: Nov 2012 Location: Milan / Italy Device: pocketbook touch 622 | 
			
			hi jtt i used version 1.4. with the 4.2 firmware you must use pbterm.kbd, otherways you can't type more than 4 characters in the command window. comment or not pbterm.cfg file doesn''t change the behaviour thanks   | 
|   |   | 
|  09-15-2013, 06:09 PM | #27 | |
| Connoisseur            Posts: 97 Karma: 90350 Join Date: Aug 2013 Location: Berlin, Germany Device: PB 622, PB 623 | Quote: 
 Best regards, Jens | |
|   |   | 
|  09-17-2013, 06:27 AM | #28 | 
| Connoisseur            Posts: 97 Karma: 90350 Join Date: Aug 2013 Location: Berlin, Germany Device: PB 622, PB 623 | 
				
				Version 1.5 available
			 
			
			Hi, there's a new version that now uses a set of pipes for communication with the shell as a fallback for the case that a pseudoterminal can't be used due to permission issues. In that case the shell can't do job control and sending it control characters is disabled since the shell doesn't recognize them. Best regards, Jens | 
|   |   | 
|  09-17-2013, 09:05 AM | #29 | |
| Zealot            Posts: 117 Karma: 37584 Join Date: Nov 2012 Location: Milan / Italy Device: pocketbook touch 622 | Quote: 
 The only 'uncomfortable' things is that if I want to use other keyboards I've to move the pbterm.kbd away and then move it back once i did with those layouts. To comment pbterm.cfg still has no effect May be you can add the preference to the pop-up dialog with history & ctrl keys? thanks  Paolo Last edited by paolog; 09-17-2013 at 11:29 AM. | |
|   |   | 
|  09-17-2013, 02:15 PM | #30 | |
| Connoisseur            Posts: 97 Karma: 90350 Join Date: Aug 2013 Location: Berlin, Germany Device: PB 622, PB 623 | 
				
				And here's version 1.6
			 
			
			Hi Paolo, Quote: 
 You can now also disable the use of the custom keyboard completely by putting nothing on the right side of the colon in "keyboard_file" entry in the confguration file. In an ideal world I would have prefered to be able to switch from the custom keyboard to the default keyboard(s) from within the on-screen keyboard. Unformtunately, the "language button" doesn't seem to work in custom keyboard layouts:-( Best regards, Jens | |
|   |   | 
|  | 
| Thread Tools | Search this Thread | 
| 
 | 
|  Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post | 
| Terminal-Programm für PB622 und 623 | jtt | PocketBook | 9 | 09-15-2013 11:56 AM | 
| New user questions PB622 | muntesco | PocketBook | 2 | 02-02-2013 08:29 AM | 
| Zeiteinstellungen PB622 | fr3d | PocketBook | 5 | 07-11-2012 01:00 PM | 
| wlan mit pb622 | sebigbos | PocketBook | 13 | 07-11-2012 09:03 AM | 
| Tastatursperre PB622 | fr3d | PocketBook | 1 | 07-03-2012 03:20 AM |