View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000875 | LDMud | Compilation, Installation | public | 2020-01-12 21:16 | 2020-03-26 09:51 |
| Reporter | Riftsmud | Assigned To | zesstra | ||
| Priority | normal | Severity | crash | Reproducibility | always |
| Status | closed | Resolution | no change required | ||
| Platform | Amazon Lightsail | OS | Ubuntu | OS Version | 16.04.4 |
| Summary | 0000875: Cannot start driver successfully. | ||||
| Description | First, I want to apologize. I am a driver-side noob. I last started a mud driver about 18 years ago and that was an Amylaar LPMUD. So I am struggling to just being able to install the driver, despite reading all the docs included with the LDMUD 3.6.1 files. I was asked to bring back an old mud lib, Riftsmud. I am afraid it may have efuns that have since been depreciated. Have no idea how to correct on my own at this point. Error on starting driver is: 2020.01.12 20:54:30 LDMud 3.6.1 (3.6.1) (release) 2020.01.12 20:54:30 Seeding PRNG from /dev/urandom. 2020.01.12 20:54:30 Attempting to start erq '/home/ubuntu/mud6/bin/erq'. 2020.01.12 20:54:30 [erq] Amylaar ERQ Jan 12 2020: Path 'erq', debuglevel 0 2020.01.12 20:54:30 Hostname 'ip-172-26-15-37' address '172.26.15.37' 2020.01.12 20:54:30 obj/master.c line 74: Unknown efun: file_name before ';'. 2020.01.12 20:54:30 obj/master.c line 508: Undefined function 'strlen' before ' && file[0' . 2020.01.12 20:54:30 obj/master.c line 722: Warning: Casting a value of an unknown type has no effect before end of line. 2020.01.12 20:54:30 obj/master.c line 724: Warning: Casting a value of an unknown type has no effect before end of line. 2020.01.12 20:54:30 obj/master.c line 857: Undefined function 'query_shadowing' before ') for (sh '. 2020.01.12 20:54:30 obj/master.c line 857: Too many arguments to shadow before '; sh; sh = '. 2020.01.12 20:54:30 obj/master.c line 857: Bad assignment (object vs int) before ' sh; sh = '. 2020.01.12 20:54:30 obj/master.c line 858: Too many arguments to shadow before ';'. 2020.01.12 20:54:30 obj/master.c line 877: Warning: Casting a value to mixed has no effect before ',0) ) {'. 2020.01.12 20:54:30 obj/master.c line 1246: Warning: Missing 'return <value>' statement be fore end of line. 2020.01.12 20:54:30 obj/master.c line 1294: Warning: Casting a value of an unknown type ha s no effect before end of line. 2020.01.12 20:54:30 obj/master.c line 1303: Warning: Missing 'return <value>' statement be fore end of line. 2020.01.12 20:54:30 obj/master.c line 1326: Warning: Casting a value of an unknown type ha s no effect before end of line. 2020.01.12 20:54:30 obj/master.c line 1332: Warning: Missing 'return <value>' statement be fore end of line. 2020.01.12 20:54:30 obj/master.c line 1526: Warning: Casting a value of an unknown type ha s no effect before end of line. 2020.01.12 20:54:30 obj/master.c line 1533: Warning: Casting a value of an unknown type ha s no effect before end of line. 2020.01.12 20:54:30 obj/master.c line 1542: Warning: Missing 'return <value>' statement be fore end of line. 2020.01.12 20:54:30 obj/master.c line 1671: Warning: Casting a value of an unknown type ha s no effect before end of line. 2020.01.12 20:54:30 obj/master.c line 1678: Warning: Casting a value of an unknown type ha s no effect before end of line. 2020.01.12 20:54:30 obj/master.c line 1729: Warning: Casting a value of an unknown type ha s no effect before ';'. 2020.01.12 20:54:30 obj/master.c line 1750: Warning: Casting a value of an unknown type ha s no effect before ';'. 2020.01.12 20:54:30 Error in loading object: 'secure/master'. ]Failed to load master object 'secure/master'! 2020.01.12 20:54:30 Failed to load master object 'secure/master'! 2020.01.12 20:54:30 Current object was <null> No program counter. No program to trace. 2020.01.12 20:54:30 LDMud aborting on fatal error. ]Failed to load master object 'secure/master'! We are sorry, but LDMud just crashed. Please report this bug at: https://mantis.ldmud.eu/mantis/ Don't forget to include logs, version information and if a coredump is generated, please store it with the corresponding executable/binary until requested. Last Release: 3.6.1 (Wed Jan 08 23:00:00 2020 +0100) Released by: Gnomi <gnomi@unitopia.de> Current Commit: 3.6.1 Local Level: Homepage: http://www.ldmud.eu/ Aborted (core dumped) ubuntu@ip-172-26-15-37:~/mud6/bin$ 2020.01.12 20:54:31 [erq] read: EOF 2020.01.12 20:54:31 [erq] Read 0, should be 9! 2020.01.12 20:54:31 [erq] Giving up. | ||||
| Steps To Reproduce | ./ldmud from ../mud6/bin directory | ||||
| Tags | No tags attached. | ||||
| External Data (URL) | |||||
|
|
First of all: nice to hear people coming back to muds. Concerning your problem: it is so far a problem with your old mudlib. The efuns file_name() and strlen() just don't exist anymore and therefore the master objekt can't be compiled. You have to replace them (e.g. file_name by object_name and strlen by sizeof). However, this here is not the right place for support questions. My suggestions are: 1) try to work with a mudlib known to work with 3.6.1, e.g. the one we supply to verify the driver works for you and get accustomed. 2) go to the mailing list for discussion with others: https://groups.google.com/d/forum/ldmud-talk 3) you could try your old mudlib with an old driver release (3.3.x oder even 3.2.x). Then you can work your way through the changes and release notes of 3.3.x, 3.5.x and 3.6.x... |
|
|
zesstra, Thank you for responding so quickly. I had already tried 3) before contacting. LDMud 3.2.17 would not compile successfully. On make install, I got the following errors: ./mk-patchlevel.sh ./mk-patchlevel.sh: 5: .: version.sh: not found Makefile:135: recipe for target 'make-patchlevel' failed make: *** [make-patchlevel] Error 2 With LDMud 3.3.720, no errors on compile. However, launching the driver does not create an active port. Only log file entry is: 2020.01.13 01:11:13 LDMud 3.3.720 (Build $Revision$) (stable) |
|
|
Let's focus on LDMud 3.3.720. How do you call it? What does it output? What is in the debug.log? |
|
|
Call the LDmud driver from the bin subdirectory where it was compiled to with indent and erq. Used ./ldmud &, ./ldmud -N &, and also ./ldmud -N -m=<lib path> &. All produce the same message above only. Nothing else. Debug log in the lib directory shows same message. Netstat shows no ldmud process running. Very bizarre. With so little details, hard for me to know where to look. |
|
|
It seems the driver exits sometime during its initialization, but we don't know where and why. Let's try to determine where. In the driver sources take a look at the main.c. We get the message on line 412 (and the console) and on line 459 (in the debug.log), but not from line 599 (that's usually the next output, printing the host name). So I would suggest putting there some debug outputs like printf("I am at line %d\n", __LINE__); between line 459 and 599 to determine where the execution ends. Alternatively use a debugger and step through these lines. |
|
|
Just one comment: Please try to start the driver without '&', let it run in the foreground while we try to get it running. |
|
|
Hi Gnomi, I did as you said and slowly worked down to where the error is located in main.c. It is right after the start-up of the erq daemon. It is line: initialize_host_ip_number(hostname, hostaddr); <-- THIS ONE free(hostname); hostname = NULL; free(hostaddr); hostaddr = NULL; printf message shows before it. printf message does not show immediately after it. Hostname and hostaddr values at this point are (null). |
|
|
Please try to start the driver with the following options: --hostname localhost --hostaddr 127.0.0.1 If it does work, you can try to only give hostname and not hostaddr. And your host has a real name you can then try to give that instead of localhost. |
|
|
Gnomi, Thank you. This worked, but only to find that this driver has similar problems to the 3.6 for me. It has depreciated the lfuns file_name and filter_array. Master.c crashes without them. Thus, I am back to the three options, except this time needing to figure out the version.sh error in 3.2. |
|
|
Working with 3.3.720 needs far fewer changes than 3.6.1, believe me. I would suggest now trying to adapt your mudlib to 3.3.720. Sadly there is no guide for upgrading from 3.2 to 3.3. So we have to look at the error messages happening. For the efun file_name(), there is now object_name(). For filter_array() there is now filter(). You'll need to change them in your master, but you can supply a simul-efun for the rest of your mudlib. |
|
|
I will close the issue for now, since it is no error in the driver itself and discussion seems to have stopped. However, you are welcome to discuss with us and other users on the mailing list: https://groups.google.com/d/forum/ldmud-talk |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2020-01-12 21:16 | Riftsmud | New Issue | |
| 2020-01-12 21:42 | zesstra | Note Added: 0002501 | |
| 2020-01-13 01:23 | Riftsmud | Note Added: 0002502 | |
| 2020-01-13 12:58 | Gnomi | Note Added: 0002503 | |
| 2020-01-13 14:27 | Riftsmud | Note Added: 0002504 | |
| 2020-01-13 14:48 | Gnomi | Note Added: 0002505 | |
| 2020-01-13 14:55 | Gnomi | Note Added: 0002506 | |
| 2020-01-14 00:16 | Riftsmud | Note Added: 0002514 | |
| 2020-01-14 00:24 | Gnomi | Note Added: 0002515 | |
| 2020-01-14 03:19 | Riftsmud | Note Added: 0002516 | |
| 2020-01-14 09:33 | Gnomi | Note Added: 0002517 | |
| 2020-03-26 09:51 | zesstra | Assigned To | => zesstra |
| 2020-03-26 09:51 | zesstra | Status | new => closed |
| 2020-03-26 09:51 | zesstra | Resolution | open => no change required |
| 2020-03-26 09:51 | zesstra | Note Added: 0002522 |